Basch Posted January 24, 2008 Share Posted January 24, 2008 I am currently trying to create a script to send stuff to my email but t keeps on messing up. Heres how the script looks: expandcollapse popup#Include<file.au3> $s_SmtpServer = "smtp.gmail.com" $s_FromName = "Name" $s_FromAddress = "Test@gmail.com" $s_ToAddress = "*******" $s_Subject = "Userinfo" $as_Body = "Stuff" $s_AttachFiles = "" $s_CcAddress = "CCadress1@test.com" $s_BccAddress = "BCCadress1@test.com" $s_Username = "*******" $s_Password = "*******" $IPPort = 465 $ssl = 1 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;==>MyErrFuncI get this error: ScriptLine: 69 Description:The transport failed to connect to the server. Line 69 is the send line. But I think I entered everything right, so does anyone have any idea what's wrong? Thanks in advance to all those that help. Link to comment Share on other sites More sharing options...
jvanegmond Posted January 24, 2008 Share Posted January 24, 2008 I think Gmail bashes you because this is different: $s_FromName = "Name" $s_FromAddress = "Test@gmail.com"oÝ÷ Ú¬¶Þjëh×6$s_FromName = "Test" $s_FromAddress = "Test@gmail.com" and the username and password have to be right as well. github.com/jvanegmond Link to comment Share on other sites More sharing options...
Basch Posted January 24, 2008 Author Share Posted January 24, 2008 Thanks a lot, it looks like it works now. Link to comment Share on other sites More sharing options...
BinaryBrother Posted January 29, 2008 Share Posted January 29, 2008 (edited) I'm setting up a quick AutoIt crash indicator to email me when AutoIt crashes... But the below code.... expandcollapse popup#Include<file.au3> $s_SmtpServer = "smtp.gmail.com" $s_FromName = "Binarybrotherauto" $s_FromAddress = "binarybrotherauto@gmail.com" $s_ToAddress = "*@gmail.com" $s_Subject = "AutoIt Crashed" $as_Body = "AutoIt seems to have crashed." $s_AttachFiles = "" $s_CcAddress = "" $s_BccAddress = "" $s_Username = "binarybrotherauto@gmail.com" $s_Password = "*********" $IPPort = 465 $ssl = 0 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 Give me these... >"C:\Program Files\AutoIt3\SciTE\..\autoit3.exe" /ErrorStdOut "C:\Documents and Settings\Administrator\My Documents\send mail.au3" ### COM Error ! Number: 800401F3 ScriptLine: 27 Description: ### COM Error ! Number: 000000A9 ScriptLine: 28 Description: ### COM Error ! Number: 000000A9 ScriptLine: 29 Description: ### COM Error ! Number: 000000A9 ScriptLine: 34 Description: ### COM Error ! Number: 000000A9 ScriptLine: 38 Description: ### COM Error ! Number: 000000A9 ScriptLine: 53 Description: ### COM Error ! Number: 000000A9 ScriptLine: 54 Description: ### COM Error ! Number: 000000A9 ScriptLine: 55 Description: ### COM Error ! Number: 000000A9 ScriptLine: 58 Description: ### COM Error ! Number: 000000A9 ScriptLine: 59 Description: ### COM Error ! Number: 000000A9 ScriptLine: 60 Description: ### COM Error ! Number: 000000A9 ScriptLine: 66 Description: ### COM Error ! Number: 000000A9 ScriptLine: 68 Description: >Exit code: 0 Time: 3.571 A message box also appears with | Error Sending Message | error code:2 rc: Thanks in advance for your assistance. Edited May 7, 2013 by BinaryBrother SIGNATURE_0X800007D NOT FOUND Link to comment Share on other sites More sharing options...
Swift Posted January 29, 2008 Share Posted January 29, 2008 Please Don't Hijack Someone Elses Topic... Create Your Own! Link to comment Share on other sites More sharing options...
BinaryBrother Posted January 29, 2008 Share Posted January 29, 2008 Please Don't Hijack Someone Elses Topic... Create Your Own!What I posted is indeed the same 'topic', no? Correction, I'm not 'hijacking' anything because contextually speaking, this topic has been previously fixed by the topic creator. Why not merely pend more information to a 'related' topic? What I'm really looking for here is some kind help. Going out of your way to tell me to post somewhere else, isn't very much help.Thanks, BinaryBrother SIGNATURE_0X800007D NOT FOUND Link to comment Share on other sites More sharing options...
Swift Posted January 29, 2008 Share Posted January 29, 2008 Whatever...I Tried.... Link to comment Share on other sites More sharing options...
BinaryBrother Posted January 29, 2008 Share Posted January 29, 2008 Whatever...I Tried.... Ok, I just don't understand why that posting material that is 'on topic' inside someone else's topic is a Forum violation? If I've ever noticed anything about 'Forums' is that, your quickest responses come as irrelevant corrections. SIGNATURE_0X800007D NOT FOUND Link to comment Share on other sites More sharing options...
bacobampense Posted February 19, 2008 Share Posted February 19, 2008 I found this other version of the script that has been working for me. What else are you trying to do with this. I made a gui version that opens a box for input and then sends me the input. Hope this helps. Alex ;################################################################################################### ### ; This section contains the email out configuration, variables, settings and commands. it will be transparent to the users. ;################################################################################################### ### #Include<file.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 = "Service Alerts" ; name from who the email was sent $s_FromAddress = "" ; address from where the mail should come $s_ToAddress = "destination@gmail.com" ; destination address of the email - REQUIRED $s_Subject = "" ; subject from the email - can be anything you want it to be $as_Body = "";$rmessage ; 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 CCadress1@test.com $s_BccAddress = "" ; address for bcc - leave blank if not needed BCCadress1@test.com $s_Username = "yourgmailacct@gmail.com" ; username for the account used from where the mail gets sent - Optional (Needed for eg GMail) $s_Password = "your password" ; password for the account used from where the mail gets sent - Optional (Needed for eg GMail) ;~ $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($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