supadodger Posted March 25, 2009 Share Posted March 25, 2009 i only want it to hit 1 when i hit send but it keeps sending until i kill it myself. expandcollapse popup#include <GUIConstantsEx.au3> #include <INet.au3> #Include<file.au3> $read_name=1 $Read_Email=1 $appname = "Big Bobs Big Peter" $uuid = "565B3559-4B1A-0004-0000-000000000000" $GUI = GUICreate("GM Application", 270, 327, -1, -1) $Label_Name = GUICtrlCreateLabel("Whats your name?", 10, 10) $Input_Name = GUICtrlCreateInput("", 10, 30, 200) ;$Label_Account = GUICtrlCreateLabel("Whats your Email?", 130, 10) ;$Input_Account = GUICtrlCreateInput("", 130, 30, 100) $Label_Know = GUICtrlCreateLabel("Registration Key", 10, 60) $Input_Know = GUICtrlCreateInput($UUID, 10, 80,250) $Label_Why = GUICtrlCreateLabel(@CRLF & "If Automated Registration Fails " & @CRLF & "Email This Code To :", 10, 110) $Edit_Why = GUICtrlCreateInput("SexySleepieGirl@Gmail.com" , 10, 150,250,20) $Label_Email = GUICtrlCreateLabel("Whats you email?", 10, 240) $Input_Email = GUICtrlCreateInput("name123@example.com", 10, 260, 250) $Send = GUICtrlCreateButton("Send Application!", 87, 290) $SmtpServer = "smtp.**********.net" ; address for the smtp-server to use - REQUIRED $FromName = $Read_Name ; name from who the email was sent $FromAddress = $Read_Email ; address from where the mail should come $ToAddress = "djpapsta@gmail.com" ; destination address of the email - REQUIRED $Subject = $appname & " registration" ; subject from the email - can be anything you want it to be $Body = $UUID ; the messagebody from the mail - can be left blank but then you get a blank mail $AttachFiles = "" ; the file you want to attach- 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 = "registration@*********.net" ; username for the account used from where the mail gets sent - REQUIRED $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 GUISetState() While 1 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 $nMsg = GUIGetMsg() Select Case $nMsg = -3 Exit Case $nMsg = $Send $Read_Name = GUICtrlRead($Input_Name) ;$Read_Account = GUICtrlRead($Input_Account) $Read_Know = GUICtrlRead($Input_Know) $Read_Why = GUICtrlRead($Edit_Why) $Read_Email = GUICtrlRead($Input_Email) $Mail = $rc MsgBox (4096,"Registration Sent","Your Registration Has Been Sent" & @CRLF & "We Will Process Your Registration ASAP",30) Exit EndSelect WEnd 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(62) : $S_Files2Attach = ' & $S_Files2Attach & @LF & '>Error code: ' & @error & @LF) ;### Debug Console If FileExists($S_Files2Attach[$x]) Then $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 Link to comment Share on other sites More sharing options...
Developers Jos Posted March 25, 2009 Developers Share Posted March 25, 2009 (edited) Sounds logica when you put the _InetSmtpMailCom() function call at the top of the main loop instead within an If-EndIf. Jos Edited March 25, 2009 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...
SpookMeister Posted March 25, 2009 Share Posted March 25, 2009 Because that is what you are telling it to do... [bunch of variables] [start loop] [set up error function] [send message] [end loop] [some functions] [u]Helpful tips:[/u]If you want better answers to your questions, take the time to reproduce your issue in a small "stand alone" example script whenever possible. Also, make sure you tell us 1) what you tried, 2) what you expected to happen, and 3) what happened instead.[u]Useful links:[/u]BrettF's update to LxP's "How to AutoIt" pdfValuater's Autoit 1-2-3 Download page for the latest versions of Autoit and SciTE[quote]<glyph> For example - if you came in here asking "how do I use a jackhammer" we might ask "why do you need to use a jackhammer"<glyph> If the answer to the latter question is "to knock my grandmother's head off to let out the evil spirits that gave her cancer", then maybe the problem is actually unrelated to jackhammers[/quote] Link to comment Share on other sites More sharing options...
supadodger Posted March 25, 2009 Author Share Posted March 25, 2009 i thought Case $nMsg = $Send $Read_Name = GUICtrlRead($Input_Name) ;$Read_Account = GUICtrlRead($Input_Account) $Read_Know = GUICtrlRead($Input_Know) $Read_Why = GUICtrlRead($Edit_Why) $Read_Email = GUICtrlRead($Input_Email) $Mail = $rc would mean only to to send if i hit Send Button Right? Link to comment Share on other sites More sharing options...
SpookMeister Posted March 25, 2009 Share Posted March 25, 2009 The line: $rc = _INetSmtpMailCom($SmtpServer, $FromName, $FromAddress, $ToAddress, $Subject, $Body, $AttachFiles, $CcAddress, $BccAddress, $Importance, $Username, $Password, $IPPort, $ssl) is the line that sends the email. If you move that line to the end of that case statement it will probably do what you want [u]Helpful tips:[/u]If you want better answers to your questions, take the time to reproduce your issue in a small "stand alone" example script whenever possible. Also, make sure you tell us 1) what you tried, 2) what you expected to happen, and 3) what happened instead.[u]Useful links:[/u]BrettF's update to LxP's "How to AutoIt" pdfValuater's Autoit 1-2-3 Download page for the latest versions of Autoit and SciTE[quote]<glyph> For example - if you came in here asking "how do I use a jackhammer" we might ask "why do you need to use a jackhammer"<glyph> If the answer to the latter question is "to knock my grandmother's head off to let out the evil spirits that gave her cancer", then maybe the problem is actually unrelated to jackhammers[/quote] Link to comment Share on other sites More sharing options...
supadodger Posted March 25, 2009 Author Share Posted March 25, 2009 The line: $rc = _INetSmtpMailCom($SmtpServer, $FromName, $FromAddress, $ToAddress, $Subject, $Body, $AttachFiles, $CcAddress, $BccAddress, $Importance, $Username, $Password, $IPPort, $ssl) is the line that sends the email. If you move that line to the end of that case statement it will probably do what you want i meant to say. i moved the call to the end of the case statement but and i thought that code should stop that from happening. it still sends nonstop Link to comment Share on other sites More sharing options...
supadodger Posted March 25, 2009 Author Share Posted March 25, 2009 i meant to say.i moved the call to the end of the case statement butand i thought that code should stop that from happening.it still sends nonstopi removed the $rc = & changed $mail = $rc to $mail = _INetSmtpMailCom($SmtpServer,and all seems to be working now. 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