Bir arkadaşım bana bir maili birden çok adrese nasıl gönderebileceğini sordu, bende kısaca aşağıdaki kodu yazdım;
<?php
/*
* Zaman sınırını 0 yaparak programın kendi isteğimiz dışında
* durdurulmasını engelliyoruz.
*/
set_time_limit(0);
$fromName = "Uzuner Muzuner"; // Kimden
$fromAddress = "muzmehmet@gmail.com"; // Kimden Adresi
$replyTo = "muzmehmet@gmail.com"; // Cevap nereye gelsin
$confirmRead = "muzmehmet@gmail.com"; // Okundu mesajları nereye dönsün
$konuBasligi = "test mesajı"; // Konu Başlığı
$icerik = "<html><body>.....</body></html>"; // HTML bir mail yarat.
/*
* Şuradan indirebilirsin;
* http://code.google.com/a/apache-extras.org/p/phpmailer/
*/
require("class.phpmailer.php");
$mail = new PHPMailer();
$mail->CharSet = "UTF-8";
/*
* SMTP Ayarları, kendi ayarların ile değiştirmen gerekiyor.
*/
$mail->IsSMTP(1);
$mail->SMTPDebug = 2;
$mail->SMTPAuth = 1;
$mail->Host = "mail.yourdomain.com"; // SMTP Sunucu Adresi
/*
* TTNet 25. portu kapatıyor, eğer scripti lokalde çalıştıracaksan
* 587 ile değiştirmek isteyebilirsin, eğer GMail üzerinden göndereceksen
* 993 veya 965 gibi bir porta bağlanman gerekecek, ancak GMail
* SSL bağlantısı istiyor, daha önce kullanmadım, sıkıntı çıkartır mı
* bilemiyorum.
*/
$mail->Port = 25;
$mail->Username = "muzmehmet@gmail.com"; // Kullanıcı Adı
$mail->Password = "sifreMifre"; // Şifre
/*
* Hata mesajları dili, Türkçe olması lazım, dosyalara bakarsın.
*/
$mail->SetLanguage("en", PATH."/engine/phpmailer/language/");
$mail->Subject = $konuBasligi;
/*
* HTML mail göndereceksek IsHTML(1), göndermeyeceksek IsHTML(0)
*/
$mail->IsHTML(1);
$mail->Body = $icerik;
$mail->AltBody = strip_tags($icerik);
$mail->SetFrom($fromAddress, $fromName);
$mail->AddReplyTo($replyTo);
$mail->ConfirmReadingTo = $confirmRead;
/*
* Buradan sonrası dosya işlemleri. Her email adresini dosyada ayrı bir
* satıra yazmak gerekiyor. Dosya ebatlarının sınırı hakkında bir fikrim
* yok, ama daha çok PHP'nin hafıza limiti kadar olur diye tahmin
* ediyorum. O da yaklaşık 128MB falan olması lazım.
*/
$adresler = file("adresListesi.txt"); // Her adres ayrı satırda olacak.
foreach ($adresler as $adres) {
$mail->AddAddress($adres);
if ($mail->Send()) {
echo $adres." -> OK!\n";
} else {
echo $adres." -> Bir hata oluştu -> ".$mail->ErrorInfo."\n";
}
$mail->ClearAllRecipients();
}
?>
daha sonra bu scripti mail.php olarak kaydedin. Yanına adresListesi.txt dosyasını da koyduktan sonra ister browserdan, isterseniz komut satırından
php-cgi mail.php
komutunu vererek çağırabilir ve kullanabilirsiniz.
Spam yapmanın yeni yasa ile *cezaya tabi* olduğunu hatırlatır, sadece size izin vermiş kişilere mail atmanızı rica ederim!
Incoming search terms:
- php nasil mail gönderilir
- sürü mail