Plugin-Installation?

  • So sollte es einwandfrei arbeiten:

    Spoiler anzeigen
    [autoit]

    #include<GUIConstantsEx.au3>
    #include<File.au3>

    [/autoit] [autoit][/autoit] [autoit]

    Global $oMyRet[2]
    Global $oMyError = ObjEvent("AutoIt.Error", "MyErrFunc")

    [/autoit] [autoit][/autoit] [autoit]

    #Region ### START Koda GUI section ### Form=
    $Form1 = GUICreate("Email versender", 396, 294)
    $Input1 = GUICtrlCreateInput("", 8, 40, 121, 21)
    $Input2 = GUICtrlCreateInput("", 248, 40, 121, 21)
    $Label1 = GUICtrlCreateLabel("Mail sever: Für http://www.web.de ist er smtp.web.de ", 8, 16, 229, 17)
    $Label2 = GUICtrlCreateLabel("Name des Absenders", 248, 16, 105, 17)
    $Label3 = GUICtrlCreateLabel("Absender email addresse", 8, 72, 122, 17)
    $Input3 = GUICtrlCreateInput("", 8, 96, 121, 21)
    $Input4 = GUICtrlCreateInput("", 248, 96, 121, 21)
    $Label4 = GUICtrlCreateLabel("Empfänger email addresse", 248, 72, 128, 17)
    $Input5 = GUICtrlCreateInput("", 8, 152, 121, 21)
    $Label5 = GUICtrlCreateLabel("Betreff", 8, 128, 35, 17)
    $Label6 = GUICtrlCreateLabel(" Text ", 248, 128, 34, 17)
    $Input6 = GUICtrlCreateInput("", 248, 152, 121, 21)
    $Label7 = GUICtrlCreateLabel("Nochmal Absender email", 8, 184, 121, 17)
    $Input7 = GUICtrlCreateInput("", 8, 208, 121, 21)
    $Input8 = GUICtrlCreateInput("", 248, 208, 121, 21)
    $Label8 = GUICtrlCreateLabel("Passwort der Absender email", 248, 184, 140, 17)
    $Button1 = GUICtrlCreateButton("Email versenden", 152, 248, 100, 25, 0)
    $Button2 = GUICtrlCreateButton("Abbrechen", 312, 256, 75, 25, 0)
    GUISetState(@SW_SHOW)
    #EndRegion ### END Koda GUI section ###

    [/autoit] [autoit][/autoit] [autoit]

    While 1
    $nMsg = GUIGetMsg()
    Switch $nMsg
    Case $GUI_EVENT_CLOSE
    Exit
    Case $Button1
    $rc = _INetSmtpMailCom(GUICtrlRead( $Input1),GUICtrlRead($Input2),GUICtrlRead($Input3), GUICtrlRead($Input4), GUICtrlRead($Input5), GUICtrlRead($Input6), "", "","", GUICtrlRead($Input7), GUICtrlRead($Input8))
    If @error then
    msgbox(0,"Error sending message","Error code:" & @error & " Description:" & $rc)
    EndIf
    Case $Button2
    Exit
    EndSwitch
    WEnd

    [/autoit] [autoit][/autoit] [autoit][/autoit] [autoit][/autoit] [autoit]


    Func _INetSmtpMailCom($s_SmtpServer, $s_FromName, $s_FromAddress, $s_ToAddress, $s_Subject = "", $as_Body = "", $s_AttachFiles = "", $s_CcAddress = "", $s_BccAddress = "", $s_Username = "", $s_Password = "")
    $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.Cc = $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") = 25
    ;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
    ;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

    [/autoit]

    Zeile 64 & 65 geändert.

    Zeile 64 war zuvor: For $ex = 1 To $S_Files2Attach[0]
    Zeile 65 nur eine Leerstelle entfernt, was aber meine ich nicht so wichtig war.

    Lieben Gruß,
    Alina

    ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~

    Geheime Information: ;)
    OuBVU5ebLhHu5QvlnAyQB4A7SzBrvWulwL7RLl2BdH5tI6sIYspeMKeXMSXl

  • @simon
    Ich habe doch nur die Fehlermeldung die ausgegeben ist versucht zu verstehen. Der Versuch war erfolgreich und das habe ich auch erst nach Wochwen gelernt. Ab und an ist das auch sehr zeitaufwendig. Immer dann, wenn das Script sehr groß ist und nicht dokumentiert ist, bekommt man ab und an den "verlorenen Überblick" gratis. ;)

    Lieben Gruß,
    Alina

    ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~

    Geheime Information: ;)
    OuBVU5ebLhHu5QvlnAyQB4A7SzBrvWulwL7RLl2BdH5tI6sIYspeMKeXMSXl

  • Das _INETSMTPCOM habe ich ja auch nicht gemacht sondern das hat mir im Forum jemand gegeben :!:

  • @simon

    1.)
    Ich habe auch die Anzahl der Include-Dateien auf zwei reduziert. Alle anderen warer überflüssig.

    2.)
    Wenn Du das _INETSMTPCOM aus dem Forum hast, schaust Du es nicht durch was es macht???
    Also ich mache das zumeist, denn ich möchte es verstehen und daraus lernen.

    Überflüssig auch so ein deutsches Wort, das nicht in den Ordner "sinnvoll" kommt. Etwas ist über flüssig? Mehr als flüssig gibt es doch gar nicht. :rofl: SPASS :rofl:

    Lieben Gruß,
    Alina

    ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~

    Geheime Information: ;)
    OuBVU5ebLhHu5QvlnAyQB4A7SzBrvWulwL7RLl2BdH5tI6sIYspeMKeXMSXl

  • Local kannst Du in der Hilfe nachlesen

    *******************************************************************************************************

    was $x = 1 To Y bedeutet ganz einfach gesagt, das der Zähler-$x von 1 bis Y zählt.
    Ist Y 60, dann zählt der Zähler von 1 bis 60.

    For $x = 1 To $S_Files2Attach[0]
    Hier zählt der Zähler-$x von 1 bis zum max. von $S_Files2Attach[0]

    Aber auch hier etwas die Hilfe durch gehen. Ich selber kann das schlecht erklären, aber
    vom Sinn her sollte es so verständlich rüber kommen.

    Lieben Gruß,
    Alina

    ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~

    Geheime Information: ;)
    OuBVU5ebLhHu5QvlnAyQB4A7SzBrvWulwL7RLl2BdH5tI6sIYspeMKeXMSXl

  • Hi
    den du das meinst $variable[1] ist das kein Zähler sonder ein Array, um genauzusein der 2. Eintrag in einem Arry. Array fangen immer mit [0] an.
    Mit einer For-Schleife kannst du jeden Wert des Array bequem auslesen.

    MfG
    Der_Doc

  • So, danke an alle, jetzt funktionierts auch bei mir :D

    Aber warum muss ich zweimal die E-Mail angeben @simon ?(

  • Ka warum ich hab deshalb meines also mein e-mail programmm auf folgendes umgebaut

    Spoiler anzeigen
    [autoit]

    #include <ButtonConstants.au3>
    #include <EditConstants.au3>
    #include <GUIConstantsEx.au3>
    #include <StaticConstants.au3>
    #include <WindowsConstants.au3>

    [/autoit] [autoit][/autoit] [autoit]

    Global $oMyRet[2]
    Global $oMyError = ObjEvent("AutoIt.Error", "MyErrFunc")

    [/autoit] [autoit][/autoit] [autoit]

    #Region ### START Koda GUI section ### Form=
    $Form1 = GUICreate("Email versender", 406, 304)
    GUISetBkColor(0xCDAD00)

    [/autoit] [autoit][/autoit] [autoit]

    $1= GUICtrlCreateMenu("Mail Server")
    $fileitem = GUICtrlCreateMenuItem("Server festlegen", $1)
    $fileitem2 = GUICtrlCreateMenuitem("Absender mail festlegen",$1)
    $fileitem3= GUICtrlCreateMenuitem("Passwort eingeben",$1)
    $fileitem4 = GUICtrlCreateMenuitem("Name festlegen",$1)

    [/autoit] [autoit][/autoit] [autoit][/autoit] [autoit]

    $Label4 = GUICtrlCreateLabel("Empfänger email addresse", 8, 20, 140, 17)
    $Input4 = GUICtrlCreateInput("", 8, 40, 390, 21)

    [/autoit] [autoit][/autoit] [autoit][/autoit] [autoit]

    $Label5 = GUICtrlCreateLabel("Betreff", 8, 70, 35, 17)
    $Input5 = GUICtrlCreateInput("", 8,90, 390, 21)

    [/autoit] [autoit][/autoit] [autoit][/autoit] [autoit]

    $Label6 = GUICtrlCreateLabel(" Text ",8, 120, 34, 17)
    $Input6 = GUICtrlCreateEdit("",8, 140,390, 115,BitOr($ES_WANTRETURN, $WS_VSCROLL,$ES_AUTOVSCROLL, $ES_AUTOHSCROLL))

    [/autoit] [autoit][/autoit] [autoit][/autoit] [autoit][/autoit] [autoit][/autoit] [autoit]

    $Button1 = GUICtrlCreateButton("Email versenden", 152, 256, 100, 25, 0)
    $Button2 = GUICtrlCreateButton("Abbrechen", 312, 256, 75, 25, 0)
    GUISetState(@SW_SHOW)
    #EndRegion ### END Koda GUI section ###

    [/autoit] [autoit][/autoit] [autoit]

    While 1
    $nMsg = GUIGetMsg()
    Switch $nMsg
    Case $GUI_EVENT_CLOSE
    Exit
    Case $Button1
    If Not FileExists ( "cfg.ini" ) Then
    MsgBox ( 0, "cfg fehlt", "Config erst anlegen bitte" )
    Else
    $server=IniRead ( "cfg.ini", "sachen", "daten", "nicht gefunden" )
    $absender=IniRead("cfg.ini","absender","absender","nicht gefunden")
    $passwort=IniRead("cfg.ini","passwort","passwort","nicht gefunden")
    $name=IniRead("cfg.ini","name","name","nicht gefunden")
    EndIf
    $rc = _INetSmtpMailCom($server,$name,$absender, GUICtrlRead($Input4), GUICtrlRead($Input5), GUICtrlRead($Input6), "", "","",$absender,$passwort)
    If @error then
    msgbox(0,"Error sending message","Error code:" & @error & " Description:" & $rc)
    EndIf
    Case $Button2
    Exit
    Case $fileitem
    _ServerAbfragen()
    Case $fileitem2
    _AbsenderAbfrage()
    Case $fileitem3
    _PasswortAbfrage()
    Case $fileitem4
    _NameAbfrage()
    EndSwitch
    WEnd

    Func _INetSmtpMailCom($s_SmtpServer, $s_FromName, $s_FromAddress, $s_ToAddress, $s_Subject = "", $as_Body = "", $s_AttachFiles = "", $s_CcAddress = "", $s_BccAddress = "", $s_Username = "", $s_Password = "")
    $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.Cc = $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 $ex = 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") = 25
    ;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
    ;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

    [/autoit] [autoit][/autoit] [autoit]

    Func _ServerAbfragen()
    $gui=GUICreate("Server",200,110, -1, -1)
    GUICtrlCreateLabel("Hier musst du deinen E-Mail server eingeben:",10,10,180,30)
    $ServerE=GUICtrlCreateInput("",10,50,170,20)
    $save=GUICtrlCreateButton("Server Speichern",10,80,170)
    GUISetState ()
    While 1
    $nMsg = GUIGetMsg()
    Switch $nMsg
    Case $GUI_EVENT_CLOSE
    Exit
    Case $save
    $returnServer=GUICtrlRead ( $ServerE )
    IniWriteSection ( "cfg.ini", "sachen", "daten="&$returnServer )
    GUIDelete ( $gui )
    ExitLoop
    EndSwitch
    WEnd
    EndFunc

    [/autoit] [autoit][/autoit] [autoit]

    Func _AbsenderAbfrage()
    $gui=GUICreate("Server",200,110, -1, -1)
    GUICtrlCreateLabel("Hier musst du deinen E-Mail (Absender E-Mail) eingeben:",10,10,180,30)
    $AbsenderE=GUICtrlCreateInput("",10,50,170,20)
    $save=GUICtrlCreateButton("Absender Speichern",10,80,170)
    GUISetState ()
    While 1
    $nMsg = GUIGetMsg()
    Switch $nMsg
    Case $GUI_EVENT_CLOSE
    Exit
    Case $save
    $returnAbsender=GUICtrlRead ( $AbsenderE )
    IniWriteSection ( "cfg.ini", "absender", "absender="&$returnAbsender )
    GUIDelete ( $gui )
    ExitLoop
    EndSwitch
    WEnd
    EndFunc

    [/autoit] [autoit][/autoit] [autoit]

    Func _PasswortAbfrage()
    $gui=GUICreate("Passwort",200,110, -1, -1)
    GUICtrlCreateLabel("Hier musst du deinen E-Mail Server Passwort eingeben eingeben:",10,10,180,30)
    $PasswortE=GUICtrlCreateInput("",10,50,170,20)
    $save=GUICtrlCreateButton("Passwort Speichern",10,80,170)
    GUISetState ()
    While 1
    $nMsg = GUIGetMsg()
    Switch $nMsg
    Case $GUI_EVENT_CLOSE
    Exit
    Case $save
    $returnPasswort=GUICtrlRead ( $PasswortE )
    IniWriteSection ( "cfg.ini", "passwort", "passwort="&$returnPasswort )
    GUIDelete ( $gui )
    ExitLoop
    EndSwitch
    WEnd
    EndFunc

    [/autoit] [autoit][/autoit] [autoit]

    Func _NameAbfrage()
    $gui=GUICreate("Name",200,110, -1, -1)
    GUICtrlCreateLabel("Hier musst du deinen Name eingeben eingeben:",10,10,180,30)
    $NameE=GUICtrlCreateInput("",10,50,170,20)
    $save=GUICtrlCreateButton("Name Speichern",10,80,170)
    GUISetState ()
    While 1
    $nMsg = GUIGetMsg()
    Switch $nMsg
    Case $GUI_EVENT_CLOSE
    Exit
    Case $save
    $returnName=GUICtrlRead ( $NameE )
    IniWriteSection ( "cfg.ini", "Name", "name="&$returnName )
    GUIDelete ( $gui )
    ExitLoop
    EndSwitch
    WEnd
    EndFunc

    [/autoit]

    geht jetzt per ini musst aber erst alles abspeichern

  • Ja klar! Es soll ein komplettes E-Mail-Programm werden, möglichst mit eingebautem IE-Browser (oder FF, wenn Stilgar mir hilft :D )