Når du sender en e-mail, interagerer en afsender med en modtager på samme tid. Men når du beskæftiger dig med transaktions-e-mails eller bulk-mails i din app, kan de ikke alle sendes på samme tid. E-mails sættes på en SMTP-kø, der giver midlertidig opbevaring inden behandling. Når modtageren er i stand til at modtage e-mail, sendes de. Her finder vi ud af, hvorfor du vælger e-mail-kø i din app, og hvordan dette kan gøres.
Hvad er en e-mail-kø?
en e-mail-kø er en obligatorisk komponent i SMTP-servere. Det er et system, der skaber en række e-mails, der venter på at blive behandlet til levering. E – mail-kø er en form for Meddelelseskø-en asynkron service-til-service-kommunikation. En meddelelseskø er beregnet til at afkoble en producerende proces fra en forbrugende. En e-mail-kø afkobler afsenderen fra modtageren. Det giver dem mulighed for at kommunikere uden at være forbundet. Som sådan venter de e-mails i kø på behandling, indtil modtageren er tilgængelig for at modtage dem.
Du kan se på en e-mail-kø som en buffer, hvor e-mails gemmes, før de rammer slutpunktet. Samtidig behøver afsenderen ikke at sende hver besked separat. Kommunikationen mellem afsender og modtager er asynkron. Når e-mails er blevet forespurgt, leveres de trin for trin. Normalt starter SMTP-serveren fra begyndelsen af køen og går fremad.
Sådan fungerer e-mail-køer
lad os sige, at du starter en e-mail-kampagne, der indeholder 100 modtagere. Din e-mail-klient interagerer med SMTP-serveren for at sende beskeden. Serveren interagerer igen med SMTP-servere på modtagernes værter for at videresende e-mailen. Da du sender 100 e-mails, sætter SMTP-serveren på din vært dem i kø. De fleste mailservere bruger en mailoverførselsagent (MTA) kaldet sendmail til at udføre den faktiske afsendelse. Vi berører forskellene mellem disse to udtryk i næste afsnit. MTA sender med jævne mellemrum alle meddelelser i kø, indtil de er afsluttet. Hvis modtagerens SMTP-server ikke reagerer, sender sendmail gentagne gange e-mails. I dette tilfælde bliver e-mail-køen til sendmail-køen. Normalt vil din mailklient blive underrettet om denne slags problemer. Hvis sendmail-køen ikke leveres i løbet af en bestemt periode (for eksempel fem dage), returneres e-mailen.
– en mailserver et computersystem, der sender og modtager elektroniske meddelelser ved hjælp af e-mail-protokoller. For forskellen mellem e-mail-protokoller henvises til blogindlægget: SMTP vs. IMAP vs. POP3.
– en SMTP-server er den del af mailserveren, der håndterer udgående post. Det er her e-mail-kø er for det meste implementeret.
– En Mail transfer agent eller MTA er en bestemt type program, der køer e-mail og flytter den langs en leveringskæde, indtil den rammer en Mail Delivery Agent (MDA).
hvorfor e-mail-køer bliver tilstoppede, og hvordan du løser det
når du laver masseforsendelse, sætter SMTP-serveren dine udgående meddelelser automatisk i en e-mail-kø. De sendes en efter en fra denne buffer. Det er en regelmæssig proces, der er ret gavnlig for e-mail-kampagner. Samtidig kan e-mails i kø blive et problem, når de venter på at blive sendt i unormalt lang tid (afhænger af den service, du bruger). E-mails i kø vil ikke blive hoppet. De vil blive sendt alligevel, men leveringstidspunktet kan reduceres betydeligt. Og her er de to centrale grunde til det:
overskredet mængden af e-mails
nogle postkasseudbydere (for det meste de største som Gmail eller Yahoo) håndhæver e-mailhastighedsgrænser på IP-adresser. Grænserne er baseret på afsenderens omdømme. Hvis du overskred denne sats og stod i kø for mange e-mails, vil leveringshastigheden falde. Du kan også nå den maksimale e-mail-vedhæftningsstørrelse, hvilket også kan være en bremsefaktor. Den eneste løsning er at kontakte den indgående server så ofte som muligt for at skubbe køen. Når en IP overskrider grænsen for e-mails, svarer SMTP-serveren med en fejlkode (for eksempel 421) til enhver kommando. Du kan læse mere om SMTP-kommandoer og svarkoder i vores blogindlæg. Det anbefales også at vælge en dedikeret IP-adresse i stedet for en delt mulighed for at maksimere hastigheden på din e-mail-strøm.
spam-relaterede spørgsmål
En anden almindelig årsag er, at din e-mail er blevet busted af spamfiltre. Gå ikke i panik! Filtrene lader e-mails gradvist passere for at analysere, hvordan resten af modtagerne reagerer på meddelelsen. Hvis der er langsomme fremskridt, er det okay. Din e-mail-kampagne bliver observeret og vurderet. Hvis den sidder fast, kan der være forskellige grunde, herunder blokering af din IP-adresse. I dette tilfælde skal du fjerne dig selv og optimere din e-mail-kampagne. Læs vores blogindlæg om, hvordan du undgår e-mails, der går til spam.
udover disse grundlæggende årsager kan en kø tilstoppes af andre grunde, som du skal finde ud af med din mailudbyder.
håndtering af e-mailkøer
håndtering af en e-mailkø er en nem opgave, hvis du bruger et serverkontrolpanel som cPanel. Det giver
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> |
e-mail-kø i din app
normalt har SMTP-servere et indbygget køstyringssystem. Dette er en mulighed, hvis din e-mail-kampagne har hundredvis af modtagere. Men nogle gange er det bedre at have en e-mail-kø lige i din app. Her er nogle tilfælde, hvor det er gavnligt:
- hvis en bruger foretager async-handlinger som at sende meddelelser til 1000 kontakter, ville det være meget langsomt uden at bruge kø eller baggrundsopgave.
- hvis din app sporer, lad os sige grænsen for megabyte om måneden, og du vil sende en meddelelse om 70%/80%/90% grænse rækkevidde. Det kan potentielt ske hurtigt for en vis høj brug, så kø er nødvendig for kun at sende en e-mail til en bruger i stedet for at sende tre e-mails pr.
- hvis du har brug for at sende mere end 10k transaktions-eller bulk-e-mails hver dag.
SMTP-køen er muligvis ikke nok til at håndtere disse opgaver. Derfor skal du vælge en raffineret e-mail-sendearkitektur. Det er baseret på asynkront system til at sende mails, som vil kø beskeder, før de når mailserveren. Sådan kan det se ud på et højere niveau:
Her kan du se tre hovedprocesser:
udvidelse af arbejdere implementerer bulkanmodninger om e-mails, der er gemt i databasen
Hvis den samme e-mail skal leveres til flere modtagere, kan du arbejdstager udvider bulk anmodninger for hver modtager. Dette skubber e-mails til e-mail-køen.
E-mail-kø implementeres via e-mail-køsystemet
det er ikke en SMTP-kø. E-mails sættes i kø, men ikke på mailserveren. Uden en kø, din app vil forsøge at sende tusindvis af e-mails på en gang. Som et resultat ville en mangel på hukommelse eller tid til at behandle anmodningen forårsage nedbrud. Når du bruger et e-mail-køsystem som f.eks.
mail afsendelse arbejdstager sender kø e-mails til mailserveren
denne arbejdstager faktisk tager e-mails fra køen og sender dem til mailserveren. Hvis serverresponset er negativt, skubbes e-mailen til en fejlkø, som enten videresender dem senere eller annullerer Leveringen. Det er op til dig at oprette scenariet. Succesfuldt leverede e-mails kan arkiveres.
Test dit e-mail-køsystem med en falsk SMTP-server
når du har konfigureret denne avancerede e-mail-sendearkitektur, skal du ikke glemme at teste den. En falsk SMTP-server som Mailtrap er et perfekt værktøj til dette. Det er ikke et værktøj til at teste SMTP-server. Så du kan ikke bruge den til at teste SMTP-e-mail-kø. Men hvis du har din e-mail-kø implementeret før mailserveren, kan Mailtrap bruges. Det giver alle de nødvendige legitimationsoplysninger som port, godkendelsesmetode og så videre. Du kan også drage fordel af klar-til-brug integrationer til de fleste almindelige tech stakke. Så bare kopier et stykke kode og indsæt det i din app.
Start Test
Failsafe er en anden fordel ved at bruge en falsk SMTP-server. Dine transaktions-eller marketing-e-mails overføres til en falsk POP3-server. Dette udelukker enhver spam til rigtige brugere. Du undgår også problemer i forbindelse med forkert konfiguration, godkendelse osv. I sidste ende, hvis din app fungerer godt, kan du se din e-mail i Demo-indbakken.
indpakning
så den vigtigste afhentning her er, at e-mail-køen har to sider af mønten. Den første er positiv. E-mail og SMTP kø uncouples processerne for afsendelse og modtagelse af e-mails. Dette er nyttigt til bulk-eller masseforsendelsessager. Den negative side er, at en e-mail i kø ofte er forbundet med en fejl, der forsinker afsendelsen af meddelelsen. På samme tid ved du nu, hvordan du skal håndtere disse bekymringer og drage fordel af e-mail-kø højst.
Hvis du nød denne artikel, skal du dele og sprede ordet. Vi vil virkelig sætte pris på det.