hallo Com,
ich sage zu Anfang das ich Anfänger in sachen Autoit bin. Hab mich schon etwas eingelesen aber einiges ist noch uklar für mich.
Nun Ziel ist vom Script ist es eine Email zu versenden mit dem Inhalt der GUI. Die Betreffzeile soll generiert werden, die sich wie folgt zusammenstellen:
StundeMinuteTagMonatJahr;Epfängernummer;Sendenummer;Username;Passwort;Option
=
120011052010;017777777777;016666666666;123456789;987456321;9
Nun irgendwie ralle ich nicht wie ich es schaffe das es auch die email sendet. Ich bin mir sicher es liegt daran das ich nicht verstehe wie ich die funktion bearbeiten bzw. den senden Button dazu bringe das Script zum senden zu bewegen.
Ich bin davon ausgegangen das dieser aufruf es bewirkt :
Func Senden()
_INetSmtpMailCom($SmtpServer, $FromAddress, $ToAddress, $Subject, $Body, $Importance, $Username, $Password, $IPPort, $ssl)
EndFunc
nun hier mein Script:
Spoiler anzeigen
#Region ;**** Directives created by AutoIt3Wrapper_GUI ****
#AutoIt3Wrapper_outfile=FSM-SMS-REMAINDER.exe
#AutoIt3Wrapper_UseUpx=n
#AutoIt3Wrapper_Change2CUI=y
#EndRegion ;**** Directives created by AutoIt3Wrapper_GUI ****
#include <ButtonConstants.au3>
#include <EditConstants.au3>
#include <GUIConstantsEx.au3>
#include <WindowsConstants.au3>
;~ #include <ubet.au3>
#Region ### START Koda GUI section ### Form=\sms.kxf
Global $Form1 = GUICreate("SMS", 500, 350, 320, 250)
GUISetIcon("D:\004.ico")
Global $Senden = GUICtrlCreateButton("Senden", 400, 200, 75, 25, 0)
Global $Clear = GUICtrlCreateButton("Neue SMS", 400, 250, 75, 25, 0)
Global $End = GUICtrlCreateButton("Beenden", 400, 300, 75, 25, 0)
Global $hh = GUICtrlCreateInput("hh", 400, 24, 25, 25)
Global $ss = GUICtrlCreateInput("ss", 440, 24, 25, 25)
Global $TT = GUICtrlCreateInput("TT", 240, 25, 25, 25)
Global $MM = GUICtrlCreateInput("MM", 280, 25, 25, 25)
Global $JJJJ = GUICtrlCreateInput("JJJJ", 320, 25, 50, 25)
Global $an = GUICtrlCreateInput("An", 25, 25, 150, 25)
Global $von = GUICtrlCreateInput("Von", 25, 300, 150, 21)
Global $Text = GUICtrlCreateInput("SMS-Text", 25, 80, 350, 200)
Global $Sname = "XXXXX" ; Benutzername für SMS Dienst
Global $Spw = "XYXYXYXYXYXY" ; Passwort für SMS Dienst
Global $Opt = "c" ; Option ( c=ÜbrlangeSMS)
GUISetState(@SW_SHOW)
#EndRegion ### END Koda GUI section ###
While 1
$nMsg = GUIGetMsg()
Switch $nMsg
Case $GUI_EVENT_CLOSE
Case $Senden ; senden
Senden()
Case $Clear ; löschen
GUICtrlSetData($hh,"hh")
GUICtrlSetData($ss,"ss")
GUICtrlSetData($TT,"TT")
GUICtrlSetData($MM,"MM")
GUICtrlSetData($JJJJ,"JJJJ")
GUICtrlSetData($an,"An")
GUICtrlSetData($von,"Von")
GUICtrlSetData($Text,"SMS-Text")
Case $End ; beenden
Quit()
Exit
EndSwitch
WEnd
$SmtpServer = "smtp.xxx.de" ;IP des Smtp-Server
$FromAddress = "xxxxxxx@yyy.de" ;Absendemail
$ToAddress = "xxx@yyy.de" ;Dienstemail
$Subject = GUICtrlRead($hh)&";"&GUICtrlRead($ss)&";"&GUICtrlRead($TT)&";"&GUICtrlRead($MM)&";"&GUICtrlRead($JJJJ)&";"&GUICtrlRead($an)&";"&GUICtrlRead($von)&";"&GUICtrlRead($Sname)&";"&GUICtrlRead($Spw)&";"&GUICtrlRead($Opt) ;Betreffzeile
$Body = GUICtrlRead($Text) ;Textinhalt
$Importance = "Normal" ;Mailstatus / Low , Normal , High /
$Username = "xxxxxx@yyy.de" ;Username Smtp-Server
$Password = "XYXYXYX" ;Passwort Smtp-Server
$IPPort = 25 ; bleibt so
$ssl = 0 ; Ssl 0/1 = nein/ja
Func Senden()
_INetSmtpMailCom($SmtpServer, $FromAddress, $ToAddress, $Subject, $Body, $Importance, $Username, $Password, $IPPort, $ssl)
EndFunc
Func Quit()
Exit
EndFunc
#Include<file.au3>
Global $oMyError = ObjEvent("AutoIt.Error", "MyErrFunc")
Global $oMyRet[2]
Func _INetSmtpMailCom($s_SmtpServer, $s_FromName, $s_FromAddress, $s_ToAddress, $s_Username, $s_Password, $s_Subject = "", $as_Body = "", $s_AttachFiles = "", $s_CcAddress = "", $s_BccAddress = "", $IPPort=465, $ssl=1)
$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, ![]()
$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