[PHP] emailvalidatie van 24000+ adressen

Pagina: 1
Acties:

Onderwerpen


Acties:
  • 0 Henk 'm!

  • 0528973
  • Registratie: Juni 2003
  • Laatst online: 15-05-2013
Hey allemaal,

het probleem:
--------------------------------------------------------------------------------------
Ik heb 24000+ emailadressen welke onderverdeeld zijn in 3000+ domeinen.
Deze emailadressen zijn de basis van een maillinglist, als er een mailing uitgestuurd wordt, dan komt ongeveer 12% van de emails niet aan. Helaas kan ik echter niet achterhalen welke emailadressen zich in deze 12% bevinden. Een ander bedrijf zorgt namelijk voor het versturen van de mailinglist. Ik beheer hier alleen de emailadressen. Wat kan ik doen om van de mailadressen te achterhalen of het bestaande adressen zijn?

De emailadressen zijn qua vorm correct en voor al de gebruikte domeinen bestaan er MX-hosts. Om de vorm te controleren van een emailadres maak ik gebruik van een reguliere expressie en om te achterhalen of er een MX-host voor een domein bestaat maak ik gebruik van getmxrr().

De enige stap die ik nu nog kan ondernemen is denk ik: alle emailadressen verzamelen per domein, een socket openen naar de MX-host en dan per adres kijken of deze geaccepteerd wordt door de MX-host. Dit heb ik ondertussen wel werkende, het enige dat ik me afvraag is:

Is het verstandig om 1 php script te maken dat voor al de beschikbare domeinen dit gaat doen? Zo ja, geef ff aan hoe jij het zou doen? Zo nee, meld ook even waarom en hoe ik het anders zou moeten doen?
--------------------------------------------------------------------------------------
nb. Ik weet dat ik zelfs met deze methode nog geen 100% kloppende lijst met adressen zal krijgen, maar hoop toch wel het percentage bounce adressen omlaag te krijgen.

Het bedrijf dat de mailinglist verstuurt, geeft eens per 3 maanden een lijst van gebounced adressen. Oftewel ik heb niet direct de beschikking over de gebouncede emails.

Helaas kan ik ook niet de afzender van de mailinglist opgeven, de situatie is als volgt:
bedrijf A is afzender mailinglist
bedrijf B beheert de emailadressen
bedrijf C verstuurd de mailinglist

[ Voor 21% gewijzigd door 0528973 op 10-12-2003 10:17 ]

Pascal


Acties:
  • 0 Henk 'm!

  • real-doc
  • Registratie: Mei 2003
  • Niet online
Kan je niet beter een reply adres instellen waarvan je de mail met een script afvangt of uitleest ?

Als je dan een errormailtje krijgt, kan je daar het emailadres uit vissen, en klaar.

Acties:
  • 0 Henk 'm!

  • Janoz
  • Registratie: Oktober 2000
  • Laatst online: 16-09 09:15

Janoz

Moderator Devschuur®

!litemod

Staat in de bounce mailtjes zelf niet welk email adres niet wordt geaccepteerd?

Ken Thompson's famous line from V6 UNIX is equaly applicable to this post:
'You are not expected to understand this'


Acties:
  • 0 Henk 'm!

  • 0528973
  • Registratie: Juni 2003
  • Laatst online: 15-05-2013
hey alvast bedankt voor jullie reactie, ik heb echter niet de beschikking over deze
bounce mails. Ik beheer hier alleen de emailadressen, het versturen van de mailinglist wordt ergens anders gedaan.

Pascal


Acties:
  • 0 Henk 'm!

  • darkrain
  • Registratie: Augustus 2001
  • Laatst online: 18:46

darkrain

Moderator Discord

Geniet

En je kunt niet de lijst van bounce mails krijgen van dat externe bedrijf??
Of alleen een lijst van emailadressen die terugkomen?

[ Voor 27% gewijzigd door darkrain op 10-12-2003 09:42 ]

Tweakers Discord


Acties:
  • 0 Henk 'm!

  • 0528973
  • Registratie: Juni 2003
  • Laatst online: 15-05-2013
Die lijst krijgen we hier slechts eens per 3 maanden. Dat is dus niet echt een optie,
had ik eigenlijk al in het eerste bericht moeten plaatsen.

Pascal


Acties:
  • 0 Henk 'm!

  • real-doc
  • Registratie: Mei 2003
  • Niet online
Kan je niet zelf een afzender van de mailtjes opgeven ?

Acties:
  • 0 Henk 'm!

  • 0528973
  • Registratie: Juni 2003
  • Laatst online: 15-05-2013
Ik zal is navragen, ik vermoed echter van niet.

Pascal


Acties:
  • 0 Henk 'm!

  • TheRookie
  • Registratie: December 2001
  • Niet online

TheRookie

Nu met R1200RT

Raar trouwens dat dat externe bedrijf niet automatisch de e-mail adressen die x keer gebounced zijn van de lijst verwijdert ....

De meeste mailing-list applicaties handelen dit automatisch af.

Acties:
  • 0 Henk 'm!

  • 0528973
  • Registratie: Juni 2003
  • Laatst online: 15-05-2013
Het is niet raar, ze kunnen dit niet.
Zij krijgen van ons een csv bestand aangereikt met de email adressen waarnaar de mailing verstuurt moet worden. Zij hebben geen toegang tot onze database.

Pascal


  • JozyDaPozy
  • Registratie: December 2002
  • Laatst online: 17:39
0528973 schreef op 10 december 2003 @ 10:32:
Het is niet raar, ze kunnen dit niet.
Zij krijgen van ons een csv bestand aangereikt met de email adressen waarnaar de mailing verstuurt moet worden. Zij hebben geen toegang tot onze database.
Ik snap het probleem niet.
Ze kunnen toch een lijstje met addressen geven waarbij het mailtje niet is aangekomen..
Jij kan dat dan weer in je database verwerken

[ Voor 10% gewijzigd door JozyDaPozy op 11-12-2003 00:01 ]


  • trogdor
  • Registratie: Mei 2003
  • Laatst online: 22-04 10:17
Als je de niet aangekomen mailtjes niet kan ontvangen, dan heb je geen geldig return adres. Spam.

Als je je bestand wilt opschonen moet, MOET je zorgen dat je een return adres hebt waar bounces op aan komen. Kan je huidige spamverspreider dat niet, zoek dan een andere.

  • 0528973
  • Registratie: Juni 2003
  • Laatst online: 15-05-2013
Hey,

Ze kunnen me wel zo'n lijst sturen, dat doen ze echter 1 maal per 3 maanden.
Elke maand wordt er zo'n mailing gedaan, dus zou ik graag een manier vinden om de zogeheten bounce adressen er eerder uit te filteren. Bovendien is het niet mijn beslissing om een andere mailinglist verstuurder te zoeken, dat is die van mijn baas en die wilt graag deze houden.

Pascal


  • drm
  • Registratie: Februari 2001
  • Laatst online: 09-06 13:31

drm

f0pc0dert

Om terug te komen op je oorspronkelijke vraag: dergelijke scriptjes kun je gewoon laten lopen, echter is het niet onverstandig dit in de shell (via ssh) te doen, omdat dit vaak sneller is en minder moeite kost aan de gang te houden ;)

Kijk dus even naar http://www.php.net/features.commandline voor de mogelijkheden van command-line gebruik van php. Check dan eerst even of de functies die je wilt gebruiken wel in de commandline versie beschikbaar zijn, anders zit je dalijk voor niks alles om te bouwen.

Music is the pleasure the human mind experiences from counting without being aware that it is counting
~ Gottfried Leibniz


  • FlowinG
  • Registratie: Maart 2003
  • Nu online
Hoe kom je aan die adressen? Ik bedoel, geven mensen zich op via een site? Dan kan je bv al controleren of ze aan komen. Anders moet je eens (per maand ofzo) een script laten draaien die alles bij elkaar zoekt en dus per domein de boel verzameld. Als je dat gaat doen is het gewoon een kwestie van alle e-mail adressen sorteren. Je loopt elk adres na. Het opslaan daarvan kan op verschillende manieren:

1. Je kan voor elk domein een apart bestand aanmaken en daar alle e-mail adressen inzetten. Dan ga je met een script alle bestanden in die map doorlopen en steeds verbindingen maken.
2. Je kan alles in de database zetten (bv 2 kolommen: e-mail en domein). Dan sorteren op domein en dan weer alles doorlopen. Je controleert gewoon in de lus of het domein veranderd.
3. Ook kan je alles in een array zetten en die dan sorteren en doorlopen. Dit zou ik niet zo snel doen, want het kost denk ik het meeste performance, aangezien alles in het geheugen wordt gezet.

Bij het doorlopen van de adressen die gesorteerd zijn ga je uiteraard per domein controleren of het bestaat.

  • 0528973
  • Registratie: Juni 2003
  • Laatst online: 15-05-2013
@ flowing:
Die manier heb ik ook zojuist ingebouwd op de site, waar die email adressen opgegeven worden. Ik heb echter nog een database met 24000+ adressen, die ik dus nog moet gaan corrigeren.

@ drm:
dank je, zoiets had ik al verwacht... misschien toch maar eens voor de gein een c/c++ commandline appje maken die zoiets doet met thread ed, lijkt me wel weer is leuk. De hele tijd php'en kan wel eens saai worden ;).

Indien gewenst kan dit topic gesloten worden, iedereen bedankt voor zijn/haar opmerkingen.

Als er mensen op zoek zijn naar de rfc van SMTP: http://www.faqs.org/rfcs/rfc821.html

Mijn oplossing:
een kleine multithreaded applicatie, welke connectie maakt met de database,
de daarin beschikbare adressen ophaalt en verzameld per domein. Dan een stuk of wat sockets openen naar verschillende MX-hosts en beginnen met valideren. De adressen die dan invalide terug komen, in een andere tabel plaatsen zodat er een net overzicht valt te maken via php. Misschien wat omslachtig, maar zo leer ik er tenminste nog iets nieuws van. (Zoals jullie kunnen begrijpen, uiteindelijk heeft het niet meer zo'n hoge prioriteit als toen ik dit topic opende)

Pascal


  • Anders
  • Registratie: December 2000
  • Laatst online: 13-09 18:52
0528973 schreef op 10 december 2003 @ 09:21:
De enige stap die ik nu nog kan ondernemen is denk ik: alle emailadressen verzamelen per domein, een socket openen naar de MX-host en dan per adres kijken of deze geaccepteerd wordt door de MX-host.
NEEE!!!

Deze methode is al jaren uit de tijd. Elke hostingboer die een beetje serieus met zijn security omgaat, heeft dit al lang en breed dichtgetimmerd: het zou anders immers een gratis goudmijn zijn voor spammers om zo achter geldige e-mailadressen te komen.

Deze methode is dus volstrekt onbetrouwbaar. Gewoon vergeten dus: je kunt niks serieus beginnen met de resultaten.
Ze kunnen me wel zo'n lijst sturen, dat doen ze echter 1 maal per 3 maanden.
Elke maand wordt er zo'n mailing gedaan, dus zou ik graag een manier vinden om de zogeheten bounce adressen er eerder uit te filteren. Bovendien is het niet mijn beslissing om een andere mailinglist verstuurder te zoeken, dat is die van mijn baas en die wilt graag deze houden.
M.a.w. je baas neemt genoegen met een bounce-percentage van 12% gedurende 3 maanden. Wat is dan precies het probleem? Als ie daar geen genoegen mee neemt moet ie met de verzendende partij gaan praten over een snellere oplossing, of met de partij die de e-mailadressen aanlevert om de optie van confirmed opt-op tafel te leggen.

Wat ik me afvraagL jullie leveren de e-maildatabase als CSV aan. De bounces kunnen niet direct verwerkt worden in de database want daar heeft de verzendende partij geen toegang toe. Het duurt 3 maanden voordat ze een lijst met bounces aan kunnen leveren. Hoe doen jullie dat met uitschrijfmogelijkheid?

Ik spoor veilig of ik spoor niet.


  • 0528973
  • Registratie: Juni 2003
  • Laatst online: 15-05-2013
@ Anders,

ondanks het feit dat je gelijk hebt, zijn er nog een aantal mail servers in omloop welke wel degelijk aangeven of email adressen wel of niet afgeleverd kunnen worden. Denk bijvoorbeeld aan HOTMAIL, PLANET ed die dat dus juist wel doen.
Die geven aan, dat of het mail adres juist is, niet afgeleverd kan worden vanwege inactiviteit of dat het gaat om een ongeldige mailbox. Dus ondanks het feit dat je zeer waarschijnlijk gelijk hebt is het nogsteeds en te gebruiken methode.

Het uitschrijven gaat wel goed, want de mailtjes daarvan komen uiteindelijk netjes bij ons aan. Een linkje in de email welke naar ons verwijst.

Pascal

Pagina: 1