![]() |
Hantera mailstudsar
Vi skickar ut ett stort antal mail varje vecka och behöver en lösning för att hantera alla studsar som sker av olika slag. Mailboxen full, epostkontot nerlagt osv osv. Finns det någon färdig lösning för det? Först och främst är jag ute efter kodförslag för att vi ska kunna bygga en egen lösning. Vi programmerar i .NET men andra lösningar är också välkomna.
|
hmmm
jag gjorde en snabb googling eftersom jag själv suttit och funderat på smarta sätt att underhålla epostlistor. http://stackoverflow.com/questions/2...ystem-net-mail referererar till http://en.wikipedia.org/wiki/Variabl...pe_return_path Som jag fattar det så kan man då enkelt se vilka adresser som studsar genom att man får studsen till en unik avsändaradress. Sen kan man då hantera detta på något klyftigt vis och tex lagra epostadressen + antal gånger den genererat en studs. har adressen studsat t.ex 5 ggr så ser man helt enkelt till att inte skicka till den |
Studshantering är en av många anledningar till varför det är bättre att anlita en 3:e-partsleverantör än att hantera listorna själva.
Det du ska använda är VERP som rhdf länkade till. Det gör att varje prenummerant får en unik reply-to-adress som du kan knyta till den användarens identitet. Sedan gör du: 1. Sätt upp en mailbox som tar emot alla studsar. 2. Skriv ett program som körs regelbundet som går igenom alla mail i mailboxen. 3. Knyt varje studsat mail till en prenummerant. 4. För varje studsmail, kategorisera det som antingen en hård eller mjuk studs. En studs är hård om den indikerar att det aldrig någonsin kommer att gå att skicka ett mail till emailadressen. Ex. om mailer daemon säger "mailbox doesn't exist" är det en hård studs. Studsen är mjuk ifall personen som har kontot har slagit på auto-reply, ex. "jag är på semester kommer tillbaka 5/4" eller om mailer daemon säger "mailbox full". 5. Klura ut regler för avregistrering av prenummeranter beroende på hur många studsar du fått ifrån dem. Ex. en hård studs är tillräckligt, medans det krävs tre mjuka studsar på raken utan att något mail framgångsrikt gått fram till prenummeranten emellan. Det finns inget standardiserat format som mailer daemons ska använda för att skicka bounce mail. Istället använder varje produkt sitt eget format och Microsofts Hotmail är sämst (som vanligt) vilket betyder att man måste gissa sig till felet utifrån brödtexten i mailet, ämnesraden och avsändaradressen. |
Citat:
Sätt också Reply-To, men till en adress som en människa läser. Om en mottagare väljer att svara så beror det antingen på att de har frågor om ditt erbjudande (potentiella kunder!), eller att de vill avregistrera sig från listan (var sjysst!). Angående det citerade stycket så verkar du inte ha arbetat med studsar från Exchange, där det i vissa konfigurationer är helt omöjligt att avgöra vad studsen beror på då meddelandet enbart är anpassat för en mänsklig läsare. Lyckas man inte klura ut vad studsen beror på kan man antingen hantera det som en mjuk studs eller skicka det till en moderator. För övrigt rekommenderar jag att man ställer även hårda studsar på minst två innan avregistrering. Det kan vara ett knasigt konfigurerat e-postssystem som skickar studsen. Eller så skiljer man inte på hårda och mjuka studsar alls, och sparar således en massa logik. |
Tackar för era input. Triggade mina tankar. Tänkte använda hMailServer som hantera utskicken och skapa ett script som är anpassat för detta. Sen kommer returerna hanteras av hMailServer och regler eller så blir det en egen applikation som läser returerna och raderar ej fungerande epostadresser.
|
Jan, har du kodat något på detta? Jag hade lite problem med att sätta return-path med System.Net.Mail. Löste det att sätta den unika adressen som Sender men då står det som avsändare i bla outlook "id@mindomän.se; för; noreply@mindomän.se", där id@mindomän.se är den fejkade adressen som fångas i catch-all. Inte så snyggt kanske.
|
Du kan ju alltid skriva en egen MTA som bör kunna fånga upp många fel utan att du behöver få ett mail tillbaka. SMTP är ett relativt enkelt protokoll och om du försöker leverera direkt till den andra mailservern kan du basera mycket på statuskoderna. Vissa servrar kommer dock att ta emot mailen och sedan studsa dem, men du borde kunna komma rätt långt på detta.
|
Citat:
|
Alla tider är GMT +2. Klockan är nu 21:43. |
Programvara från: vBulletin® Version 3.8.2
Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
Svensk översättning av: Anders Pettersson