În acest tutorial am de gând să vorbesc despre serviciul Amazon simplu de e-mail (SES) și trece peste câteva moduri în care o puteți utiliza. SES este un serviciu de e-mail la ieșire, ceea ce înseamnă că vă va permite să trimiteți prin el e-mailuri.
De ce ai nevoie de un serviciu de e-mail? Ei bine, cu mulți furnizori de servicii de găzduire, trimiterea unei mulțimi de e-mail-uri (poate aveți o mulțime de clienți folosind magazinul dvs. web) poate fi o problemă, deoarece gazdele au tendința de a avea limitări. Alternativa standard este de a utiliza Gmail pentru a trimite e-mailuri, cu toate acestea, care are și limitări. Aici intră SES așa cum este proiectat pentru acest scop precis. SES face trimiterea de e-mail-uri mai fiabile și, folosind o atingere de magie, ajută și e-mailurile dvs. să evite dosarele SPAM.
Când vă înscrieți la Amazon, puteți folosi nivelul lor gratuit timp de 12 luni. Nivelul gratuit vă va oferi acces la toate serviciile Amazonului, dar cu limitări corecte. De exemplu, SES este limitat la 2.000 de mesaje pe zi dacă optați pentru găzduirea lor EC2.
În caz contrar, costul este de 0,10 USD pe mia de mesaje. Ei consideră un singur mesaj ca un mesaj pentru un singur destinatar. Deci, dacă trimiteți un e-mail la 1000 de adrese de e-mail, acesta vă va costa 10 cenți în dolari.
Atașarea fișierelor costă 0,12 USD pe GB.
În prezent există două modalități de a utiliza SES:
Lucrează diferit; SMTP vă permite să conectați direct la serverul de e-mail, în timp ce metoda API vă permite să trimiteți e-mailuri prin serviciul SES AWS. În acest tutorial vom acoperi utilizarea serverului SMTP prin intermediul unui plugin WordPress, apoi (pentru cei mai îndrăzneți dintre dvs.) vom analiza utilizarea API-ului SDK.
Înainte de a face ceva, avem nevoie de un cont la SES. Acest lucru vă va arăta cum să vă pregătiți contul și să trimiteți e-mailuri utilizând consola.
Înainte de a putea utiliza SES, trebuie să vă înscrieți pentru un cont Amazon Web Services - este necesar un card de credit, chiar și pentru planul gratuit. Pentru a vă înscrie, trebuie să accesați http://aws.amazon.com/ses, să urmați instrucțiunile de pe ecran și să finalizați câțiva pași de confirmare a identității.
După ce v-ați înscris, veți avea acces la toate serviciile Amazon.
Indiferent dacă utilizați serviciul în nisip sau în producție, va trebui să vă verificați adresa "De la". Puteți găsi mai multe informații despre verificarea adreselor de e-mail în documentația de ajutor.
Odată ce ați primit un e-mail, puteți solicita accesul la producție. Acest lucru vă va permite să trimiteți e-mailuri la adrese de e-mail neconfirmate. Numărul de e-mailuri pe care le puteți trimite pe zi va fi ridicat.
Notă: Este înțelept să jucați în modul sandbox înainte de a trimite e-mailuri reale.
În timp ce Amazon nu are în prezent un plugin oficial, există totuși pachete de la terți care pot face acest lucru. În acest exemplu vom folosi un plugin numit Amazon SES DKIM Mailer. Acesta este un plugin genial, compatibil cu diferite servicii de e-mail, inclusiv Amazon SES. Aceasta înseamnă că, dacă ați decis să nu rămâneți la SES, atunci nu trebuie să vă schimbați site-ul, ci doar detaliile conexiunii.
Acest plugin vine, de asemenea, cu suport pentru DomainKeys Identified Mail (DKIM). DKIM este despre Reputație; prin semnarea e-mailurilor dvs. cu acest lucru, puteți împiedica e-mail-urile să se îndrepte direct spre dosarul junk.
Luat de la documentația plug-in pe WordPress:
După cum am discutat mai devreme, pentru a utiliza Amazon SES într-un mediu din lumea reală, va trebui să aplicați pentru accesul la producție. Fără aceasta, nu veți putea trimite e-mailuri la adrese pe care nu le controlați.
Pentru a profita de DKIM, va trebui să generați o cheie publică și privată și să încărcați cheia privată pe serverul dvs. (vă recomandăm să o denumiți ".htkeyprivate" și să o plasați în rădăcina site-ului și să setați permisiunile la 400 sau 440).
Pentru utilizatorii de Windows există multe generatoare de chei online pentru a ajuta la acest lucru. Pe un server linux sau pe un Mac puteți genera propriile taste DKIM cu o parolă de "change-me" folosind următoarea comandă terminal:
openssl genrsa -des3 -passout pass: schimbare-me -out .htkeyprivate 1024 && openssl rsa -in .htkeyprivate -passin pass: change-me -pubout -out .htkeypublic
Pentru DKIM, setați o înregistrare DNS TXT ca:
HOST: your-selector._domainkey.example.com. Valoarea TXT: v = DKIM1; k = rsa; g = *; s = e-mail; h = SHA1; t = s; p = dvs. public-cheie;
Utilizați testele integrate pentru a verifica dacă blogul dvs. poate trimite în mod corespunzător e-mailuri (semnat DKIM).
Pentru a vă asigura că pluginul este setat să funcționeze cu AWS SES, există câteva setări care trebuie configurate (consultați captura de ecran de mai sus).
Acum puteți folosi pluginul Trimiteți un mesaj de testare. După ce ați primit e-mailul, sunteți complet gata să îl utilizați.
Pentru utilizatorii mai avansați, în această secțiune vă voi arăta cum să trimiteți un e-mail utilizând SDK-ul. Acest lucru va fi folosind PHP, cu toate acestea, există SDK-uri pentru alte limbi, de asemenea.
Mai întâi trebuie să instalați SDK-ul. Pentru PHP există câteva moduri de a face acest lucru; Compozitor, Phar, Zip și PEAR. Pentru acest tutorial vom folosi Composer, pe care va trebui să îl instalați mai întâi. Odată ce ați instalat programul Composer, ar trebui să îl puteți accesa din interfața de comandă (CLI).
Creați un fișier în rădăcina proiectului dvs. numit "composer.json", aici vă veți pune configurația. Apoi adauga:
"necesită": "aws / aws-sdk-php": "2. *"
Dacă ați folosit "composer.phar" atunci puteți face php installer.phar install
sau pe ferestre compozitorul instala
. În proiectul dvs. puteți adăuga apoi cereți "/path/to/sdk/vendor/autoload.php";
Acum că ați făcut acest lucru, aveți acces la toate API-urile produsului pe care le oferă AWS. Aceasta înseamnă că acum puteți trimite e-mailuri. Deci, ce aveți nevoie?
Iată un exemplu:
utilizați Aws \ Ses \ SesClient; cereți "vânzător / autoload.php"; $ client = SesClient :: fabrică (array ('key' => 'AWS_KEY', 'secret' => 'AWS_SECRET_KEY', 'regiune' => 'us-east-1')); $ emailSentId = $ client-> sendEmail (array (// Sursa este obligatorie 'Source' => '[email protected]', // Destinatia este necesara 'Destination' => array ('ToAddresses' => @@mail.com)), // Mesajul este solicitat 'Mesaj' => Array (// Subiectul este necesar 'Subject' => Array (// Datele sunt necesare 'Data' => => 'UTF-8',), // Corpul este necesar 'Body' => array ('Text' => array (// Datele sunt obligatorii 'Data' => > 'UTF-8',), 'Html' => array (// Datele sunt necesare 'Date' => 'Emailul meu HTML',' Charset '=>' UTF-8 ',),),' ReplyToAddresses '=> array (' [email protected] '),' ReturnPath '=>' [email protected] '));
Să trecem prin asta. Mai întâi am adăugat utilizarea spațiului de nume pentru a face codul să pară mai curat. Apoi am adăugat fișierul autoload.php al compozitorului.
Pentru a trimite într-adevăr un fișier, trebuie să facem un client. Aceasta se face prin utilizarea SES Client Factory. Acest lucru poate lua multe setări diferite, dar minimul de care avem nevoie este cheia, secretul și regiunea. Puteți găsi cheia și secretul în Consola de administrare IAM. Regiunea este regiunea pe care ați utilizat-o pentru SES.
Cu asta aveți acum configurația clientului și sunteți gata să plecați. Acum puteți utiliza clientul pentru a apela Trimite email
. Există și alte metode pe care le puteți apela și puteți găsi mai multe informații despre ele în documentația de ajutor.
Trimite email
metoda ia un singur parametru care este o matrice. Această matrice necesită anumite date în cadrul acesteia; de exemplu, sursa este necesară și trebuie să fie o adresă pe care ați validat-o în contul dvs. pentru a permite trimiterea de e-mailuri.
Odată ce ați pus e-mailurile pe care doriți să le utilizați și ați adăugat conținutul e-mailului dvs. puteți rula acum scriptul și veți fi trimis primul e-mail!
Indiferent de traseul de implementare pe care îl luați, sper că acest tutorial ți-a încântat interesul și te-a încurajat să te uiți la Amazon SES! Dacă întâmpinați probleme la utilizarea SES, nu ezitați să cereți sfaturi în comentariile dvs..