Trimiterea unui email cu Mandrill


Pentru a folosi Mandrill (vedeţi articolul anterior despre MailChimp şi Mandrill) trebuie desigur să aveţi un cont. Depăşim această etapă. Aveţi deci contul, v-aţi logat, e timpul să trecem la treabă. Şi vom merge în meniu la Outbound, apoi Compose Message, doar de dragul distracţiei, pentru că nu cred că v-aţi dorit să folosiţi Mandrill pentru a scrie emailuri unul câte unul. Apropo: Mandrill poate fi folosit cu clienţi desktop de emailuri – detalii aici. Revenind, opţiunea de a compune un mesaj e mai mult de dragul testelor. Desigur, vom folosi Mandrill programând expediţiile.

imagine

Pentru aceasta ne uităm la API-ul oferit. Mai exact, dacă vreţi să vedeţi cum să trimiteţi un email, mergeţi aici. Vom vedea un JSON de cerere de expediţie de email, şi respectiv un JSON de răspuns (două chiar: unul când expediţia a reuşit şi altul când a eşuat). Urmează explicaţia parametrilor. Nu am să reproduc aici documentaţia, evident. Aşa că să vedem cum anume trimitem un email. Nu o vom putea face fără o cheie. Logaţi fiind (ar trebui să fiţi pe MandrillApp.com), daţi click pe rotiţă şi alegeţi SMTP & API Credentials. Jos de tot veţi găsi secţiunea cu chei pentru API. Click pe buton şi adăugaţi o cheie. Puteţi avea mai multe multe chei, de exemplu pe proiecte diferite (dar proiectele se cumulează toate în limitele planului pe care îl folosiţi – respectiv 12.000 emailuri pe lună pentru planul gratuit).

imagine

Şi acum nu vă mai pun răbdarea la încercare ci vă ofer direct codul pe care l-am folosit eu din PHP ca să trimit un email. Evident, răspunsul la funcţia scrisă mai jos e JSON – verificăm dacă a dat vreo eroare sau nu. Şi… atât. Aproape atât, pentru că desigur aici avem doar o expediţie de bază. Madrill permite mult mai mult, plus că nu doar via PHP. Iar parametrii puşi de mine sunt la minim. Vedeţi documentaţia pentru mai multe opţiuni.

function trimiteEmail($subiect,$continut,$destinatar){
	$args = array(
		'key' => 'XXXXXXXXXXXXXXXXXXXXXXXXXX',
		'message' => array(
			"html" => $continut,
			"text" => null,
			"from_email" => "tehnic@situlmeu.ro",
			"from_name" => "Tehnic Situl Meu",
			"subject" => $subiect,
			"to" => array(array("email" => $destinatar)),
			"track_opens" => true,
			"track_clicks" => true,
			"auto_text" => true
		)   
	);
	$curl = curl_init('https://mandrillapp.com/api/1.0/messages/send.json' );
	curl_setopt($curl, CURLOPT_POST, true);
	curl_setopt($curl, CURLOPT_SSL_VERIFYPEER, false);
	curl_setopt($curl, CURLOPT_HEADER, false);
	curl_setopt($curl, CURLOPT_RETURNTRANSFER, true);
	curl_setopt($curl, CURLOPT_HTTPHEADER, array('Content-Type: application/json'));
	curl_setopt($curl, CURLOPT_POSTFIELDS, json_encode($args));
	$response = curl_exec($curl);
	curl_close( $curl ); 
	return $response;
}

$rasp=trimiteEmail($titlu,$continut,$adresa);
$jrasp=json_decode($rasp, true);
if($jrasp[0]["status"]=="sent"){
	// a fost trimis cu succes!
}


Apreciază articolul:

1 stea2 stea3 stea4 stea5 stea (1 evaluări, media: 5,00 din 5)
Loading...Loading...

0 comentarii


Lasă un răspuns

Adresa ta de email nu va fi publicată. Câmpurile necesare sunt marcate *