2008-08-10 8 views
10

Czy ktoś może polecać oprogramowanie lub bibliotekę .NET, która będzie sprawdzać podrzucane wiadomości e-mail i powód odrzucenia? Dostaję e-maili na konto pop3, które mogę następnie odczytać.Automatycznie sprawdzaj odbijane wiadomości e-mail przez POP3?

Potrzebuję go do utrzymania bazy danych użytkowników z nieprawidłowych adresów e-mail i chcesz zautomatyzować tę operację (oznacz użytkownika jako nieprawidłowy e-mail).

Odpowiedz

5

Zrobiłem dużo pracy z odbiciem wiadomości e-mail i istnieją różne rodzaje. Jeśli chcesz mieć całkowitą pewność, że adres e-mail, który oglądasz, jest rzeczywiście odbiciem określonego rodzaju, bardzo polecam uzyskać dobry filtr. Pracowałem z Boogie Tools i działa bardzo dobrze. Pozwala dowiedzieć się, jaki rodzaj odbicia jest twardy, miękki, przejściowy, a nawet czy ktoś próbuje zrezygnować z subskrypcji. Ma wiele interfejsów API, w tym .Net, a praca okazała się dość łatwa.

2

To całkiem łatwe do zrobienia z TcpClient. Otwórz serwer:

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

Przeczytaj komunikat powitalny:

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

odpisać na serwerze:

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

który wysyła polecenia użytkownika. Musisz się zalogować, aby rozpocząć pobieranie wiadomości - zobacz pełną listę poleceń POP3 RFC. Jeśli nie chcesz przetestować swojego konta, sprawdź to CodeProject article.

3

jako abfo says, protokół POP3 jest bardzo prosty, a otrzymywanie wiadomości nie ma sensu. Parsowanie komunikatów w celu uzyskania awarii jest trudniejsze i rzetelne analizowanie, która wiadomość e-mail spowodowała awarię i dlaczego jej się nie udało, jest naprawdę trudna. Problem polega na tym, że wiadomości odrzuceń nie mają standardowego formatu, domyślne formularze różnią się od MTA do MTA. Następnie przyczyna niepowodzenia może zostać zmieniona przez administratora strony, co utrudnia rozpoznanie, a administrator strony może zmodyfikować szablon komunikatu o niepowodzeniu, który sprawi, że będzie on prawie niemożliwy.

Sprawdź, czy możesz znaleźć menedżera listy mailingowej .NET i czy możesz zmienić kod obsługi odrzuceń. W przeciwnym razie sprawdź, czy możesz zmienić narzędzie, które wysyła wiadomości, aby wysłać każdą wiadomość e-mail od unikalnego (i odwracalnego) nadawcy wiadomości (VERP, jak sądzę, nazywa się to?). W ten sposób nie trzeba skanować treści wiadomości e-mail, można stwierdzić, który odbiorca nie spełnia wymagań, sprawdzając adres odbiorcy komunikatu o błędzie.

0

Dzięki za odpowiedź, świetnie! Zrobiłem trochę badań i znalazłem ListNanny - również super prosty w użyciu i mówi o rodzaju odskoku. Napiszę jakiś dowód koncepcji i zobaczę, który lubię lepiej ...

0

Twoje pytanie uświadomiło mi, że wtyczka do newslettera Wordpress zamierzam użyć, nie miałem zarządzania odbiciem, i potrzebowałbym czegoś również .

Rozglądałem się przez chwilę, a ja zdecydowałem się na darmowe i open-source PHPlist newsletter manager.

Opisują szczegółowo their settings for handling bounces i mają eksperymentalny advanced bounce handling feature, który pozwoli Ci dostosować manipulowanie odbiciami dokładnie tak, jak chcesz.

Evem, jeśli zdecydujesz się nie używać PHPlist, przeczytanie, jak to zrobi, będzie przydatne dla Ciebie.

Powiązane problemy