Domanda

Qualcuno può consigliare un software o una libreria .NET che controllerà la presenza di e-mail respinte e il motivo del rimbalzo?Ricevo e-mail rimbalzate in un account pop3 che posso leggere in seguito.

Ne ho bisogno per mantenere il mio database utenti pulito da indirizzi e-mail non validi e desidero automatizzarlo (contrassegnare l'utente come e-mail non valida).

È stato utile?

Soluzione

Ho svolto molto lavoro gestendo le e-mail di mancato recapito e ce ne sono diversi tipi.Se vuoi essere assolutamente sicuro che l'e-mail che stai guardando sia effettivamente un messaggio di rimbalzo di un tipo specifico, ti consiglio vivamente di procurarti un buon filtro.Ho lavorato con Strumenti boogie e ha funzionato molto bene.Ti consente di sapere che tipo di rimbalzo è: Duro, Morbido, Transitorio o se si tratta addirittura di qualcuno che sta tentando di annullare l'iscrizione.Ha più API tra cui .Net e ho trovato abbastanza facile iniziare a lavorare.

Altri suggerimenti

COME dice abfo, il protocollo POP3 è semplicissimo, ricevere i messaggi è un gioco da ragazzi.Analizzare i messaggi per individuare gli errori è più difficile e analizzare in modo affidabile quale e-mail ha causato l'errore e perché è davvero difficile.Il problema è che i messaggi di mancato recapito non hanno un formato standard, i formati predefiniti variano da MTA a MTA.Quindi il motivo dell'errore può essere modificato dall'amministratore del sito rendendolo più difficile da riconoscere e l'amministratore del sito potrebbe modificare il modello del messaggio di errore rendendolo dannatamente quasi impossibile.

Vedi se riesci a trovare un gestore di mailing list .NET e se riesci a riutilizzare il codice di gestione dei rimbalzi.In caso contrario, vedi se riesci a cambiare lo strumento che invia i messaggi per inviare ogni email da un mittente bustatore univoco (e reversibile) (VERP, penso che si chiami?).In questo modo non è necessario eseguire la scansione del corpo dell'e-mail, è possibile individuare il destinatario che ha fallito esaminando l'indirizzo del destinatario del messaggio di errore.

È abbastanza facile da fare con un TcpClient.Apri il server:

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

Leggi il messaggio di benvenuto:

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

Riscrivi al server:

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

Questo invia il comando USER.Devi effettuare il login e poi puoi iniziare a catturare i messaggi - vedi POP3 RFC per l'elenco completo dei comandi.Se non stai cercando di creare il tuo, dai un'occhiata a questo Articolo di CodeProject.

Grazie per la risposta, fantastico!Ho fatto qualche ricerca anch'io e ho trovato ElencoNanny - anche semplicissimo da usare e ti dice il tipo di rimbalzo.Scriverò qualche prova di concetto e vedrò quale mi piace di più...

La tua domanda mi ha fatto capire che il plugin per newsletter di Wordpress che avrei utilizzato non aveva la gestione del rimbalzo e anch'io avrei bisogno di qualcosa.

Mi sono guardato intorno per un po' e ho optato per il software gratuito e open source Gestore newsletter PHPlist.

Descrivono in dettaglio le loro impostazioni per la gestione dei rimbalzi e hanno un sperimentale funzionalità avanzata di gestione del rimbalzo ciò ti consentirà di personalizzare la gestione del rimbalzo esattamente nel modo desiderato.

Anche se decidi di non utilizzare PHPlist, leggere come lo fanno ti sarà utile.

Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top