anasayfa
iletişim
twitter'da ben
rss besleme

Wordpress SMTP mail eklentisi: WPSMR

admin: 3 Haziran 2009 | kategori: Php, Projelerim | 12 yorum var

Bir önceki yazımda Windows sunucularda IIS üzerinden yayın yapan sitelerin php ile gelen mail() fonksiyonunu kullanma gibi bir sorunu olduğundan bahsetmiştim ve bu konuyu nasıl çözebileceğimizi göstermiştim. Bu işlemi Wordpress üzerinde uygulamak isteyenler tek tek Wordpress kodlarında düzenleme yapmak istemezler tahminimce. Zaten Wordpress mail göndermek için phpmailer kullanıyor, tek yapmamız gereken SMTP ayarlarını aktive eden ve host, port, kullanıcı adı ve şifre tanımlamalarını yapan bir eklemedir. İşte hazırladığım bu eklenti aynen bu işe yarıyor. Bu arada ilk eklentim oluyor kendileri.

Özellikleri

  1. Harici SMTP sunucusu üzerinden mail gönderebilme
  2. SMTP doğrulaması yaparak mail gönderebilme
  3. Mail gönderiminde SSL şifreleme
  4. Mail gönderiminde TLS şifreleme
  5. Gönderen adresini ayarlayabilme
  6. Gönderen adı olarak değer girebilme
  7. Değişik portları kullanabilme

Eklenti tek dosyadan oluşuyor; içinde ne ek bir dosya ne ek bir okubeni metni bulunuyor. Gerekli Javascriptleri falan hep tek bir dosyada derledim. Tek yapmanız gereken wp_smr.php dosyasını wp-content/plugins klasörine yüklemektir.

Kurulum bu kadar, şimdi sıra eklentiyi etkinleştirmekte ve gerekli ayarları girmekte. İlk olarak Wordpress yönetim panelimizdeki Eklentiler > Yüklü Eklentiler sayfasına gidip WPSMR yazan eklentiyi etkinleştirmeliyiz. Etkinleştirdikten sonra Wordpress Yönetim Panelindeki Ayarlar > Eposta sayfasına gitmeliyiz. Bu sayfada gerekli sunucu bilgilerini gireceğiz.

Gönderen Adı ve Adresi: bu kısım gönderilecek olan epostalarda from kısmında görünecektir. Eğer herhangi bir ayar girmezseniz wordpress@blogadresiniz.org şeklindeki adres üzerinden gönderilecek ve isim kısmında blog sahibinin ismi yazacaktır.

SMTP Ayarları: Eğer üstteki işaret kutularında SMTP seçili ise bu ayarları görebileceksiniz. Oradaki iki boşluktan ilkine mail.blogadresiniz.org tarzında bir smtp sunucusu girmelisiniz, bu örnekte olduğu gibi büyük ihtimalle mail. ile başlar ancak bazı durumlarda smtp. ile de başlayabiliyor. Diğer küçük boşluğa portu gireceksiniz ki bu da büyük ihtimalle 25′dir ancak bazı durumlarda 587 yada daha farklı birşey olabiliyor.

Şifreleme: Bu kısımda ister SSL ister TLS şifreleme seçebilirsiniz ya da hiç birşey seçmeden normal şifresiz gönderebilirsiniz. Benim önerim şifresiz gönderin.

Doğrulama: Bu seçenek sayesinde direk bir eposta adresi üzerinden yani sunucunun kök ateşleyicisini kullanmadan eposta gönderimi yapabilirsiniz. Bunu doldurabilmek için eposta hesabı oluşturmalısınız ve buradaki gerekli alanlara şifre ve kullanıcı adını girmelisiniz.

Tüm ayarları yaptıktan sonra “Ayarları Güncelle” tuşuyla kaydedin ve herşeyi eklentiye bırakın.

Sonuç

Bu eklenti sadece Wordpress’in iç mail fonksiyonunu tanımlanan değerlere göre düzenler ve SMTP sunucusunu kullanarak bildiri epostaları, yeni kullanıcı uyarısı vs. gibi mesajları sorunsuz bir şekilde göndermenizi sağlar. Kullanın.

etiketler: , , , , , , , , , , , , , ,

Php üzerinden SMTP onaylı mail gönderme

admin: 31 Mayıs 2009 | kategori: Php | 14 yorum var

Bazı sunucular güvenlik nedeniyle php ile gelen mail() fonksiyonunu engellerler. Bu durum spam’e engel olmak ya da sunucu üzerine binen yükü azaltmak için konulmuş olabilir. Her neyse, bizim yapmaya çalıştığımız smtp sunucusu üzerinden bir hesap kullanarak php ile mail göndermektir. Bu konuda bahsedeceğim ek fonksiyon ile mailleri php ile smtp üzerinden gönderebilirsiniz: phpmailer. İsterseniz ek olarak ssl kullanarak mailleri şifreleyebilirsiniz.

Mail formunuzu hazırladğınızı ve formun action kısmındaki php dosyasında olduğunu varsayarak;

    require_once("class.phpmailer.php");

    $mail = new PHPMailer(); //nesneyi oluşturuyoruz

    $mail->IsSMTP(); //smtp kullanmak için
    $mail->Host = "mail.microturk.net"; //mail sunucunuz
    $mail->Port = 587; //25. portta olabilir
    $mail->SMTPAuth = true; //onayı aktive ediyoruz
    $mail->Username = "posta@microturk.net"; //kullanılacak eposta adresi
    $mail->Password = "micromicrobaba"; //şifre
    $mail->From = $_POST['eposta']; //formdan gelen mail adresi
    $mail->Fromname = $_POST['isim']; //formdan gelen isim
    $mail->AddAddress("ataturk@microturk.net","Mustafa Kemal Atatürk");
    $mail->Subject = $_POST['konu']; //formdan gelen konu
    $mail->Body = $_POST['mesaj']; //formdan gelen mesaj

    if(!$mail->Send())
    {
    echo 'Gönderim Hatası: ' . $mail->ErrorInfo;
    exit;
    }

    echo 'Mesaj başarıyla gönderildi';

Eğer hazır örneği görmek istiyorsanız bu sayfayı, bilgisayarınıza indirerek kendinize göre düzenlemek için bu sayfayı ziyaret edin.

etiketler: , , , , ,