Wep programcılığında mail işlemi son derece önemli bir işlemdir . Bir online satış sitesi yaptığınızda yeni bir ürün satıldığında site sahibine, müşteriye bir bilgilendirme maili göndermeniz gerekir yada sitenize üye olan kullanıcıların doğrulanması için bir aktivasyon maili kullanmanız gerekebilir.
PHP de mail gönderebilmeniz için php scriptlerini çalıştırdığınız sunucuda bir mail sunucusunun kurulu olması gereklidir.Eğer linux tabanlı bir makinede çalışıyorsanız muhtemelen postfix,sendmail veya qmail gibi popüler mail sunucularından biri sistemde yüklüdür.Eğer windows tabanlı bir makinede çalışıyorsanız SMTP mail sunucusunu kurmanız gereklidir.
PHP de mail işlemleri oldukça kolay yapıdadır , tüm mail işlemleri mail adında bir fonksiyonda toplanmıştır.
<?php mail('samet@deneme .com','konu','mesajımız'); ?>Bu şekilde bir kod ile [email protected] adresine bir mail göndermiş oluyorsunuz. Eğer mail sunucunuzun ve domain ip adresleri black listlere düşmediyse yolladığınız mail kişinin gelen kutusunda gözükecektik. Aksi taktirde gönderdiğiniz mail spam olarak gözükecektir. Mail sunucuları spam olarak belirledikleri adresleri kendi aralarında paylaşarak yayarlar bunun için aşırı derecede mail göndermeniz black list e düşmenize neden olabilir.
Üsteki kodlarda maili kimin gönderdiğini belirlemedik bu şekildeki kullanımlarda maili gönderen kişi sizin mail sunucunuzun root adresi olarak gözükecektir.
<?php $kime = 'samet@deneme. com'; $konu = 'mail gönderimi'; $mesaj = 'Merhaba samet'; $headers = 'From: Samet ATABAŞ <info@gençbilişim.net>'; mail($kime,$konu,$mesaj,$headers); ?>;Burada info@gençbilişim.net adresinden [email protected] adresine bir mail gönderdik.Mailin kimden geldiğini belirtmek için mail fonksiyonunun 4. paremetresini kullanıyoruz. Gönderen kişiyi belirtmek için From: belirtecini kullanıyoruz. 4. parametrede kullanabileceğimiz parametreler şu şekilde sıralana bilir.
From: samet@gençbilişim.net Gönderilen mailin hangi mail adresinden gönderildiğini belirler
From:Samet ATABAŞ Gönderilen mailin hangi mail adresinden gönderildiğini belirler
Cc: mail@gençbilişim.net Gönderilen mailin kopyasının gönderileceği adresi belirler
Cc: mail Gönderilen mailin kopyasının gönderileceği adresi belirler
Bcc: mail2@gençbilişim.net Gönderilen mailin gizli kopyasının gönderileceği adresi belirler
Bcc: mail2 Gönderilen mailin gizli kopyasının gönderileceği adresi belirler
Reply-To: cevap@gençbilişim.net Gönderilen maile cevapla denildiğinde buradaki adrese cevap gelir
Reply-To: Cavap Gönderilen maile cevapla denildiğinde buradaki adrese cevap gelir
X-Mailer: PHP Maili gönderen yazılım
Content-Type: Gönderilen mailnin karakter seti
Html Mail GöndermekHtml mail göndermek için aşağıdaki gibi bir kodlama yapabiliriz.
&lt;?php $kime = 'a@gmail. com,b.gmail. com'; $konu = 'html mail'; $mesaj = ' &lt;html&gt; &lt;head&gt; &lt;title&gt;Mail BAşlığı&lt;/title&gt; &lt;meta http-equiv="Content-Type" content="text/html; charset=utf-8" /&gt; &lt;/head&gt; &lt;body&gt; mesaj içeriği &lt;/body&gt; &lt;/html&gt; '; $headers = 'From: Samet ATABAŞ &lt;samet@gençbilişim.net&gt;'."\r\n"; $headers .= 'To: Ali &lt;ali@deneme. com&gt;'."\r\n"; $headers .= 'Cc: veli@deneme. com'."\r\n"; $headers .= 'Bcc: ayse@deneme. com'."\r\n"; $headers .= 'Content-Type:text/html; charset=utf-8'."\r\n"; mail($kime,$konu,$mesaj,$headers); ?&gt;Yukarıdaki örnekte gördüğünüz gibi $kime değişkeninde mail adreslerini virgül ile ayırarak birden fazla kişiye mail gönderebiliyoruz.Mailin html olarak gönderilmesini sağlayan kısım “Content-Type:text/html; charset=utf-8” dir bu kod mailin tipini belirleyen kısımdır.
Mail gönderimi için sunulan bazı framework lerde mevcut bunlar arasında en iyisi ve en yayğın olanı PHPMailer dir.Bira başka yazımda da PHPMailer kullanımından bahsedeceğim.