AWS SES ile E-Mail Gönderimi


Amazon’un email gönderme servisi olan SES ile email göndermek çok kolay, ancak işin içine attachment girince biraz kasıntı olabiliyor. Şimdi PHP ile AWS’nin SES’ine kulak veriyoruz.aws-ses

Öncelikle attachment olayı için pear’ı ve pear’ın Mail_Mime package’ini projemize dahil ediyoruz. Bunu composer üzerinden dahil etmek için şu gist‘i inceleyebilirsiniz.

$mailmime = new Mail_mime("rn");
$mailmime->setTxtBody("Selam, mail içeriğini buraya yazdık.n");
$mailmime->setHTMLBody("Selam, html içeriğini buraya yazdık.");
$mailmime->addAttachment($file); // $file => dosyanın sunucudaki yolu

$mime_params = array (
'text_encoding' => '7bit',
'text_charset' => 'UTF-8',
'html_charset' => 'UTF-8',
'head_charset' => 'UTF-8'
);
$body = $mailmime->get($mime_params); // Türkçe maillerde sorun çıkmaması için

$headers = $mailmime->txtHeaders(array('From' => 'gonderenmailadresi@example.com', 'Subject' => "AWS SES qeyfi", 'Content-Type' => 'text/html; charset=UTF-8'));
$message = $headers . "rn" . $body;

$ses = new AmazonSES();
$result = $ses->send_raw_email(array('Data' => base64_encode($message)), array('Destinations' => 'mailin_gidecegi_kisi@example.com'));

if ($result->isOK())
{
print("Mail gonderildi; id: " . (string) $result->body->SendRawEmailResult->MessageId . "n");
}else{
print("Mail gonderilemedi; Çünkü " . (string) $result->body->Error->Message . "n");
}

Bir diğer yöntem şu gist‘teki gibi (denemedim). Ancak bu yöntem çok daha sade ve düzenli geliyor bana.Zaten Amazon blogunda da bu yöntem üzerinden anlatıyor.

Reklamlar

2 thoughts on “AWS SES ile E-Mail Gönderimi

  1. Merhaba Mustafa bey, amazon ses ile gönderim yapabileceğimz php mail kodunu tamamını paylaşma şansınız varmı acaba ? include edilecek safyalara erişlmiyorda.

    • Merhaba, gist linki yanlis olmus duzelttim. Ordan lazim olan package’leri dahil edebilirsiniz. Kod zaten ornekteki gibi.

      Bu arada aws sdk’sini da dahil etmeyi unutmayin, composer.json sadece pear arsivini nasil dahil edecegimizi gostermek icindi 😉

Bir Cevap Yazın

Aşağıya bilgilerinizi girin veya oturum açmak için bir simgeye tıklayın:

WordPress.com Logosu

WordPress.com hesabınızı kullanarak yorum yapıyorsunuz. Log Out / Değiştir )

Twitter resmi

Twitter hesabınızı kullanarak yorum yapıyorsunuz. Log Out / Değiştir )

Facebook fotoğrafı

Facebook hesabınızı kullanarak yorum yapıyorsunuz. Log Out / Değiştir )

Google+ fotoğrafı

Google+ hesabınızı kullanarak yorum yapıyorsunuz. Log Out / Değiştir )

Connecting to %s