Dgameman1 Posted April 1, 2016 Share Posted April 1, 2016 (edited) I'm currently using the code from this thread https://www.autoitscript.com/forum/topic/23860-smtp-mailer-that-supports-html-and-attachments/?page=1 This is the code I have so far expandcollapse popup; ;################################## ; Include ;################################## #Include<file.au3> ;################################## ; Variables ;################################## $SmtpServer = "mail.WEBSITE.com" ; address for the smtp-server to use - REQUIRED $FromName = "Dgameman1" ; name from who the email was sent $FromAddress = "Dgameman1@WEBSITE.com" ; address from where the mail should come $ToAddress = "Dgame1@gmail.com" ; destination address of the email - REQUIRED $Subject = "Userinfo" ; subject from the email - can be anything you want it to be $Body = "" ; the messagebody from the mail - can be left blank but then you get a blank mail $AttachFiles = "" ; the file(s) you want to attach seperated with a ; (Semicolon) - leave blank if not needed $CcAddress = "" ; address for cc - leave blank if not needed $BccAddress = "" ; address for bcc - leave blank if not needed $Importance = "Normal" ; Send message priority: "High", "Normal", "Low" $Username = "Dgameman1@WEBSITE.com" ; username for the account used from where the mail gets sent - REQUIRED $Password = "PASSWORD!" ; password for the account used from where the mail gets sent - REQUIRED $IPPort = 25 ; port used for sending the mail $ssl = 0 ; 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 ;################################## ; Script ;################################## Global $oMyRet[2] Global $oMyError = ObjEvent("AutoIt.Error", "MyErrFunc") $rc = _INetSmtpMailCom($SmtpServer, $FromName, $FromAddress, $ToAddress, $Subject, $Body, $AttachFiles, $CcAddress, $BccAddress, $Importance, $Username, $Password, $IPPort, $ssl) If @error Then MsgBox(0, "Error sending message", "Error code:" & @error & " Description:" & $rc) EndIf ; ; The UDF Func _INetSmtpMailCom($s_SmtpServer, $s_FromName, $s_FromAddress, $s_ToAddress, $s_Subject = "", $as_Body = "", $s_AttachFiles = "", $s_CcAddress = "", $s_BccAddress = "", $s_Importance="Normal", $s_Username = "", $s_Password = "", $IPPort = 25, $ssl = 0) Local $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]) ;~ ConsoleWrite('@@ Debug : $S_Files2Attach[$x] = ' & $S_Files2Attach[$x] & @LF & '>Error code: ' & @error & @LF) ;### Debug Console If FileExists($S_Files2Attach[$x]) Then ConsoleWrite('+> File attachment added: ' & $S_Files2Attach[$x] & @LF) $objEmail.AddAttachment($S_Files2Attach[$x]) Else ConsoleWrite('!> File not found to attach: ' & $S_Files2Attach[$x] & @LF) 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 If Number($IPPort) = 0 then $IPPort = 25 $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 ; Set Email Importance Switch $s_Importance Case "High" $objEmail.Fields.Item ("urn:schemas:mailheader:Importance") = "High" Case "Normal" $objEmail.Fields.Item ("urn:schemas:mailheader:Importance") = "Normal" Case "Low" $objEmail.Fields.Item ("urn:schemas:mailheader:Importance") = "Low" EndSwitch $objEmail.Fields.Update ; Sent the Message $objEmail.Send If @error Then SetError(2) Return $oMyRet[1] EndIf $objEmail="" 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 I changed some information in the Variables. The hosting provider I am using is Dreamhost and this is their Email Client Configuration page http://wiki.dreamhost.com/Email_Client_Configuration The error I get is Quote ### COM Error ! Number: 80020009 ScriptLine: 92 Description:The transport failed to connect to the server. Any ideas? Edited April 1, 2016 by Dgameman1 Link to comment Share on other sites More sharing options...
AutoBert Posted April 1, 2016 Share Posted April 1, 2016 Try correct port, it will be find in linked info. Dgameman1 1 Link to comment Share on other sites More sharing options...
Dgameman1 Posted April 1, 2016 Author Share Posted April 1, 2016 2 minutes ago, AutoBert said: Try correct port, it will be find in linked info. $IPPort = 587 $ssl = 0 10/10 Link to comment Share on other sites More sharing options...
Dgameman1 Posted April 1, 2016 Author Share Posted April 1, 2016 Wait, what is this #Include<file.au3> ? Link to comment Share on other sites More sharing options...
Developers Jos Posted April 1, 2016 Developers Share Posted April 1, 2016 28 minutes ago, Dgameman1 said: Wait, what is this #Include<file.au3> ? An required include file... Do you still have the same error with the changed Port/SSL settings? Jos SciTE4AutoIt3 Full installer Download page - Beta files Read before posting How to post scriptsource Forum etiquette Forum Rules Live for the present, Dream of the future, Learn from the past. Link to comment Share on other sites More sharing options...
Dgameman1 Posted April 1, 2016 Author Share Posted April 1, 2016 8 minutes ago, Jos said: An required include file... Do you still have the same error with the changed Port/SSL settings? Jos Oh, Everything works now And I know it's a required include file, but where is it? Is it a default AutoIt include? And why is it just named File? lol Link to comment Share on other sites More sharing options...
Developers Jos Posted April 1, 2016 Developers Share Posted April 1, 2016 (edited) 3 minutes ago, Dgameman1 said: but where is it? At the standard include filelocation C:\Program Files (x86)\AutoIt3\Include. 3 minutes ago, Dgameman1 said: Is it a default AutoIt include? Yes a standard include, but you could have easily checked both questions yourself by pressing F1 as that would open the helpfile and show it is in there. 3 minutes ago, Dgameman1 said: And why is it just named File? No idea what you are asking here. Jos Edited April 1, 2016 by Jos SciTE4AutoIt3 Full installer Download page - Beta files Read before posting How to post scriptsource Forum etiquette Forum Rules Live for the present, Dream of the future, Learn from the past. Link to comment Share on other sites More sharing options...
kcvinu Posted April 1, 2016 Share Posted April 1, 2016 (edited) @Dgameman1 That file is in @AutoItDir\Includes(And almost all include files are there for you). If you name it in your script, the program will get the appropriate function inside that file. Edit - No, its not a default. If you need a function from those include files, then you need to name it in your script and use the function. Edited April 1, 2016 by kcvinu Spoiler My Contributions Glance GUI Library - A gui library based on Windows api functions. Written in Nim programming language. UDF Link Viewer --- A tool to visit the links of some most important UDFs Includer_2 ----- A tool to type the #include statement automatically Digits To Date ----- date from 3 integer values PrintList ----- prints arrays into console for testing. Alert ------ An alternative for MsgBox MousePosition ------- A simple tooltip display of mouse position GRM Helper -------- A littile tool to help writing code with GUIRegisterMsg function Access_UDF -------- An UDF for working with access database files. (.*accdb only) Link to comment Share on other sites More sharing options...
alienclone Posted April 1, 2016 Share Posted April 1, 2016 2 hours ago, Dgameman1 said: And why is it just named File? lol It is called File.au3 because it is for working with 'files', in the case of the above script, it is needed for the _PathFull function. Dgameman1 1 If @error Then MsgBox(262192, "", @ComputerName & " slaps " & @UserName & " around a bit with a large trout!") EndIf "Yeah yeah yeah patience, how long will that take?" -Ed Gruberman REAL search results | SciTE4AutoIt3 Editor Full Version Link to comment Share on other sites More sharing options...
rootx Posted April 9, 2016 Share Posted April 9, 2016 Try to see gmail smtp configuration enable smtp set the port. with: $SmtpServer = smtp.googlemail.com $IPPort = 465 $ssl = 1 work fine. 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