PHP ile Mail Göndermek

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('[email protected] .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 = '[email protected] com';

$konu = 'mail gönderimi';

$mesaj = 'Merhaba samet';

$headers = 'From: Samet ATABAŞ <[email protected]çbilişim.net>';

mail($kime,$konu,$mesaj,$headers);

?>

Burada [email protected]ç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: [email protected]ç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: [email protected]ç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: [email protected]ç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: [email protected]ç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öndermek

Html mail göndermek için aşağıdaki gibi bir kodlama yapabiliriz.

<?php

$kime = '[email protected] com,b.gmail. com';

$konu = 'html mail';

$mesaj = '

<html>

<head>

<title>Mail BAşlığı</title>

<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />

</head>

<body>

mesaj içeriği

</body>

</html>

';

$headers = 'From: Samet ATABAŞ <[email protected]çbilişim.net>'."\r\n";

$headers .= 'To: Ali <[email protected] com>'."\r\n";

$headers .= 'Cc: [email protected] com'."\r\n";

$headers .= 'Bcc: [email protected] com'."\r\n";

$headers .= 'Content-Type:text/html; charset=utf-8'."\r\n";

mail($kime,$konu,$mesaj,$headers);

?>

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.

Samet ATABAŞ

Sakarya Üniversitesi Bilgisayar ve Öğretim Teknolojileri Öğretmenliği Mezunu.PHP Developer

Bir Yorum Yazın

This site uses Akismet to reduce spam. Learn how your comment data is processed.