Stilgar Posted February 25, 2011 Posted February 25, 2011 Here's an updated version of this:POP3-UDF(array.au3 are not used anymore, better return codes, new functions, optimized code, added comments)Many thanks to the original author Luc HENNINOT!_POP3.au3Current functions:- _POP3Info (new)- _POP3Connect (new: with "automatic" mode - tries to find the pop3-server by your email adress)- _POP3Dele- _POP3Disconnect- _POP3List (new: returns an 2D-array)- _POP3Noop- _POP3Quit- _POP3Retr- _POP3Rset- _POP3Stat- _POP3MsgCnt (new)- _POP3Top- _POP3Uidl (new: returns an 2D-array)- __POP3Cmd (new internal function)Example:If _POP3Connect("AnnExampleUser@freenet.de", "0815") Then $a = _POP3Info() _ArrayDisplay($a) _POP3Quit() _POP3Disconnect() EndIfThe UDF:_POP3.au3 mLipok 1 jEdit4AutoIt PlanMaker_UDF
Stilgar Posted February 25, 2011 Author Posted February 25, 2011 On 2/25/2011 at 8:42 PM, 'Potarski said: What is it?More information please http://en.wikipedia.org/wiki/Post_Office_ProtocolPost Office Protocol (POP) - "to retrieve e-mail from a remote server over a TCP/IP connection." jEdit4AutoIt PlanMaker_UDF
wakillon Posted February 27, 2011 Posted February 27, 2011 (edited) Can you give a list of compatible email address type, because after some tries it give :with one :_POP3Connect: Error: Can't find POP3-server.+>10:12:11 AutoIT3.exe ended.rc:0or_POP3Connect: connecting to: (pop3.live.com) 65.55.32.247:110+>10:17:08 AutoIT3.exe ended.rc:0with an other :_POP3Connect: connecting to: (pop.gmail.com) 74.125.43.109:110+>10:23:14 AutoIT3.exe ended.rc:0>Exit code: 0 Time: 64.895Like you can see, script ends silently with no error message...Only one works : pop3.free.fr ! Edited February 27, 2011 by wakillon AutoIt 3.3.14.2 X86 - SciTE 3.6.0 - WIN 8.1 X64 - Other Example Scripts
Stilgar Posted February 27, 2011 Author Posted February 27, 2011 (edited) On 2/27/2011 at 9:27 AM, 'wakillon said: Can you give a list of compatible email address type, because after some tries it give : with one : _POP3Connect: Error: Can't find POP3-server. +>10:12:11 AutoIT3.exe ended.rc:0 or _POP3Connect: connecting to: (pop3.live.com) 65.55.32.247:110 +>10:17:08 AutoIT3.exe ended.rc:0 with an other : _POP3Connect: connecting to: (pop.gmail.com) 74.125.43.109:110 +>10:23:14 AutoIT3.exe ended.rc:0 >Exit code: 0 Time: 64.895 Like you can see, script ends silently with no error message... Only one works : pop3.free.fr ! Hello, the messages looks like two of them seems to work. How looks the rest of your script? "Compatible" addresses are depeding on your user-name. E.g. if you are using a email-address "example@gmx.de" and you are call _POP3Connect like that: _POP3Connect("example@foo.bat", "0815") then the function tries to ping the following pop3-servers: pop.foo.bar pop3.foo.bar pop.foo.com pop3.foo.com if this fails the message _POP3Connect: Error: Can't find POP3-server appears. But you can call it with the POP3-server, too e.g.: _POP3Connect("example@foo.bar", "0815", "pop3.foo.bar") Edited February 27, 2011 by Stilgar jEdit4AutoIt PlanMaker_UDF
wakillon Posted February 27, 2011 Posted February 27, 2011 (edited) I try like this #include <_POP3.au3> If _POP3Connect ( "*********@live.fr", "********", "pop3.live.com" ) Then $a = _POP3Info() _ArrayDisplay($a) $b = _POP3List ( ) _ArrayDisplay ( $b ) _POP3Quit() _POP3Disconnect() EndIf If _POP3Connect ( "**********@gmail.com", "**********", "pop.gmail.com" ) Then $a = _POP3Info() _ArrayDisplay($a) $b = _POP3List ( ) _ArrayDisplay ( $b ) _POP3Quit() _POP3Disconnect() EndIf but unsucessfully... Edit : my gmail account is actived for pop. Edited February 27, 2011 by wakillon AutoIt 3.3.14.2 X86 - SciTE 3.6.0 - WIN 8.1 X64 - Other Example Scripts
pierrotm777 Posted April 14, 2011 Posted April 14, 2011 (edited) How can i modify this exemple found with the first _POP3.au3 UDF ? expandcollapse popup#include <ButtonConstants.au3> #include <GUIConstantsEx.au3> #include <StaticConstants.au3> #include <TreeViewConstants.au3> #include <WindowsConstants.au3> #include <GuiListView.au3> #include <array.au3> #include <_pop3.au3> #include <Constants.au3> ;#NoTrayIcon Opt("TrayMenuMode",1) ; Default tray menu items (Script Paused/Exit) will not be shown. $settingsitem = TrayCreateMenu("Settings") $displayitem = TrayCreateItem("Display", $settingsitem) $printeritem = TrayCreateItem("Printer", $settingsitem) TrayCreateItem("") $aboutitem = TrayCreateItem("About") TrayCreateItem("") $exititem = TrayCreateItem("Exit") TraySetState() TraySetClick(16) Global $MyPopServer = "pop.free.fr" Global $MyLogin = "username" ; login name only Global $MyPasswd = "password" #include <ButtonConstants.au3> #include <EditConstants.au3> #include <GUIConstantsEx.au3> #include <ListViewConstants.au3> #include <TreeViewConstants.au3> #include <WindowsConstants.au3> $Form1_1 = GUICreate("Inem Mail", 500, 480) $sLVhdr = "ID|Date|From|Subject" $aLVhdr = StringSplit($sLVhdr, "|") $ListView1 = GUICtrlCreateListView($sLVhdr, 100, 34, 390, 169) GUICtrlSendMsg(-1, 0x101E, 0, 48) GUICtrlSendMsg(-1, 0x101E, 1, 100) GUICtrlSendMsg(-1, 0x101E, 2, 100) GUICtrlSendMsg(-1, 0x101E, 3, 140) $Edit1 = GUICtrlCreateEdit("", 10, 220, 480, 249) $TreeView1 = GUICtrlCreateTreeView(5, 34, 86, 169) $TreeView1_0 = GUICtrlCreateTreeViewItem("INBOX", $TreeView1) $TreeView1_1 = GUICtrlCreateTreeViewItem("Unread", $TreeView1_0) $TreeView1_2 = GUICtrlCreateTreeViewItem("Read", $TreeView1_0) $TreeView1_3 = GUICtrlCreateTreeViewItem("All Mail", $TreeView1_0) $TreeView1_4 = GUICtrlCreateTreeViewItem("Send Mail", $TreeView1) $TreeView1_5 = GUICtrlCreateTreeViewItem("Drafts", $TreeView1) $TreeView1_6 = GUICtrlCreateTreeViewItem("Spam", $TreeView1) $Button1 = GUICtrlCreateButton("Compose", 4, 4, 65, 21, 0) $Button2 = GUICtrlCreateButton("Send / Recieve", 72, 4, 85, 21, 0) GUISetState(@SW_SHOW) GUIRegisterMsg($WM_NOTIFY, "WM_Notify_Events") While 1 $nMsg = GUIGetMsg() Select Case $nMsg = $GUI_EVENT_CLOSE Exit Case $nMsg = $Button2 checkmail() EndSelect WEnd Func Click() _pop3Connect ($MyLogin, $MyPasswd,$MyPopServer) $iRow = _GUICtrlListView_GetNextItem($ListView1) ; current selected If $iRow = -1 Then Return $aMsgNum = StringSplit(_GUICtrlListView_GetItemText($ListView1, $iRow), " ") If $aMsgNum[0] = 1 Then Return GUICtrlSetData($Edit1, _Pop3Retr($aMsgNum[1])) _pop3Disconnect() EndFunc ;==>Click Func WM_Notify_Events($hWndGUI, $MsgID, $wParam, $lParam) Local $tagNMHDR, $iEvent If $wParam = $ListView1 Then $tagNMHDR = DllStructCreate("int;int;int", $lParam) $iEvent = DllStructGetData($tagNMHDR, 3) ;If $iEvent = $NM_DBLCLK Then Click() If $iEvent = $NM_CLICK Then Click() EndIf EndFunc ;==>WM_Notify_Events Func checkmail() _pop3Connect($MyLogin, $MyPasswd,$MyPopServer) If @error Then MsgBox(262144 + 16, "", "Unable to connect to mail server @error=" & @error) Exit EndIf $aLoopNum = _Pop3Stat() $iCurrent = 0 While $iCurrent < $aLoopNum[1] $iCurrent += 1 $sMsgHdr = _Pop3Top($iCurrent, 1) $stat = _Pop3List($iCurrent) $sItem = $stat[1] & "|" For $i = 2 To $aLVhdr[0] $aItem = StringRegExp($sMsgHdr, "(" & $aLVhdr[$i] & " :) (.*[\r\n])", 3) If @error = 0 Then If UBound($aItem) = 2 Then $sItem &= StringStripWS($aItem[1], 3) & "|" EndIf EndIf ;StringTrimRight($sItem, 1) Next GUICtrlCreateListViewItem($sItem, $ListView1) WEnd _pop3Disconnect() EndFunc ;==>checkmail This exemple don't run with the new UDF ! Big thanks Edited April 14, 2011 by pierrotm777
pierrotm777 Posted April 14, 2011 Posted April 14, 2011 On 2/27/2011 at 2:38 PM, 'wakillon said: I try like this #include <_POP3.au3> If _POP3Connect ( "*********@live.fr", "********", "pop3.live.com" ) Then $a = _POP3Info() _ArrayDisplay($a) $b = _POP3List ( ) _ArrayDisplay ( $b ) _POP3Quit() _POP3Disconnect() EndIf If _POP3Connect ( "**********@gmail.com", "**********", "pop.gmail.com" ) Then $a = _POP3Info() _ArrayDisplay($a) $b = _POP3List ( ) _ArrayDisplay ( $b ) _POP3Quit() _POP3Disconnect() EndIf but unsucessfully... Edit : my gmail account is actived for pop. Gmail use a SSL mode , so this UDF don't run with
Recommended Posts
Create an account or sign in to comment
You need to be a member in order to leave a comment
Create an account
Sign up for a new account in our community. It's easy!
Register a new accountSign in
Already have an account? Sign in here.
Sign In Now