Sardunya | PHP, MySQL, Ajax, Html, Css, Seo

Hotmail, Yahoo, Mynet Inbox’ına email düşürmek

by atayalgec on Nis.22, 2009, under PHP

Mail servislerinin inboxlarına email düşürmek son zamanlarda çok önemli bir hal almaya başladı. Zira, servisler kendilerini spam konusunda ilerlettikçe, kendi aralarında yerel bir ağa dönüştürdüler email iletişimini. Belli başlı en çok kullanılan servislerin uzantısına veya alt yapısına sahip hesaplar dışındakiler çoğunlukla spam email gönderme potansiyeli olan hesap olarak algılanıyor ve spam, önemsiz gibi klasörlerde gönderdikleri mesajlar yer buluyor.

Hal böyle olunca, sitelerden email göndermek çok zorlanıyor. Bu durumu çözebilmek için PTR kayıtı gibi önçalışmalar yapılabiliyor fakat kesin sonuç vermiyor.

Bu iş için en kalıcı ve kesin çözüm şu anda SMTP kullanmak gibi gözüküyor. Fakat kendi serverınızın smtplerini kullanırsanız, muhtemelen popüler servis sağlayıcılarından biri olmadığınız için yinede filtreye takılma şansınız yüksek.

O halde, popüler ve smtp kullanımına izin veren bir servis bulmalıyız. Gmail!

Gmail smtp bağlantısı için hazırlanmış ücretsiz bir classı (PHPMailer) buradan indirebilirsiniz.

PHPMailer Class ile örnek bir email gönderelim:

PHP:
  1. require_once('class.phpgmailer.php');
  2.  
  3. $mail = new PHPGMailer();
  4. $mail->SetLanguage("tr","language/");
  5. $maill->CharSet="iso-8859-9";
  6.  
  7. $mail->Username = 'kullaniciadi@gmail.com';
  8. $mail->Password = 'gmailsifreniz';
  9.  
  10. $mail->From = 'kullaniciadi@gmail.com';
  11. $mail->FromName = 'Kullanici Adi';
  12. $mail->Subject = 'Email Basligi';
  13. $mail->AddAddress("gonderilecek@emailadresi.com");
  14. $mail->Body = "Gönderilecek mesaj.";
  15. $mail->Send();

En önemli nokta, Gmail günlük yalnızca 1000 tane email gönderebilmenize izin verir. Fakat buda birden çok hesap kullanılarak aşılabilir tabiki.

PHP:
  1. require_once('class.phpgmailer.php');
  2.  
  3. // 4 hesap kullanalım, yani maksimum 4000 mail gönderebileceğimiz bir altyapı.
  4. $hesap[0]='kullaniciadi0@gmail.com';
  5. $sifre[0]='gmailsifresi0';
  6. $hesap[1]='kullaniciadi1@gmail.com';
  7. $sifre[1]='gmailsifresi1';
  8. $hesap[2]='kullaniciadi2@gmail.com';
  9. $sifre[2]='gmailsifresi2';
  10. $hesap[3]='kullaniciadi3@gmail.com';
  11. $sifre[3]='gmailsifresi3';
  12.  
  13. // Veritabanından gelen toplam email sayısı
  14. $toplamemail=3587;
  15.  
  16. for ($i=0;$i<$toplamemail;$i++) {
  17. $tbol=floor($i/1000);
  18.  
  19. $mail = new PHPGMailer();
  20. $mail->SetLanguage("tr","language/");
  21. $mail->CharSet="iso-8859-9";
  22.  
  23. $mail->Username = $hesap[$tbol];
  24. $mail->Password = $sifre[$tbol];
  25.  
  26. $mail->From = $hesap[$tbol];
  27. $mail->FromName = $hesap[$tbol];
  28. // Gönderilecek mesajın bilgileride for döngüsünde alınarak, aşağıda ki kısım otomatik doldurulur.
  29. $mail->Subject = "Email Basligi";
  30. $mail->AddAddress("gonderilecek@emailadresi.com");
  31. $mail->Body = "Gönderilecek mesaj.";
  32. $mail->Send();
  33. }

:, , , , , ,

8 Yorum yazilmis.

  • How I Lost Thirty Póunds in Thirty Days

    Hi, interesting post. I have been pondering this topic,so thanks for posting. I’ll definitely be coming back to your posts. Keep up the good posts

  • Mert İşbilir

    Öncelikle; emeÄŸinize, yüreÄŸinizi, bileÄŸinize saÄŸlık üstad. Fakat .zip’in içinde eksik bir dosya var class.smtp.php isminde. Düzenlerseniz, bundan sonra indirecek kiÅŸiler hatasız kullanabilirler.

    Devamını hep bekliyoruz. Emeğe saygı!

    Sevgiler, saygılar

  • Mert İşbilir

    Üstad yine rahatsız ediyorum fakat, 24. satırda hata mevcut. parantez kapatmayı unutmuşsunuz.

  • admin

    @Mert: Teşekkür ederim, eksikleri ve koddaki unuttuğum yeri düzelttim.

  • Ramazan

    böyle bir hata alıyorum. İlk örneği kullandım localde deniyorum ondan olabilirmi.
    Fatal error: Class ‘SMTP’ not found in C:\wamp\www\gmailsmtp\class.phpgmailer.php on line 535

  • hakan

    uzun zamandır aradığım bir konuydu. çok teşekkür ederim yalnız küçük bir ayrıntı kafama takıldı.

    siz 4 hesap eklemişsiniz daha da arttırılabilir ama bu hesapları rastgele mi yoksa sırayla mı kullanıyor. yani, bir hata mesajı filan göremedim, diğer hesaba nasıl geçiyor? 1000 mailde mi diğer hesaba atlıyor, yoksa gmailden red cevabı gelince mi diğer hesaba atlıyor? teşekkürler

  • fatih

    bu class.phpgmailer.php dosyası ne yapacaz ben anlamadım? :( phpmailerin içindeki class.phpmailer.php dosyasının içindekileri bununla mı değiştirecez? açıklarsanız çok sevinirim.

  • Mustafa Mutlu

    nasıl kurulduğu hakkında bilgi verebilirmisiniz? detayli şekilde.

Yorumlar

Arama

Bir anahtar kelime girerek aramaya baslayabilirsiniz :

 

Tavsiye Linkler

Sardunya.org'un destekledigi ve begendikleri