când trimiteți un e-mail, un expeditor interacționează cu un destinatar în același timp. Dar când aveți de-a face cu e-mailuri tranzacționale sau e-mailuri în bloc în aplicația dvs., acestea nu pot fi trimise toate în același timp. E-mailurile sunt puse pe o coadă SMTP care oferă stocare temporară înainte de procesare. Atunci când destinatarul este capabil de a primi e-mail, acestea sunt trimise. Aici, vom afla de ce ați opta pentru coada de e-mail în aplicația dvs. și cum se poate face acest lucru.
ce este o coadă de e-mail?
o coadă de e-mail este o componentă obligatorie a serverelor SMTP. Este un sistem care creează o serie de e-mailuri care așteaptă să fie procesate pentru livrare. Coada de e – mail este o formă de coadă de mesaje-o comunicare asincronă serviciu-serviciu. O coadă de mesaje este menită să decupleze un proces de producție de unul consumator. O coadă de e-mail decuplează expeditorul de destinatar. Le permite să comunice fără a fi conectați. Ca atare, e-mailurile din coadă așteaptă procesarea până când destinatarul este disponibil pentru a le primi.
puteți privi o coadă de e-mail ca un tampon în care e-mailurile sunt stocate înainte de a atinge punctul final. În același timp, expeditorul nu trebuie să trimită fiecare mesaj separat. Comunicarea dintre expeditor și destinatar este asincronă. Odată ce e-mailurile au fost solicitate, acestea sunt livrate pas cu pas. De obicei, serverul SMTP începe de la începutul cozii și merge mai departe.
cum funcționează cozile de e-mail
Să presupunem că lansați o campanie de e-mail care conține 100 de destinatari. Clientul dvs. de e-mail interacționează cu serverul SMTP pentru a trimite mesajul. Serverul, la rândul său, interacționează cu serverele SMTP de pe gazdele destinatarilor pentru a transmite e-mailul. Deoarece trimiteți 100 de e-mailuri, serverul SMTP de pe gazda dvs. le pune la coadă. Majoritatea serverelor de e-mail folosesc un agent de transfer de e-mail (MTA) numit sendmail pentru a efectua trimiterea efectivă. Vom aborda diferențele dintre acești doi termeni în secțiunea următoare. MTA va trimite periodic toate mesajele în coadă până la finalizare. Dacă serverul SMTP al destinatarului nu răspunde, sendmail va trimite periodic e-mailuri. În acest caz, coada de e-mail se transformă în coada sendmail. De obicei, clientul dvs. de e-mail va fi notificat despre acest tip de problemă. Dacă coada sendmail nu reușește să fie livrată într-un anumit termen (de exemplu, cinci zile), e-mailul va fi returnat.
– un server de mail un sistem informatic care trimite și primește mesaje electronice folosind protocoale de e-mail. Pentru diferența dintre protocoalele de e-mail, consultați postarea pe blog: SMTP vs.IMAP vs. POP3.
– un server SMTP este parte a serverului de mail care se ocupă de e-mail de ieșire. Acolo este implementată cea mai mare parte a cozii prin e-mail.
– un agent de transfer de e-mail sau MTA este un tip specific de software care cozile de e-mail și se mută-l de-a lungul unui lanț de livrare până când lovește un agent de livrare Mail (Mda).
de ce cozile de e-mail se înfundă și cum să remediați
atunci când faceți corespondență în masă, serverul SMTP pune mesajele trimise automat într-o coadă de e-mail. Ele sunt trimise unul câte unul din acest tampon. Este un proces regulat, care este destul de benefic pentru campaniile de e-mail. În același timp, e-mailurile din coadă pot deveni o problemă atunci când așteaptă să fie trimise pentru o perioadă anormal de lungă (depinde de serviciul pe care îl utilizați). E-mailurile din coadă nu vor fi returnate. Acestea vor fi trimise oricum, dar timpul de livrare poate fi redus semnificativ. Și aici sunt cele două motive de bază pentru care:
depășit volumul de e-mailuri
unii furnizori de cutie poștală (cea mai mare parte cele mai importante, cum ar fi Gmail sau Yahoo) impune limite rata de e-mail pe adrese IP. Limitele se bazează pe reputația expeditorului. Dacă ați depășit această rată și ați pus la coadă prea multe e-mailuri, viteza de livrare va scădea. De asemenea, puteți atinge dimensiunea maximă a atașamentului de e-mail, care poate fi și un factor de frână. Singura soluție este să contactați serverul de intrare cât mai frecvent posibil pentru a împinge coada. Ori de câte ori un IP depășește limita de e-mailuri, serverul SMTP răspunde cu un cod de eroare (de exemplu, 421) la orice comandă. Puteți citi mai multe despre comenzile SMTP și codurile de răspuns în postarea noastră pe blog. De asemenea, este recomandat să optați pentru o adresă IP dedicată în loc de o opțiune partajată pentru a maximiza viteza fluxului de e-mail.
probleme legate de Spam
un alt motiv comun este că e-mailul dvs. a fost blocat de filtrele de spam. Nu intrați în panică! Filtrele vor lăsa e-mailurile să treacă treptat pentru a analiza modul în care ceilalți destinatari reacționează la mesaj. Dacă există progrese lente, este în regulă. Campania dvs. de e-mail este observată și evaluată. Dacă este blocat, ar putea exista diferite motive, inclusiv blocarea adresei IP. În acest caz, trebuie să vă deconectați și să vă optimizați campania de e-mail. Citiți postarea noastră pe blog despre cum să evitați e-mailurile care merg la spam.
pe lângă aceste cauze fundamentale, o coadă poate fi înfundată din alte motive pe care ar trebui să le descoperiți cu furnizorul dvs. de e-mail.
gestionarea cozilor de e-mail
gestionarea unei cozi de e-mail este o sarcină ușoară dacă utilizați un panou de control al serverului precum cPanel. Acesta oferă WebHostManager (WHM) să se ocupe de o grămadă de lucruri. Și dacă nu o faci? Deoarece nu avem nicio idee despre serverul de poștă pe care îl utilizați, să verificăm comenzile pentru cei mai utilizați agenți de transfer de poștă: Postfix și Exim.
Command | Postfix | Exim |
List the queued emails | postqueue -p |
exim -bp |
Reattempt delivery of all queued emails | postqueue -f |
exim -q -v |
Remove all queued emails | postsuper -d ALL |
exiqgrep -z -i | xargs exim -Mrm |
Remove a particular queued email | postsuper -d "Queue ID”postsuper -d <message-id> |
exim -Mrm <message-id> |
coadă de e-mail în aplicația dvs.
de obicei, serverele SMTP au un sistem de gestionare a cozilor încorporat. Aceasta este o opțiune dacă campania dvs. de e-mail are sute de destinatari. Dar, uneori, este mai bine să aveți o coadă de e-mail chiar în aplicația dvs. Iată câteva cazuri când este benefic:
- dacă un utilizator face acțiuni asincrone, cum ar fi trimiterea de notificări la 1000 de contacte, ar fi foarte lent fără a utiliza coadă sau sarcină de fundal.
- dacă aplicația este de urmărire, să spunem, limita de megaocteți pe lună, și doriți să trimiteți o notificare despre 70%/80%/90% limita ajunge. Se poate întâmpla rapid pentru o utilizare ridicată, astfel încât coada este necesară pentru a trimite un singur e-mail unui utilizator în loc să trimită trei e-mailuri pe eveniment.
- dacă trebuie să trimiteți mai mult de 10K e-mailuri tranzacționale sau în vrac în fiecare zi.
coada SMTP ar putea să nu fie suficientă pentru a gestiona aceste sarcini. De aceea ar trebui să optați pentru o arhitectură rafinată de trimitere a e-mailurilor. Se bazează pe sistemul asincron pentru a trimite e-mailuri, care va coadă mesaje înainte de a ajunge la serverul de mail. Acesta este modul în care se poate uita la un nivel superior:
aici puteți vedea trei procese majore:
extinderea lucrătorilor să pună în aplicare cereri în bloc pentru e-mailuri stocate în baza de Date
worker extinde cererile în vrac pentru fiecare destinatar. Acest lucru împinge e-mailurile la coada de e-mail.
coada de e-mail este implementată prin intermediul sistemului de așteptare prin e-mail
nu este o coadă SMTP. E-mailurile sunt puse pe o coadă, dar nu pe serverul de e-mail. Fără o coadă, aplicația dvs. va încerca să trimită mii de e-mailuri simultan. Ca urmare, o lipsă de memorie sau de timp pentru a procesa cererea ar provoca accident. Când utilizați un sistem de așteptare prin e-mail, cum ar fi ActiveMQ sau RabbitMQ, e-mailurile sunt în coadă și procesate în loturi.
mail trimiterea lucrător trimite e-mailuri în coadă la serverul de e-mail
acest lucrător ia de fapt e-mailuri de la coadă și le trimite la serverul de e-mail. Dacă răspunsul serverului este negativ, e-mailul este împins într-o coadă de eroare, care fie le retrimite mai târziu, fie anulează livrarea. Depinde de tine să stabilești scenariul. E-mailurile livrate cu succes pot fi arhivate.
Testați-vă sistemul de așteptare prin e-mail cu un server SMTP fals
după ce ați configurat această arhitectură avansată de trimitere a e-mailurilor, nu uitați să o testați. Un server SMTP fals ca Mailtrap este un instrument perfect pentru acest lucru. Nu este un instrument pentru a testa serverul SMTP. Deci, nu îl veți putea folosi pentru a testa coada de e-mail SMTP. Dar dacă aveți coada de e-mail implementată înainte de serverul de e-mail, atunci Mailtrap poate fi utilizat. Acesta oferă toate acreditările necesare, cum ar fi portul, metoda de autentificare, și așa mai departe. De asemenea, puteți beneficia de integrări gata de utilizare pentru cele mai comune stive de tehnologie. Deci, trebuie doar să copiați o bucată de cod și să o lipiți în aplicația dvs.
începe testarea
Failsafe este un alt beneficiu de a folosi un server SMTP fals. E-mailurile dvs. tranzacționale sau de marketing vor fi transmise către un server POP3 fals. Aceasta exclude orice spam către utilizatori reali. De asemenea, evitați orice probleme legate de configurarea necorespunzătoare, autentificarea și așa mai departe. În cele din urmă, dacă aplicația dvs. funcționează bine, veți vedea e-mailul în căsuța de e-mail Demo.
Wrapping up
deci, takeaway cheie aici este că coada de e-mail are două fețe ale monedei. Primul este pozitiv. E-mail și SMTP coadă decuplează procesele de trimiterea și primirea de e-mailuri. Acest lucru este util pentru cazurile de corespondență în vrac sau în masă. Partea negativă este că un e-mail în coadă este adesea asociat cu un eșec care întârzie trimiterea mesajului. În același timp, acum știți cum să faceți față acestor preocupări și să profitați cel mult de coada de e-mail.
Dacă v-a plăcut acest articol, vă rugăm să împărtășiți și să răspândiți cuvântul. Vom aprecia cu adevărat.