bei hotmail nur nachsehen ob eMails vorhanden

  • bei hotmail nur nachsehen ob eMails vorhanden

    hallo,
    mit _POP3connect kann ich auf verschiedene eMailserver zugreifen und nachschauen ob und wieviele eMails dort vorhanden sind (mittels _POP3Info und _ArrayDisplay). bei hotmail oder auch gmail geht das nicht. _INetSmtpMailCom ist nur vorgesehen, eMails zu senden. was soll ich also verwenden und wie ? danke.

    Dieser Beitrag wurde bereits 4 mal editiert, zuletzt von supernova ()

  • im bild 11.. sieht man einen normalen ablauf mit port 110



    im bild 21.. sieht man einen hängenden ablauf mit port 995 (bleibt dort stehen oder Myshutdown)



    im bild 31.. sieht man wie im source der _POP3.au3 die funktionen TCPStartup, TCPNameToIP und TCPConnect irgendwie funktionieren. (zu TCPNameToIP: habe auch direkt mit verschiedenen IP-werten probiert, hätte ja sein können, dass die umsetzung von text in eine IP nicht richtig funktionieren würde, ist aber okay).

    die problemstelle ist wohl bei __POP3WaitForOK. diese nutzt die funktion __POP3WaitTcpResponse und diese widerum die funktion TCPRecv, welche bestandteil von autoit selber ist.



    im bild 41.. sieht man wie ich dort debugeinbauten vorgenommen habe um zu sehen, wie die antworten von TCPRecv sind. aber ausser hochzählen kommt da nichts.



    das erhöhen der paketgrösse von 512 auf 2048 brachte keine veränderung.

    Dieser Beitrag wurde bereits 1 mal editiert, zuletzt von supernova ()

  • würde nicht lange bohren, findest hier http://hpop.sourceforge.net ein nettes, neuestes util welches auch bestens mit hotmail, gmail oder was sonst noch kreucht und fleucht fertig wird. bei dieser OpenPop.dll ist auch ein ausführbares EXE womit du testen/vergleichen kannst. in zukunft sicher das beste.

    kannst mir mal die daten vom gmail senden. ich teste dann von hier aus. vielleicht liegt es auch nur an der falschen IP.
  • habe mit deinen daten probiert und es funktioniert tatsächlich bestens mit OpenPop.dll, respektive die benutzung von deren beispielEXE. mehr detail kannst du nicht erwarten. bin am studieren der chm, aber die ist voll im bereich von "C" und mir völlig fremd. jedenfalls verwendet hotmail und gmail ganz normale routinen nur, in der _POP3.au3 ist das nicht eingebaut. wie sieht es mit dem hardcore von autoit aus ?
  • oberstes ziel ist es, das eigentliche problem/aufgabenstellung zu lösen. im zweiten am liebsten mit "onboard-mitteln" von autoit. wenn das nicht erfolgreich, so "externe ware" anwenden. man müsste jemanden haben, der die integration von OpenPop.dll an die hand nimmt.

    Dieser Beitrag wurde bereits 1 mal editiert, zuletzt von supernova ()

  • habe mal ein testprgrämmli gemacht, so dass wir beim testen die gleiche basis haben. es stimmt, weder bei hotmail noch bei gmail kommt eine antwort, im gegensatz zu den allerwelts mailern. achtung, jeweilen den port noch anpassen. im debug-fenster unten im SciTE kann man den ganzen ablauf gut sehen/mitverfolgen.
    wie sind eure ergebnisse/vorschläge ?
    Spoiler anzeigen

    AutoIt

    1. ;;login_gmail.au3 äöü 12.04.02
    2. local $i
    3. local $oTCP
    4. local $cIP
    5. local $cAntwort=""
    6. ;;gmail
    7. $cIP="74.125.79.108" ;;74.125.79.108 74.125.79.109 supernova
    8. ;$cIP="74.125.43.108" ;;74.125.43.108 74.125.43.109
    9. ;;hotmail
    10. ;$cIP="207.46.46.181" ;;207.46.46.181 ?
    11. ;;einfach
    12. ;$cIP="213.133.103.20" ;;213.133.103.20 80.74.152.40
    13. ;;;;;
    14. ;;;;;quasi Main, läuft nur einmal durch
    15. ConsoleWrite($cIP & @CRLF)
    16. ;;Modul erst laden/starten
    17. TCPStartup()
    18. ;;verbinden
    19. $oTCP=TCPConnect($cIP,"995") ;;<================= 110 995
    20. ;;laufend abfragen
    21. For $i = 1 to 40 ;;40x bei 50m" = 2"
    22. $cAntwort=TCPRecv($oTCP,512)
    23. If $cAntwort=="" Then
    24. $cAntwort=f_PadL(4,"0",$i) & ":-"
    25. Else
    26. $cAntwort=f_PadL(4,"0",$i) & $cAntwort
    27. EndIf
    28. ;;anzeigen
    29. ConsoleWrite(StringStripWS($cAntwort,2) & @CRLF)
    30. Sleep(50)
    31. Next
    32. ;;Verbindung schliessen/abmelden
    33. TCPCloseSocket($oTCP)
    34. ;;Modul entladen
    35. TCPShutdown()
    36. ;;;;;
    37. ;;;;;
    38. Func f_PadL($pnLang,$pcFueller,$pcZuManip)
    39. While StringLen($pcZuManip)<$pnLang
    40. $pcZuManip=$pcFueller & $pcZuManip
    41. WEnd
    42. Return $pcZuManip
    43. EndFunc
    44. ;;ende
    Alles anzeigen

    Dieser Beitrag wurde bereits 4 mal editiert, zuletzt von gango ()

  • danke dir "gango" für das testmuster. bei mir sind wie gesagt die gleichen effekte festzustellen. warte jetzt noch auf die info von "wirr4all", weil er vermutlich (örtlich) auf einem anderen gmail-server einloggt.
    bin irgendwie doch etwas enttäuscht über die mageren resultate/teilnahmen/ideen der autoitler.

    Dieser Beitrag wurde bereits 2 mal editiert, zuletzt von supernova ()

  • habe das konvertieren mal eingebaut plus ein paar annehmlichkeiten.
    Spoiler anzeigen

    AutoIt

    1. ;;login_gmail_2.au3 äöü 12.04.06
    2. local $i
    3. local $oTCP
    4. local $cIPname,$cIPzahl,$cIPport
    5. local $cAntwort=""
    6. local $aMailer[2]=["pop.gmail.com","995"] ;;google
    7. ;local $aMailer[2]=["pop3.live.com","995"] ;;hotmail
    8. ;local $aMailer[2]=["pop.bluewin.ch","110"]
    9. ;;so leichter verständlich
    10. $cIPname=$aMailer[0]
    11. $cIPport=$aMailer[1]
    12. ;;Modul erst laden/starten
    13. TCPStartup()
    14. ;;in IP konvertieren
    15. $cIPzahl=TCPNameToIP($cIPname)
    16. ConsoleWrite("|" & $cIPname & "|" & $cIPzahl & "|" & $cIPport & "|" & @CRLF)
    17. ;;verbinden
    18. $oTCP=TCPConnect($cIPzahl,$cIPport)
    19. ;;laufend (20x) abfragen
    20. For $i = 1 to 20 ;;20x bei 50m" = 1"
    21. $cAntwort=TCPRecv($oTCP,512)
    22. If $cAntwort=="" Then
    23. $cAntwort=f_PadL(4,"0",$i) & ":-"
    24. Else
    25. $cAntwort=f_PadL(4,"0",$i) & $cAntwort
    26. EndIf
    27. ;;anzeigen
    28. ConsoleWrite(StringStripWS($cAntwort,2) & @CRLF)
    29. Sleep(50)
    30. Next
    31. ;;Verbindung schliessen/abmelden
    32. TCPCloseSocket($oTCP)
    33. ;;Modul entladen
    34. TCPShutdown()
    35. ;;;;;
    36. ;;;;;
    37. Func f_PadL($pnLang,$pcFueller,$pcZuManip)
    38. While StringLen($pcZuManip)<$pnLang
    39. $pcZuManip=$pcFueller & $pcZuManip
    40. WEnd
    41. Return $pcZuManip
    42. EndFunc
    43. ;;ende
    Alles anzeigen
    ich denke, das TCPconnect müsste noch einen weiteren parameter senden oder sogar gleich senden, über welchen port man selbst senden wird. die 995 ist ja die vom mailer und nicht der port von uns sendenden.

    Dieser Beitrag wurde bereits 2 mal editiert, zuletzt von supernova ()

  • die TCP-funktionen sind nicht in einer UDF im include-ordner. offenbar sind sie doch bestandteil vom autoit-hardcore. und trotzdem, autoit ruft sicher die entsprechenden originalen windows-prozeduren dazu auf (wie ja auch die OpenPop.dll)

    wer kennt die in der OpenPop.dll enthaltenen prozeduren (liste), sowie deren parameter ?
  • habe zwischenzeitlich die lösung aus vielen quellen zusammen gekratzt und das ganze selber gebaut. für googlemail läuft auch alles schon störungsfrei, hingegen bei der immer überlasteten hotmail will es noch etwas mehr zeit um alle timeout's abzufangen. fragt man dort viele male und häufig hintereinander den account ab, blockiert hotmail sogar den zugang für 15minuten mit der meldung -ERR Exceeded the login limit for a 15 minute period. Reduce the frequency of requests to the POP3 server. das nervt einem also schon beim testen.

    die lösung geht grundsätzlich jetzt via die OpenSSL-Win32 (davon werden aber nur einige dateien benötigt). es ist noch zu früh um den source zu zeigen. ich melde mich wieder in kürze.
  • es braucht die dateien openssl.exe, libeay32.dll, ssleay32.dll welche unten in der OpenSSL_dateien.zip sind.

    persönlich bin ich mit meiner lösung ganz und gar nicht zufrieden. mit der abgemagerten version, welche ich in kürze hochhieve sind immer noch 500 programmzeilen und für einen zuverlässigen transfer mit hotmail brauche ich sehr lange SLEEP-zeiten. mit gmail/google geht es aber bestens. das hat nichts mit SSL/verschlüsselung zu tun, hotmail agiert einfach chaotisch.
Webutation