Variabel returväg för kuvert
Variable envelope return path ( VERP ) är en teknik som används av vissa elektroniska e-postlistor för att möjliggöra automatisk upptäckt och borttagning av olevererbara e-postadresser . Det fungerar genom att använda en annan returväg (även kallad "kuvertsändare") för varje mottagare av ett meddelande.
Motivering
Varje långlivad e-postlista kommer så småningom att innehålla adresser som inte kan nås. Adresser som en gång var giltiga kan bli oanvändbara eftersom personen som tar emot posten där har bytt till en annan leverantör . I ett annat scenario kan adressen fortfarande existera men överges, och oläst e-post ackumuleras tills det inte finns tillräckligt med utrymme kvar för att acceptera mer.
När ett meddelande skickas till en e-postlista, skickar programvaran för e-postlistan det till alla adresser på listan. Närvaron av ogiltiga adresser i listan resulterar i att avvisningsmeddelanden skickas till ägaren av listan. Om e-postlistan är liten kan ägaren läsa avvisningsmeddelandena och manuellt ta bort de ogiltiga adresserna från listan. Med en större e-postlista är detta ett tråkigt, obehagligt jobb, så det är önskvärt att automatisera processen.
Men de flesta avvisningsmeddelanden har historiskt utformats för att läsas av mänskliga användare, inte automatiskt hanteras av programvara. De förmedlar alla samma grundidé ("meddelandet från X till Y kunde inte levereras på grund av orsak Z") men med så många variationer att det skulle vara nästan omöjligt att skriva ett program för att tillförlitligt tolka innebörden av varje studsmeddelande. RFC 1894 (föråldrad av RFC 3464) definierar ett standardformat för att åtgärda detta problem, men stödet för standarden är långt ifrån universellt. Det finns dock flera vanliga format (t.ex. RFC 3464, qmails qsbmf och Microsofts DSN-format för Exchange ) som täcker en stor del av avvisningarna.
Microsoft Exchange kan ibland studsa ett meddelande utan att ge någon indikation på adressen som det ursprungliga meddelandet skickades till. När Exchange känner till den avsedda mottagaren, men inte är villig att acceptera e-post för dem, utelämnar den deras adress. Om ett meddelande skickas till [email protected]
och servern vet att detta är "Joe User", kommer den att studsa meddelandet som säger att meddelandet till "Joe User" inte kunde levereras, utan att [email protected]
adress helt och hållet. VERP är det enda gångbara sättet att hantera sådana studsar korrekt.
Hur VERP löser studshanteringsproblemet
Den svåra delen av avvisningshantering är att matcha ett avvisningsmeddelande med den adress som inte kan levereras som orsakade avvisningen. Om e-postlistans programvara kan se att en avvisning härrörde från ett försök att skicka ett meddelande till [email protected] , behöver den inte förstå resten av informationen i avvisningen. Den kan helt enkelt räkna hur många meddelanden som nyligen skickades till [email protected] och hur många avvisningar som resulterade, och om andelen avvisade meddelanden är för hög tas adressen bort från listan.
Även om formaten för avvisningsmeddelanden i allmänhet varierar mycket, finns det en aspekt av ett avvisningsmeddelande som är mycket förutsägbar: adressen till vilken det kommer att skickas . VERP drar full nytta av detta. I en e-postlista som använder VERP används olika avsändaradress för varje mottagare.
E-postlisthanteraren vet att den skickade ett meddelande från X till Y, så om ett avvisningsmeddelande tas emot på adress X kan det bara bero på att adress Y inte kunde levereras, eftersom ingenting skickades från X till någon annan adress. Den viktiga informationen har alltså extraherats från avvisningsmeddelandet, utan att behöva förstå dess innehåll, vilket innebär att den som ansvarar för listan inte behöver hantera det manuellt.
Ursprung
Den första seriösa förespråkaren för denna lösning, och upphovsmannen till termen VERP för att beskriva den, var Daniel J. Bernstein , som först omsatte idén i praktiken i sin qmail MTA och ezmlm mailing list manager.
Exempel
Anta att det finns en e-postlista som heter [email protected]
och att en person, [email protected]
har prenumererat på den, men senare har Bob lämnat example.org, så hans adress är inte längre giltig. Fundera på vad som händer när någon skickar ett meddelande till listan.
Utan VERP
Utan VERP kan e-postlisthanteraren skicka ett meddelande med följande egenskaper:
- kuvertavsändare:
wikipedians-ä[email protected]
- mottagare:
[email protected]
Detta skulle resultera i en avvisning, genererad av MTA för antingen example.net eller example.org, med följande egenskaper:
- kuvertsändare: tom
- mottagare:
[email protected]
- innehåll: example.org kunde inte leverera följande meddelande till bob: ...
E-postlisthanteraren kan inte förväntas förstå innehållet i denna avvisning och kan inte härleda någonting från mottagaradressen eftersom hundratals andra personer förutom Bob också har skickat meddelanden från [email protected]
.
Med VERP
Med VERP skulle det ursprungliga meddelandet vara annorlunda:
- kuvertavsändare:
wikipedians-ä[email protected]
- mottagare:
[email protected]
Studsen kommer då att vara mer användbar:
- kuvertsändare: tom
- mottagare:
wikipedians-ä[email protected]
- innehåll: example.org kunde inte leverera följande meddelande till bob: ...
Av detta avvisningsmeddelande kan e-postlisthanteraren dra slutsatsen att ett meddelande till [email protected]
måste ha misslyckats.
Det här exemplet visar den enklaste möjliga metoden för att matcha en VERP med en listabonnent: hela mottagaradressen ingår i returvägen, med at-tecknet ersatt av ett likhetstecken eftersom en returväg med två vid-tecken skulle vara ogiltig. Andra kodningsscheman är möjliga.
Programvara som stöder VERP
- CiviCRM
- EspoCRM
- Courier Mail Server
- Samtala
- exim , med en specialiserad router/transportkombination
- ezmlm
- GNU Mailman
- G Suite
- Inxmail
- Mercury Mail Transport System
- mlmmj
- Mahara
- Mailchimp
- Maileon
- MediaWiki dock mw:Extension:BounceHandler
- Moodle
- Plesk
- postfix
- qmail
- Sendmail , med en regeluppsättning
- STEdb
- StrongMail
- Sympa
- Thexyz
- Zimbra
- Mållåda
- MeddelaBC
- AWS SES (Simple Email Service)
Nackdelar
Användningen av VERP kräver att varje meddelande skickas en gång för varje mottagare, istället för en gång till varje mottagande SMTP- server. Detta beror på en begränsning av SMTP, som tillåter att flera mottagaradresser anges i en enda transaktion, men bara en avsändaradress. När det finns många prenumeranter på samma domän kan en e-postlista som inte använder VERP kombinera flera leveranser till en enda transaktion. Den ansluter till lämplig server för domänen, ger den enda avsändaradressen, mottagaradresserna och skickar sedan meddelandeinnehållet endast en gång.
En e-postlista som använder VERP, å andra sidan, måste skicka hela meddelandetexten upprepade gånger, vilket leder till en total ökning av bandbreddsanvändningen . Denna ineffektivitet anses vanligtvis inte vara ett stort problem, särskilt av qmail -användare, eftersom qmail alltid skickar meddelanden en gång per mottagare, även när VERP inte används. Vissa paket mildrar effekten av VERP genom att tillämpa den selektivt, till exempel kan en e-postlistahanterare bara använda VERP på 1 av 10 utskick. På så sätt kan du få mycket av VERP:s snäva studskontroll och exakta feedback utan att behöva ta på dig bearbetning och nätverkskostnader varje gång.
Ett annat problem med VERP (och med alla automatiska avvisningshanteringsscheman) är att det finns MTA:er på Internet som inte följer grundläggande SMTP-standarder. VERP beror på att mottagarnas MTA följer regeln att studsar skickas till kuvertavsändaren . Detta har varit ett standardkrav sedan SMTP började 1982 (se RFC 821), men fortfarande finns det MTA:er som gör fel, vanligtvis genom att studsa till adressen i Från :
-huvudet .
System som implementerar grålistning fungerar bra med VERP om kuvertsändaren följer ovan nämnda format. Vissa VERP-implementationer använder dock meddelandenummer eller slumpmässig nyckel som en del av VERP, vilket gör att varje inlägg till e-postlistan försenas om inte grålistningssystemet behandlar "liknande" avsändaradresser som likvärdiga.
Se även
- Bounce Address Tag Validation (BATV) – för studsar från backscatter
- Sender Rewriting Scheme (SRS) – för studsar från vidarebefordran av e-post och SPF
- Simple Mail Transfer Protocol (SMTP)
- utkast till SMTP-förlängning för att effektivisera VERP
- ^ DJ Bernstein qmail , 1 februari 1997
- ^ "Hantera studsande e-postmeddelanden" . 17 maj 2021.
- ^ "E-postleverans för IT-proffs. En MailChimp Guide" (PDF) . Mailchimp .
- ^ "Stöd för Plesk VERP sedan version 18.0.30" .
-
^
"tillskansat titel" . Arkiverad från originalet den 27 oktober 2014.
{{ citera webben }}
: Cite använder generisk titel ( hjälp ) CS1 underhåll: unfit URL ( länk )