MailChimp daha doğrusu Mandrill ile mail gönderimi

Standard

Hatırlayacaksınız yakın zamanda MailChimp API V2 ile Sisteme kullanıcı eklemek üzerine bir makale yazmıştım.. Şimdi ise mailChimp üzerinden mail gönderme işlemine değineceğim. MailChimp mail gönderme işlemleri için Mandrill adında bir hizmet sunmakta bizlere. Bizde kısa yoldan bunu inceleyeceğiz..

Öncelikli olarak mandrill kullanıcı adı şifreniz ile giriş yapıp sisteme daha sonra bir api key oluşturun kendinize. Burada sunucunuzun ip adresine tanımlayın ki bu api dışardan kötü niyetli kişiler tarafından kullanılamasın.. Daha sonra sıra geldi Mandrill kodlarını indirmeye.

Son sürümünü buradan indirip zip dosyasını açınız. Kaynak kodları projenize ekleyiniz ve kodlarda çağıralım

<?php
require_once 'projem/includes/Mandrill.php';
$mandrill = new Mandrill('API_KEY');
?>

 

Sırada gönderme işlemi var..

$mails[] = array('email' => 'gidecek_kisi@siyyah.com', 'name' => 'Gidecek Kişi','type' => 'to');
            
            foreach($mails as $key => $val)
            {

                try {
                    $mandrill = new Mandrill('API_KEY');
                    $message = array(
                        'html' => $mesaj,
                        'subject' => $konu,
                        'from_email' => 'info@siyyah.com',
                        'from_name' => 'Siyyah',
                        'to' => array($val) 
                    );
                    $async = true;
                    $result = $mandrill->messages->send($message, $async);
                    
                } catch(Mandrill_Error $e) {
                    echo 'Mail Servisi mandrill hata döndürdü ve işlem tamamlanamadı: ' . get_class($e) . ' - ' . $e->getMessage();
                    throw $e;
                }
            }

Aslında detay çoktu da ben kafa karıştırmasın diye biraz burada sadeleştirdim.

to kısmında gideni tanımlarken fark ettiyseniz array içinde tanımladım. Burada birden fazla adresi de yazabilirsiniz ben kişiye özel mail yolladığım için tek tek yollattım, eğer tek mail herkese gidecekse zaten döngü içinde kullanmanıza gerek yok bu işlemi..

Birde 10 taneden sonra sıraya ekliyor async false yapsanız bile.. Bulk mail olmaması adına zaten hepsini tek seferde yollamamanızı öneririm..

Kolay gelsin herkese..

Print Friendly, PDF & Email
Facebooktwitterlinkedin

5 thoughts on “MailChimp daha doğrusu Mandrill ile mail gönderimi

  1. Ahmet

    merhaba ben bu apiyi kullaranak verı tabanındakı 5000 kısıye etkınlık duyurularını haftada 2 kez atmak ıstıyorum maıl adreslerını mysqlden buraya array seklınde nasıl alırım acaba

    • Onur Canalp

      Dataları okuduktan sonra while ile dönerken array e atabilirisiniz. sonrası zaten aynı.. Tabi haftada iki kere yollama işlemini de ister cronjob a bağlayın ister sitenizde bir yere gömün ama cron daga sağlıklı olur..

      Mysql den data okuma ve yazma konusuna hakim değilseniz yazmış olduğum diğer makalelere göz gezdiriniz..

  2. alican

    Aslında arraya atmaya bile gerek yok sanırım $mailler = mysql_query(“sorgu”);
    olarak direk olarak alabilirsiniz mailleri, sadece sorgu kısmında yalnızca mail adreslerini alacak şekilde filtre eklemelisiniz.

  3. Onur

    Merhaba Onur Bey,

    Ben toplu mail gönderiminde şunu eklemek istiyorum nasıl yapabilirim

    Mesela bir bayram kutlaması toplu mesaj atacağım ama kişiye özelmiş gibi olacak örnek veriyorum

    Sayın, Onur Can Alp

    Sayın, dan sonraki ismi sistem yazacak yani kimlere gönderiyorsam hepsine otomatik olarak ismi kendi yazmasını istiyorum

Bir yanıt yazın

E-posta adresiniz yayınlanmayacak. Gerekli alanlar * ile işaretlenmişlerdir