2011-01-23 32 views
10

Poszukuję szybkiego sposobu lub biblioteki, aby sprawdzić skrzynkę pocztową hotmail za pomocą protokołu HTTP. Zauważ, że musi to być przez Http, a nie pop3 lub Imap (to i tak nie jest obsługiwane). Potrzebuję tego, ponieważ muszę połączyć się z kilkoma kontami za pomocą proxy Http, który nie jest obsługiwany w sesjach POP3. Wszelka pomoc jest doceniana.C# sprawdzanie skrzynki odbiorczej Hotmail za pośrednictwem protokołu HTTP

Dzięki kumple =]

Odpowiedz

4

Uważam, że obecnie nie jest to możliwe bez symulacji czynności wykonywanych przez użytkownika w przeglądarce. Najprościej jest użyć funkcji "VS2010 Test Professional" lub "VS2010 Ultimate", aby nagrać sesję przeglądania i wygenerować kod C#, który robi to samo! Zobacz here, pracował dla mnie całkiem dobrze out-of-the-box i generuje czytelny kod można ponownie użyć w zastosowaniach

BWT ci, wydaje się być istniejące API:
- pop3.live.com , port 995 (wymagany SSL) dla przychodzących wiadomości;
- smtp.live.com, port 25 (bez SSL) lub 587 (SSL) do wysyłania wiadomości e-mail;
- Interfejs API kontaktów Windows Live Messenger (starsza wersja) umożliwia dostęp do kontaktów;
- Windows Live Messenger Connect umożliwia robienie wszystkiego, co może zrobić posłaniec;
- Windows Live Messenger Mailbox properties pozwalają zobaczyć liczbę wiadomości e-mail i nieprzeczytanych wiadomości;

1

Nie wiem, czy to może pomóc:

Hotmail using C#

+1

To jest od 3 do 4 lat nieaktualne. Pracował jeden raz, ale już nie działa. –

+0

Dlaczego głosować w dół jego odpowiedź na to? – Zesty

+0

To nie działa, więc prawdopodobnie istnieje argument, ale jeśli ktoś chce przywrócić go do zera, nie mam nic przeciwko! –

2

Trzeba reverse-eningeer protokół DeltaSync. Użyj 32-bitowej wersji MS-Mail i oSpy, aby przechwytywać pakiety SSL + Wireshark, aby przechwytywać pakiety http.

+0

Po co komplikować rzeczy. Użyj Google Chrome lub Firefox + Firebug i spójrz na prośbę/odpowiedzi. – jgauffin

+0

@jgauffin: To będzie bardziej skomplikowane niż użycie oSpy + Wireshark. I nie będzie to łatwe, a na pewno zajmie to dużo czasu. –

+0

To naprawdę komplikuje sprawy. Moja najgorsza nadzieja polega na używaniu skrzypka i naśladowaniu wysłanych żądań, a następnie analizowaniu odpowiedzi za pomocą regex lub htmlAgilityPack, ale jest to czasochłonne i nie jest tym, czego szukam. – deadlock

3

Nie ma oficjalnego sposobu na odczyt Hotmail za pomocą HTTP (S). Kiedyś DAV ale to zostało wycofane, oto oficjalne oświadczenie:

Continuing DAV protocol retirement

Windows Mail & Outlook Connector używają protokołu o nazwie DeltaSync który nie jest udokumentowany.

Niektórzy ludzie próbują inżynierii wstecznej to jak ten facet: DeltaSync HU01 decompression code released, ale nie ma żadnej gwarancji, Asolutely to nie będzie rozwijać się - w rzeczywistości, można mieć pewność, że będzie ewoluować :-)

Więc, lepiej z POP3: Hotmail and MSN Accounts POP3/SMTP Access

3

Możesz użyć użyć ukrytego kontrolka WebBrowser. A następnie użyj kodu źródłowego do przechwytywania tytułów wiadomości e-mail i wszystkich innych. W that answer wyjaśniam, jak to zrobić.

Myślę, że to najłatwiejszy sposób na zrobienie tego.

+0

Szczury, chciałem to zasugerować. – MusiGenesis

1

Spróbuj spojrzeć na WaTiN. Jest to framework, którego używamy do przeprowadzania testów na naszej aplikacji internetowej, co pozwala na zminimalizowanie interakcji użytkownika. Używamy również do komunikowania się z Mailinatorem w celu sprawdzenia fałszywych wiadomości e-mail.

Jestem prawie pewny, że WaTiN może być pomocna, ale wadą jest to, że otworzy ona konkretną przeglądarkę, więc jeśli możesz z tym żyć, to jest to droga.

Możesz również tworzyć webwequests i podawać prawidłowe dane postów do logowania, naprawdę nie jest to takie trudne. Następnie po prostu przeanalizuj treść odpowiedzi, aby sprawdzić, czy są wiadomości e-mail.

Zwykle korzystałeś z przestrzeni nazw System.Net.mail i mailclients, aby łączyć się bezpośrednio z serwerami hotmail, ale nie jestem pewien, czy nadal pozwala na to Hotmail.

2

To prawdopodobnie nie jest to, czego szukasz, ale możesz tunelować połączenie POP3 przez http. Wadą jest to, że potrzebujesz serwera gdzieś poza twoim lanem, z którym możesz się połączyć. Oto przykład: Pop3 over Http

Powiązane problemy