Verificați automat e-mailurile prin e-mail prin POP3?

Poate cineva să recomande software-ul sau o bibliotecă .NET care să verifice e-mailurile refuzate și motivul pentru bounce? Primesc e-mailuri într-un cont pop3 pe care îl pot citi atunci.

Trebuie să păstrez baza de date a utilizatorilor curată de la adresele de e-mail nevalide și vreau să automatizez acest lucru (marcați utilizatorul ca e-mail nevalid).

0
fr hi bn

5 răspunsuri

Am făcut o mulțime de lucruri de manipulare e-mailuri bounce și acolo tipuri diferite. Dacă doriți să fiți absolut siguri că e-mailul pe care îl căutați este într-adevăr un salt dintr-un anumit tip, recomand să obțineți un filtru bun. Am lucrat cu Boogie Tools și a funcționat foarte bine. Vă permite să știți ce fel de săritură este, Hard, Soft, Transient sau chiar dacă cineva încearcă să se dezaboneze. Are un API de tip muliple, inclusiv .Net și mi sa părut destul de ușor să lucrez.

0
adăugat

Vă mulțumim pentru răspuns, minunat! Am făcut niște cercetări și am găsit ListNanny - de asemenea, foarte simplu de utilizat și vă spune tip de saritura. Va scrie o dovadă a conceptului și voi vedea care-mi place mai bine ...

0
adăugat

Întrebarea dvs. ma făcut să-mi dau seama că plugin-ul Wordpress Newsletter pe care urma să îl folosesc, nu avea gestionarea sarcinilor și aș avea nevoie și de ceva.

M-am uitat în jur pentru o vreme și m-am hotărât să accesez free and open source manager de știri PHPlist .

Acestea descriu în detaliu setările lor pentru manipularea bounces și au un experimental funcția avansată de gestionare a sarcinilor care vă va permite să personalizați manipularea sarcinilor exact așa cum doriți.

Evem dacă decideți să nu utilizați PHPlist, citirea modului în care o fac va fi o informație utilă pentru dvs.

0
adăugat

ca abfo spune , protocolul POP3 este foarte simplu, obtinerea mesajelor este un brainer. Parsarea mesajelor pentru a obține eșecurile este mai dificilă și o analiză fiabilă care e-mailuri a provocat eșecul și de ce a eșuat este foarte greu. Problema este că mesajele bounce nu au un format standard, formele implicite variază de la MTA la MTA. Apoi, motivul de eșec poate fi modificat de administratorul site-ului, făcându-l mai greu de recunoscut, iar administratorul site-ului poate modifica șablonul mesajului de eșec, ceea ce îl face aproape imposibil.

Vedeți dacă puteți găsi un manager de listă de discuții .NET și dacă puteți reutiliza codul de manipulare a sarcinilor. Dacă nu reușiți să vedeți dacă puteți schimba instrumentul care trimite mesajele pentru a trimite fiecare e-mail de la un expeditor unic (și reversibil) de înveliș (VERP Cred că se numește?). În acest fel, nu este nevoie să scanați corpul e-mailului, puteți afla ce destinatar nu a reușit examinând adresa destinatarului mesajului de eșec.

0
adăugat

Este destul de ușor de a face cu un TcpClient. Deschideți serverul:

TcpClient tcpClient = new TcpClient();
tcpClient.Connect(POP3Server, POP3Port);
NetworkStream stream = tcpClient.GetStream();

Citiți mesajul de întâmpinare:

int read = stream.Read(inBuffer, 0, inBuffer.Length);
string response = Encoding.ASCII.GetString(inBuffer, 0, read);
if (response.IndexOf("+OK") != 0) throw new ...;

Scrieți înapoi la server:

byte[] outBuffer = Encoding.ASCII.GetBytes("USER " + account + "\r\n");
stream.Write(outBuffer, 0, outBuffer.Length);

Asta trimite comanda USER. Trebuie să vă conectați și apoi să începeți să luați mesaje - consultați RFC pentru POP3 lista completă a comenzilor. Dacă nu doriți să vă faceți clic pe acest articol CodeProject .

0
adăugat