Daferra Posted July 9, 2008 Share Posted July 9, 2008 Hi All, I there someone that will help me with to build a script tonight, its a little script (i think) that needs to do the following: From a excel list i need to import a two column with email addresses and codes. After the import a visual list of wat I've imported and a button to do a next action The next action needs to create a email with the codes and a text messages that can created from within de gui. This will save me a lot of time tomorrow and maybe even my job. So any help is welcome, Greetz Ferdi Link to comment Share on other sites More sharing options...
Daferra Posted July 9, 2008 Author Share Posted July 9, 2008 Ok, this a start i think The main GUI and a peace of code that i found on this forum thanks to AL3X. expandcollapse popup#Include<file.au3> #include <GUIConstants.au3> Global $oMyError = ObjEvent("AutoIt.Error", "MyErrFunc") ;################################## ; Include ;################################## #Include<file.au3> ;################################## ; Variables ;################################## $s_SmtpServer = "smtp.gmail.com" ; address for the smtp-server to use - REQUIRED $s_FromName = "Nombre" ; name from who the email was sent $s_FromAddress = "email@gmail.com" ;address from where the mail should come $s_ToAddress = "youremail@gmail.com" ;destination address of the email - REQUIRED $s_Subject = "Hi!" ;subject from the email - can be anything you want it to be $as_Body = "" ;the messagebody from the mail - can be left blank but then you get a blank mail $s_AttachFiles = "" ;the file you want to attach- leave blank if not needed $s_CcAddress = "" ;address for cc - leave blank if not needed $s_BccAddress = "" ;address for bcc - leave blank if not needed $s_Username = "youremail@gmail.com" ;username for the account used from where the mail gets sent - Optional (Needed for eg GMail) $s_Password = "yourpassword" ;password for the account used from where the mail gets sent - Optional (Needed for eg GMail) $IPPort = 465 ;port used for sending the mail $ssl = 1 ;enables/disables secure socket layer sending - put to 1 if using httpS ;~ $IPPort=465 ;GMAIL port used for sending the mail ;~ $ssl=1 ;GMAILenables/disables secure socket layer sending - put to 1 if using httpS ;################################## ; GUI ;################################## #Region GUI $Form1 = GUICreate("Send new codes", 633, 454, 393, 164) $Edit1 = GUICtrlCreateEdit("", 16, 24, 281, 409) GUICtrlSetData(-1, "Edit1") $Edit2 = GUICtrlCreateEdit("", 320, 64, 289, 273) GUICtrlSetData(-1, "Edit2") $Label1 = GUICtrlCreateLabel("Text to send with imported codes", 320, 24, 36, 17) $Import = GUICtrlCreateButton("Import XLS", 328, 400, 81, 33, 0) $BSend = GUICtrlCreateButton("Send", 424, 400, 73, 33, 0) GUISetState(@SW_SHOW) #EndRegion GUI While 1 $nMsg = GUIGetMsg() Switch $nMsg Case $GUI_EVENT_CLOSE Exit Case $Import Exit Case $Bsend _INetSmtpMailCom() EndSwitch WEnd ;################################## ; Script ;################################## Global $oMyRet[2] Global $oMyError = ObjEvent("AutoIt.Error", "MyErrFunc") $rc = _INetSmtpMailCom($s_SmtpServer, $s_FromName, $s_FromAddress, $s_ToAddress, $s_Subject, $as_Body, $s_AttachFiles, $s_CcAddress, $s_BccAddress, $s_Username, $s_Password, $IPPort, $ssl) If @error Then MsgBox(0, "Error sending message", "Error code:" & @error & " Rc:" & $rc) EndIf ; Func _INetSmtpMailCom($s_SmtpServer, $s_FromName, $s_FromAddress, $s_ToAddress, $s_Subject = "", $as_Body = "", $s_AttachFiles = "", $s_CcAddress = "", $s_BccAddress = "", $s_Username = "", $s_Password = "",$IPPort=25, $ssl=0) $objEmail = ObjCreate("CDO.Message") $objEmail.From = '"' & $s_FromName & '" <' & $s_FromAddress & '>' $objEmail.To = $s_ToAddress Local $i_Error = 0 Local $i_Error_desciption = "" If $s_CcAddress <> "" Then $objEmail.Cc = $s_CcAddress If $s_BccAddress <> "" Then $objEmail.Bcc = $s_BccAddress $objEmail.Subject = $s_Subject If StringInStr($as_Body,"<") and StringInStr($as_Body,">") Then $objEmail.HTMLBody = $as_Body Else $objEmail.Textbody = $as_Body & @CRLF EndIf If $s_AttachFiles <> "" Then Local $S_Files2Attach = StringSplit($s_AttachFiles, ";") For $x = 1 To $S_Files2Attach[0] $S_Files2Attach[$x] = _PathFull ($S_Files2Attach[$x]) If FileExists($S_Files2Attach[$x]) Then $objEmail.AddAttachment ($S_Files2Attach[$x]) Else $i_Error_desciption = $i_Error_desciption & @lf & 'File not found to attach: ' & $S_Files2Attach[$x] SetError(1) return 0 EndIf Next EndIf $objEmail.Configuration.Fields.Item ("http://schemas.microsoft.com/cdo/configuration/sendusing") = 2 $objEmail.Configuration.Fields.Item ("http://schemas.microsoft.com/cdo/configuration/smtpserver") = $s_SmtpServer $objEmail.Configuration.Fields.Item ("http://schemas.microsoft.com/cdo/configuration/smtpserverport") = $IPPort ;Authenticated SMTP If $s_Username <> "" Then $objEmail.Configuration.Fields.Item ("http://schemas.microsoft.com/cdo/configuration/smtpauthenticate") = 1 $objEmail.Configuration.Fields.Item ("http://schemas.microsoft.com/cdo/configuration/sendusername") = $s_Username $objEmail.Configuration.Fields.Item ("http://schemas.microsoft.com/cdo/configuration/sendpassword") = $s_Password EndIf If $Ssl Then $objEmail.Configuration.Fields.Item ("http://schemas.microsoft.com/cdo/configuration/smtpusessl") = True EndIf ;Update settings $objEmail.Configuration.Fields.Update ; Sent the Message $objEmail.Send if @error then SetError(2) return $oMyRet[1] EndIf EndFunc;==>_INetSmtpMailCom ; ; ; Com Error Handler Func MyErrFunc() $HexNumber = Hex($oMyError.number, 8) $oMyRet[0] = $HexNumber $oMyRet[1] = StringStripWS($oMyError.description,3) ConsoleWrite("### COM Error ! Number: " & $HexNumber & " ScriptLine: " & $oMyError.scriptline & " Description:" & $oMyRet[1] & @LF) SetError(1); something to check for when this function returns Return EndFunc;==>MyErrFunc Link to comment Share on other sites More sharing options...
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