hilfe bei e-mail senden in outlook

  • Hallo ,
    ich brauche dringend hilfe bei meinem script. Es geht darum, das wenn Outlook automatisch gestartet ist, man in einem Eingabefenster die Empfänger E-mail-adresse eingeben kann und diese dann automatisch im "An" Fenster erscheint. Zusätzlich soll noch der Betreff eingetragen werden und anschließend die E-Mail automatisch versendet werden. Ich habe schon etwas rumprobiert, aber da ich noch kompletter autoit Anfänger bin, bin ich hier an meine Grenze gestoßen. Kann mir vielleicht irgendwer ein paar tips geben, wie ich weiter machen kann ohne objekte zu verwenden ??

    Vielen Dank schonmal


    Mein bisheriger Quelltext:

    #include <GUIConstants.au3>
    #include <INet.au3>

    ShellExecute("Outlook")
    WinWaitActive("Posteingang - Microsoft Outlook")

    ;Simulation neue E_mail erstellen
    Sleep(500)
    Send("!d")
    send("n")
    send("m")
    Sleep(500)

    ;E-Mail Empfänger Eingabe
    GUICreate("E-Mail Empfänger", 250, 100)
    GUICtrlCreateLabel("Adresse:",30,30)
    $input = GUICtrlCreateInput("",90,25, 100)
    $btn = GUICtrlCreateButton("OK", 100, 60, 60)
    GUISetState ()

    $msg = 0
    While $msg <> $GUI_EVENT_CLOSE
    $msg = GUIGetMsg()
    Select
    Case $msg = $btn
    exitloop
    EndSelect
    Wend

    $adress = ("GUICrlRead($input)")
    $subject = "Test"

  • hi,
    vielleicht hilfe das

    Spoiler anzeigen
    [autoit]

    #include <inet.au3>
    #include <Date.au3>
    $PID = ProcessExists("Outlook.exe")
    $Outlook2003 = @ProgramFilesDir & "\Microsoft Office\Office11\Outlook.exe"
    $Ti = @HOUR & ":" & @MIN & ":" & @SEC
    $Address= ("xxx@xxx.de")
    $Subject= ("Tägliche Datensicherung vom " & _NowDate())
    ;
    $Body = ("Die Tägliche Datensicherung wurde um " & $Ti & " erfolgreich erstellt." & @LF & @LF & _
    "Im Pfad wurden folgende Dateien angelegt:" & @LF & _
    "Die Laufzeiten der einzelnen Scripte betrugen:" & @LF & @LF & @LF & _
    "Die folgenden Dateien führten zu einem Einlesefehler: " & @LF & @LF &@LF & @LF & _
    "und/oder" & @LF & _
    "Die folgenden Dateien führten zu einem Einlesefehler: " & @LF & @LF & @LF & @LF & _
    "Freundliche Grüße" & @LF & @LF & " Administrator")

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

    ;==> Ertsellung des E-Mail Body für Misserfolg
    If $PID Then
    _INetMail($address, $subject, $Body)
    Sleep(5000)
    Send("!s")
    Else
    Run($Outlook2003)
    WinWaitActive("Posteingang - Microsoft Outlook")
    _INetMail($address, $subject, $Body)
    Sleep(5000)
    Send("!s")
    Sleep(1500)
    Send("!{F4}")
    EndIf

    [/autoit]

    Mfg

    Thomas

    MFG ThomasB

    *
    Ich lese viel und gerne (und wenn ich alle Mahnungen durch habe, schmeiße ich sie weg)
    *

    Einmal editiert, zuletzt von Thomasb (28. Juni 2007 um 13:51)

  • aber wo kann ich denn da in einer inputbox die Adresse eingeben, so wie ich das script verstehe, leg ich bereits von anfang an fest wohin die mail gehen soll und das will ich ja gerade nicht. Wie ist denn mein ansatz ?? kann man das so überhaupt machen ??

  • hi
    eventuell so

    [autoit]

    #include <GUIConstants.au3>
    #include <INet.au3>

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

    ShellExecute("Outlook")
    WinWaitActive("Posteingang - Microsoft Outlook")

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

    ;Simulation neue E_mail erstellen
    Sleep(500)
    Send("!d")
    Send("n")
    Send("m")
    Sleep(500)

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

    ;E-Mail Empfänger Eingabe
    GUICreate("E-Mail Empfänger", 250, 100)
    GUICtrlCreateLabel("Adresse:", 30, 30)
    $input = GUICtrlCreateInput("", 90, 25, 100)
    $btn = GUICtrlCreateButton("OK", 100, 60, 60)
    GUISetState()

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

    $msg = 0
    While $msg <> $GUI_EVENT_CLOSE
    $msg = GUIGetMsg()
    Select
    Case $msg = $btn
    ExitLoop
    EndSelect
    WEnd
    $adress= GUICtrlRead($input)
    $subject = "Test"
    $body = ""
    _INetMail($adress, $subject,$body)

    [/autoit]

    Thomas

    MFG ThomasB

    *
    Ich lese viel und gerne (und wenn ich alle Mahnungen durch habe, schmeiße ich sie weg)
    *

  • hier noch eine variante...aber warum öffnest du extra outlook...das muss nicht sein!!

    Spoiler anzeigen
    [autoit]

    #include <GUIConstants.au3>
    #include <INet.au3>

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

    ShellExecute("Outlook")
    WinWaitActive("Posteingang - Microsoft Outlook")

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

    ;Simulation neue E_mail erstellen
    Sleep(500)
    Send("!d")
    send("n")
    send("m")
    Sleep(500)

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

    ;E-Mail Empfänger Eingabe
    #include <GUIConstants.au3>
    Global $subject
    #Region ### START Koda GUI section ### Form=
    $Form1 = GUICreate("Email Sender", 625, 445, 193, 115)
    GUICtrlCreateLabel("Empfänger:", 16, 16, 61, 17)
    $reciever = GUICtrlCreateInput("example@someserver.com", 88, 16, 161, 21)
    GUICtrlCreateLabel("Betreff:", 16, 48, 35, 17)
    $subject = GUICtrlCreateInput("(Kein Betreff)", 88, 48, 161, 21)
    GUICtrlCreateLabel("Inhalt:", 16, 80, 30, 17)
    $content = GUICtrlCreateEdit("", 64, 80, 529, 321)
    GUICtrlSetData(-1, "")
    $send = GUICtrlCreateButton("Abschicken", 152, 416, 345, 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 $send
    ;from thomasb - https://autoit.de/www.autoit.de
    $PID = ProcessExists("Outlook.exe")
    If $PID Then
    _INetMail(GUICtrlRead($reciever), GUICtrlRead($subject), GUICtrlRead($content));wozu eigentlich extra outlook öffnen???????????
    ;_INetSmtpMail ebenfalls möglich
    Sleep(5000)
    Send("!s")
    Else
    Run($Outlook2003)
    WinWaitActive("Posteingang - Microsoft Outlook")
    _INetMail($address, $subject, $Body)
    Sleep(5000)
    Send("!s")
    Sleep(1500)
    Send("!{F4}")
    EndIf
    ;end from thomasb - https://autoit.de/www.autoit.de

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

    EndSwitch
    WEnd

    [/autoit]

    snoozer

  • das dient zu testzwecken. Ich versuche den User so getreu wie möglich nachzustellen.