[email] bounced mails detecteren

Pagina: 1
Acties:
  • 203 views sinds 30-01-2008
  • Reageer

Acties:
  • 0 Henk 'm!

  • cappie
  • Registratie: Februari 2000
  • Laatst online: 17-05 19:09

cappie

all lowercase

Topicstarter
Ik ben een PHP script aan het schrijven wat adressen uit een mailinglist automagisch kan disable'en of deleten zodra het adres niet bestaat.. (wanneer er dus een z.g.n. 'email bounce' optreedt) (het php script leest de mail files uit voor de return data)

Maar... helaas werken niet alle mailservers hetzelfde en heb ik totop heden nog geen fatsoenlijke manier gevonden om gebounce'de mailtjes te herkennen..


Exim gooit er zelf een veld bij met het niet bestaande adres:
code:
1
X-Failed-Recipients: user.bestaat.niet@domein.tld


Sendmail pleurt er iedere keer een 550 bij:
code:
1
550 5.1.1 <user.bestaat.niet@domein.tld>... User unknown


Weet iemand hier een truukje wat wel werkt om zo'n mailtje te herkennen? I'm outta ideas...

[ Voor 0% gewijzigd door cappie op 31-07-2002 13:15 . Reden: extra info toevoegen ]

Aspire to inspire before we expire | profiel | systeem


Acties:
  • 0 Henk 'm!

  • martinvw
  • Registratie: Februari 2002
  • Laatst online: 20-08 20:35
Als het alleen die twee manieren zijn moet het toch makkelijk af te vangen zijn, misschien moet je ff rond zoeken om te kijken of er anderen zijn geweest die dit al hebben uitgezicht *lijkt me wel* Zow nee, dan zal ik vanavond eens gaan kijken of ik wat leuks kan bednken want dit is wel een erg makkelijk feature.

Acties:
  • 0 Henk 'm!

Verwijderd

het valideren van email adressen is niet echt gestandaardiseerd, en er is dan ook geen goede oplossing voor.
wat ook gebruikt wordt, is aktief contact opnemen met de pop/smtp server van de ontvanger (via mx record), en dan vragen of de user bestaat. probleem hierbij is echter dat sommige mailservers dit weer niet ondersteunen (zeggen altijd dat een user bestaat), en natuurlijk dat dit moet gebeuren _voor_ verzending (schonen van de lijst), itt je vraag obv bounces.

Acties:
  • 0 Henk 'm!

  • cappie
  • Registratie: Februari 2000
  • Laatst online: 17-05 19:09

cappie

all lowercase

Topicstarter
M4rt1nvW schreef op 31 juli 2002 @ 13:30:
Als het alleen die twee manieren zijn moet het toch makkelijk af te vangen zijn, misschien moet je ff rond zoeken om te kijken of er anderen zijn geweest die dit al hebben uitgezicht *lijkt me wel* Zow nee, dan zal ik vanavond eens gaan kijken of ik wat leuks kan bednken want dit is wel een erg makkelijk feature.
Als het alleen maar bij deze 2 foutmeldingen bleef, zou ik d'r zo iets voor kunnen coden.. helaas is het in de Real World meestal anders en zullen Exim en Sendmail niet de enige mailservers zijn die er nu zijn en/of die er later nog gaan komen. :)

Aspire to inspire before we expire | profiel | systeem


Acties:
  • 0 Henk 'm!

  • Grum
  • Registratie: Juni 2001
  • Niet online
Je kan een bounce-to adres instellen en alles wat daar binnen komt uit de lijst smijten.

Zie SMTP RFC voor de headers

Acties:
  • 0 Henk 'm!

Verwijderd

Grum schreef op 31 juli 2002 @ 13:38:
Je kan een bounce-to adres instellen en alles wat daar binnen komt uit de lijst smijten.
ware het niet dat een (groot) deel van de mailservers zich hier weer helemaal niets van aantrekt... :|

[ Voor 0% gewijzigd door Verwijderd op 31-07-2002 13:40 . Reden: typo ]


Acties:
  • 0 Henk 'm!

  • cappie
  • Registratie: Februari 2000
  • Laatst online: 17-05 19:09

cappie

all lowercase

Topicstarter
Verwijderd schreef op 31 juli 2002 @ 13:34:
het valideren van email adressen is niet echt gestandaardiseerd, en er is dan ook geen goede oplossing voor.
wat ook gebruikt wordt, is aktief contact opnemen met de pop/smtp server van de ontvanger (via mx record), en dan vragen of de user bestaat. probleem hierbij is echter dat sommige mailservers dit weer niet ondersteunen (zeggen altijd dat een user bestaat), en natuurlijk dat dit moet gebeuren _voor_ verzending (schonen van de lijst), itt je vraag obv bounces.
aha.. je bedoelt dus actief zoeken naar het domain van de user en DAAR het MX record van, en daar vervolgens een tcp connectie op de mailserver naar openen en checken of de user bestaat..

hmm.. dat is natuurlijk een optie, maar 't staat inderdaad niet vast of die mailserver nou liegt of niet :)

code:
1
2
rcpt to: user.bestaat.niet@domain.tld
OK, WHATEVER

Aspire to inspire before we expire | profiel | systeem


Acties:
  • 0 Henk 'm!

  • TheRookie
  • Registratie: December 2001
  • Niet online

TheRookie

Nu met R1200RT

ezmlm heeft hier wel een methode voor, misschien kan je daar wijzer van worden ?
[edit]
betere link

Acties:
  • 0 Henk 'm!

Verwijderd

klopt, de hotmail servers zeggen bijvoorbeeld altijd dat de user bestaat, ongeacht de accountnaam. helaas is dit in mijn ervaring 1 van de meest betrouwbare methodes.

wat je met bounces nl ook nog eens krijgt is antwoorden als: "out of office" en "mailbox full"...dus een bounce zelf is niet genoeg, je moet de reden weten.

Acties:
  • 0 Henk 'm!

  • cappie
  • Registratie: Februari 2000
  • Laatst online: 17-05 19:09

cappie

all lowercase

Topicstarter
bah |:(

Dat ze hier nu NOGSTEEDS geen standaard voor hebben... dat SMTP is ook hopeloos flaky zeg 8)7 .. echt laksigheid.. om van te :r -en

Aspire to inspire before we expire | profiel | systeem


Acties:
  • 0 Henk 'm!

Verwijderd

cappie schreef op 31 juli 2002 @ 13:48:
bah |:(

Dat ze hier nu NOGSTEEDS geen standaard voor hebben... dat SMTP is ook hopeloos flaky zeg 8)7 .. echt laksigheid.. om van te :r -en
tja, daar kan ik het inderdaad alleen maar mee eens zijn..

Acties:
  • 0 Henk 'm!

  • TheRookie
  • Registratie: December 2001
  • Niet online

TheRookie

Nu met R1200RT

cappie schreef op 31 juli 2002 @ 13:48:
bah |:(

Dat ze hier nu NOGSTEEDS geen standaard voor hebben... dat SMTP is ook hopeloos flaky zeg 8)7 .. echt laksigheid.. om van te :r -en
doe er wat aan :)

Acties:
  • 0 Henk 'm!

  • gridfox
  • Registratie: Januari 2000
  • Laatst online: 23-09-2023
klopt, de hotmail servers zeggen bijvoorbeeld altijd dat de user bestaat, ongeacht de accountnaam.
Dit gaat volgens mij niet altijd op. Ik heb recentelijk zitten stoeien met een perl module welke niet via het gebruikelijke VRFY command werkt.

Hotmailaccounts worden goed gefilterd, maar wederom werkt dit script niet op alle typen servers :|

Linkje: http://martynov.org/checkuser/

Mocht je tot een betere oplossing komen, dan hou ik me van harte aanbevolen :D

Hey, it compiles . . . . Ship it !


Acties:
  • 0 Henk 'm!

  • cappie
  • Registratie: Februari 2000
  • Laatst online: 17-05 19:09

cappie

all lowercase

Topicstarter
Hmm... net al effe gekeken, maar 't is een perl module.. en wat dat ding doet, kan ik eigenlijk ook.. beetje jammer.. zo maar es aan 't coden slaan... tenzij iemand nog iets nuttigs te melden heeft?

Aspire to inspire before we expire | profiel | systeem


Acties:
  • 0 Henk 'm!

Verwijderd

tenzij iemand nog iets nuttigs te melden heeft?
Vlgns mij werken alle mailservers wel hetzelfde. Een e-mail kan twee verschillende afzenders hebben. Als eerste is er de echte afzender, deze kan je zetten door de optie -f voor sendmail te gebruiken, of door "MAIL FROM" te gebruiken bij SMTP. Dan heb je nog een tweede afzender, dit is de "From: " regel in je mailtje zelf. Zo gaan bouncers naar het eerstgenoemde e-mailadres en replies naar dat tweede e-mailadres.

De vraag is dan ook *hoe* verstuur je de mailtjes. Doe je het via de functie van PHP, spreek je sendmail aan, of open je een socket en spreek je de localhost op port 25 aan.

Op extra toevoegingen als "return-path" en "errors-to" zou ik als ik jou was maar niet vertrouwen.

Acties:
  • 0 Henk 'm!

  • Marzman
  • Registratie: December 2001
  • Niet online

Marzman

They'll never get caught.

Is het niet vrij standaard dat het orginele bericht als atachment aan het bounce-bericht hangt? Dan moet daar toch het e-mailadres uit te halen zijn?

Bij een out-of-office melding en dergelijke hangt dat attachment er niet aan.

☻/ Please consider the environment before printing this signature
/▌
/ \ <-- This is bob. copy and paste him and he will soon take over the world.


Acties:
  • 0 Henk 'm!

  • B-Man
  • Registratie: Februari 2000
  • Niet online
Marzman schreef op 31 juli 2002 @ 18:22:
Is het niet vrij standaard dat het orginele bericht als atachment aan het bounce-bericht hangt? Dan moet daar toch het e-mailadres uit te halen zijn?

Bij een out-of-office melding en dergelijke hangt dat attachment er niet aan.
Nee dus :z

Ik heb al een aantal high-volume mail oplossingen ontwikkeld in java, die ook bouncemail moesten kunnen verwerken, en de oplossing die ik daarvoor heb gebruikt is in 95% van de gevallen effectief. 95% van 100-duizenden mails is een hoop.
Het werkt met behulp van VERP (Variable Envelope Return Path) adressen. Je kan op twee punten een afzender opgeven: in de e-mail zelf (From:-header), en bij het verzenden van het bericht.

Ik geef bij het verzenden van een mail (voor de java mensen: met JavaMail kun je dit per sessie instellen in je properties) een unieke VERP op, die er als volgt uitziet:

bounce-[id in database]-[user%domein.nl uit database, @ vervangen door %]@mijn_server_domein.nl

Vervolgens filter ik alle mail die met "bounce-" begint naar een bepaalde mailbox, die ik regelmatig geautomatiseerd uit laat lezen.

95% van alle mails die ik terugkrijg bevatten als To: het VERP adres. De overige 5% gebruikt het adres dat in de mail zelf als "From:" was opgegeven als adres. Hier kan ik echter nog steeds het VERP adres uit de headers filteren. De 1% die ik dan nog niet heb "herkend", haal ik door een aantal filters heen, zoals jij nu zoekt. Gelukkig heb ik dan al 99% van de e-mails verwerkt.

Acties:
  • 0 Henk 'm!

  • B-Man
  • Registratie: Februari 2000
  • Niet online
Nog even een linkje met info over VERP.

Acties:
  • 0 Henk 'm!

  • cappie
  • Registratie: Februari 2000
  • Laatst online: 17-05 19:09

cappie

all lowercase

Topicstarter
B-Man schreef op 31 juli 2002 @ 20:51:
Nog even een linkje met info over VERP.
Dude!!.. dit begint er al aardig op te lijken.. thnx voor de info :)

Aspire to inspire before we expire | profiel | systeem

Pagina: 1