MAİL GÖNDERME İŞLEMLERİ
PHP de çeşitli yöntemlerle mail gönderebiliriz.
Bunlardan bazılar
mail fonksiyonu (PHP içersindeki kütüphane)
SMTP ( Simple Mail Transfer Protocol)
MAİL GİTMEME SEBEPLERİ
Server üzerinde çok fazla mail gönderimi
Spam liste girme (çok fazla mail göndermekten kaynaklı)
Serverda mail gönderme yasagı olabilir
Serverda mail gönderme limiti olabilir.
Mail adresinin yanlış yazılması
MAİL GÖNDERİRKEN DİKKAT EDİLMESİ GEREKENLER
Hem php hemde mail kodlama standartlarına dikkat edilmesi gereklidir.
Mail standartları ile kodlama yanlış yapılırsa mailiniz anlamsız veya gitmeyebilir
Mail gönderme sisteminde kesinlikle güvenlik açıgı bulunmamalı eğer bulunursa hacker vb. İnsanlar sisteminiz üzerinden spam mail gönderir. Bu yüzdende spam liste girersiniz ve mailleriniz başkalarına ulaşmaz.
Eğer sunucumuz (serverimiz) türkiye içersindeyse stmp portu 25 değil 587 numaralı port ile degiştirilmelidir.
Örnek kod:
<?php mail(“gidecek@mail.com”,”konu”,”mesaj”); ?>
(Linux serverda çalışır)
Bu kodlama öğrenim amaçlı yapılmış olup bir çok sunucuya gitmiyebilir. Sunucunun kendi içindeki mail adreslerine mail ulaşır.
Değişken yöntemiyle yapılmış kodlama
<?php $kime = “nurettin@tasarimrehberi.com”; $konu =”deneme maili”; $mesaj=”yazi icregi”; $headers = “from: nurettin sezer <gonderenadres@hotmail.com>”; mail($kime,$konu,$mesaj,$headers); ?>
Bu kodda üstteki fonksiyonun değişkenlere atanmış versiyonudur. Bu kodda linux serverda çalışır.
Mail fonksiyonunda extra bilinmesi gereken kodlar:
Cc: mailin kopyası gidecek adres
Bcc: mailin kopyasının gizli olarak gidecegi adres
Reply-To : Mailin gittigi adreste cevap verebilecegi adres
X-Mailer-PHP : Maili gönderen yazılımın tanımı
Content-Type: Mailin karekter seti. (Latin5 veya utf8 gibi)
PHPMAILER FRAMEWORK
Bir çok sunucuya mail gönderilimi yapılırken bir çok extra ayar yapılması gereklidir. Bu ayarlardan kurtulmak için phpmailer framework kullanırız. Bu framework ile smtp,gmail gibi sistemleri kullanarak mail gönderim işlemi yaparız.
Bu eklentiyi aşagıdaki adresten indirebilirsiniz.
http://phpmailer.sourceforge.net
Örnek phpmailer framework kullanımı:
<?php
require_once('class.phpmailer.php');
$mail = new PHPMailer();
$mail->CharSet='utf-+8';
$body = '<h1>Başlık</h1> buraya mesaj yazılır';
$mail->SetFrom('gonderici@hotmail.com','gonderen ismi');
$address = “gidecekadres@hotmail.com”;
$mail->AddAdress($address,”Gidecek kişi ismi”);
$mail->Subject = 'mailin konusu';
$mail->AltBody=”text mesajımız”;
$mail->MsgHTML($body);
if(!$mail->Send())
{
echo “mail gönderilmedi”;
}
else
{
echo “mail gönderildi”;
}
?>
Kaynak:
Mail işlemleri
