1. Dashboard
  2. Mitglieder
    1. Letzte Aktivitäten
    2. Benutzer online
    3. Team
    4. Mitgliedersuche
  3. Forenregeln
  4. Forum
    1. Unerledigte Themen
  • Anmelden
  • Registrieren
  • Suche
Alles
  • Alles
  • Artikel
  • Seiten
  • Forum
  • Erweiterte Suche
  1. AutoIt.de - Das deutschsprachige Forum.
  2. Mitglieder
  3. MojoeB

Beiträge von MojoeB

  • ImageSearch verhält sich unterschiedlich in Abhängigkeit des aktiven Fensters

    • MojoeB
    • 24. August 2022 um 21:40

    ich muss das die tage bei mir mal nachstellen habe auch 3 monitore.

    Wenn ich was rausfinde melde ich mich zurück :)

  • ImageSearch verhält sich unterschiedlich in Abhängigkeit des aktiven Fensters

    • MojoeB
    • 24. August 2022 um 01:11

    moin

    du könntest mal dies hier versuchen :

    _ImageSearchArea($findImage, $resultPosition, $x1, $y1, $right, $bottom, ByRef $x, ByRef $y, $tolerance = 0, $transparency = 0)

    -> $tolerance = 0<-<-Der Wert in wie weit darf das bild abweichen.

    kommt von dieser : ImageSearch2015.au3
    ich weiß nicht welche du verwendest.

    glaube aber da benötigst du noch die dll dateien.

    Der Wert kann von $tolaerance= 0 - 255 sein.

  • Autoit läuft Fehlerhaft bei Remote Verbindung über Windows auf einen Windows Root Server; aber fehlerlos über den Browserzugang

    • MojoeB
    • 9. August 2022 um 17:37
    Zitat von Bernd Albrecht

    Remoteverbindung ist dies für mich so aktuell nicht möglich.

    genau das mein ich doch... :)

  • Autoit läuft Fehlerhaft bei Remote Verbindung über Windows auf einen Windows Root Server; aber fehlerlos über den Browserzugang

    • MojoeB
    • 9. August 2022 um 16:34

    über den Browser Zugang.
    Wie genau machst du das hast du das evtl. mit unraid?

    Falls ja dann meldet sich dein windows auch nicht mit einem anderen nutzer an, oder geschweige den wird neu angemeldet.

    Die Maschine läuft ja dort über den Browser normal weiter so als würde sie physisch vor dir stehen.

    Das wäre ein Grund warum darüber noch alles funktioniert.

  • Autoit läuft Fehlerhaft bei Remote Verbindung über Windows auf einen Windows Root Server; aber fehlerlos über den Browserzugang

    • MojoeB
    • 9. August 2022 um 14:46

    nun ja ich denke eher das hier die send befehle dein Problem sind.


    Wenn dein PC in den stromsparmodus geht kannst du keine Send befehle benutzen du musst das anders lösen.
    Denn auch wenn ich mich auf einen Rechner anwähle über Remote dann ist auf dem Monitor vom Zielpc zu sehen das sich der Benutzer abmeldet vom System, oder zu mindestens keine eingaben mehr zulässt.
    der Desktop selber ist dann auch nicht mehr zu sehen nur noch der anmelde Bildschirm.

    Du solltest den Skript so aufbauen, das du theoretisch auf auf deinem normalen platz auch ohne Einschränkungen weiter arbeiten kannst auch wenn das Skript im Hintergrund läuft,
    Wenn du eine Exceltabelle ausließt und diese dann verarbeitest muss du nicht unbedingt mit send arbeiten, das ist kompliziert und lässt den Nutzer selbst mehr Fehlerquellen offen.

    Ich weiß auch immer noch nicht was du mit diesem Script erreichen möchtest. macht bisher für mich 0 sinn.

  • Autoit läuft Fehlerhaft bei Remote Verbindung über Windows auf einen Windows Root Server; aber fehlerlos über den Browserzugang

    • MojoeB
    • 8. August 2022 um 14:17

    ich bin voll verwirrt was möchtest du mit den send befehlen bezwecken?

  • Barcode in Variable scannen ohne den Inhalt irgendwo anzuzeigen

    • MojoeB
    • 29. Juli 2022 um 17:01

    ich habe nicht alles durchgelesen :I

    aber habe etwas ähnliches gemacht,

    GUI -> Felder die ausgefüllt werden müssen -> Inputfeld wird aktiv -> fürs scannen wird Inputfeld anvisiert -> Nun Scannt der Nutzer erst ... nachdem Inputfeld beschrieben ist mach das nächste feld frei und so weiter.

    Wenn du das auch so ähnlich machen möchtest und den Inhalt dabei nicht sehen möchtest dann mach doch aus dem Inputfeld ein @ES_Password.

    Um damit dann weiter zu arbeiten könntest du den Wert einfach auslesen und in einer Variable speichern, ohne ihn anschauen zu müssen.

    @Edit.. du wolltest ja kein inputbox anzeigen lassen sry ...

  • Email empfang

    • MojoeB
    • 26. Juli 2022 um 18:19

    bin nicht mehr auf der Arbeit konnte es deswegen nicht testen aber ist es so besser ?=)

    C
    ;Erstellt mit ISN AutoIt Studio v. 1.14
    ;*****************************************
    
    ;Make this script high DPI aware
    ;AutoIt3Wrapper directive for exe files, DllCall for au3/a3x files
    #AutoIt3Wrapper_Res_HiDpi=y
    If Not @Compiled Then DllCall("User32.dll", "bool", "SetProcessDPIAware")
    
    #include "UDFs\OutlookEX.au3"
    #include <ButtonConstants.au3>
    #include <EditConstants.au3>
    #include <GUIConstantsEx.au3>
    #include <StaticConstants.au3>
    #include <WindowsConstants.au3>
    #include <AutoItConstants.au3>
    #include <FileConstants.au3>
    #include <MsgBoxConstants.au3>
    
    HotKeySet("+!d", "_Exit") ; Shift-Alt-D to Exit the script
    #Region Globale Variabeln
    Global $oOL = '' ;leeres Objekt
    Global $hGUI, $idbtn_0, $idbtn_1, $sMailBox2Monitor, $sMailsentToAdress
    Global $datei = @ScriptDir & '\config\config.cfg'
    Global $configdir = @ScriptDir & '\config\'
    #EndRegion Globale Variabeln
    Opt("GUIOnEventMode", 1) ;Eventmode ON
    
    gui_() ;Starte GUI
    start_suche_config() ;Starte GUI
    
    While 1
        Sleep(50)
    WEnd
    
    #Region funktion gui
    
    Func gui_()
        $hGUI = GUICreate("MailFromToOnlySubject", 410, 105, -1, -1, -1, -1) ;Programmfenster
        GUISetOnEvent($GUI_EVENT_CLOSE, "_Exit") ;Beendet das Script
        $idbtn_0 = GUICtrlCreateButton("config", 312, 8, 83, 17)
        GUICtrlSetOnEvent(-1, "_FileOpenDialog") ;mit klick auf den Button 'config' läde den OpenFileDialog.
        $idbtn_1 = GUICtrlCreateButton("Start", 302, 73, 100, 25, -1, -1)
        GUICtrlSetOnEvent(-1, "Scann_NewMailEvent") ;mit klick auf den Button 'Start' startet das ScannEvent.
        $sMailBox2Monitor = GUICtrlCreateInput("", 12, 31, 390, 20, -1, $WS_EX_CLIENTEDGE)
        $sMailsentToAdress = GUICtrlCreateInput("", 12, 78, 283, 20, -1, $WS_EX_CLIENTEDGE)
    
        GUICtrlCreateLabel("weiterleiten an :", 20, 60, 275, 15, -1, -1)
        GUICtrlCreateLabel("Posteingang der Überwacht werden soll :", 12, 12, 226, 15, -1, -1)
        GUISetState(@SW_SHOW)
    EndFunc   ;==>gui_
    
    Func start_suche_config()
        Local $aConfig[2]
        If FileExists($datei) = 0 Then ;überprüft ob die Datei nicht vorhanden ist.
            DirCreate($configdir) ;erstellt nur den ordner config
        EndIf
        If FileExists($datei) = 1 Then ;überprüft ob die Datei vorhanden ist.
            _FileReadToArray($datei, $aConfig, 0) ;Wandelt die Datei in ein Array um
            If UBound($aConfig) < 2 Then ;überprüft ob die Config mindestens 2 einträge hat
                MsgBox($MB_IconError, 'Config ERROR', 'Bitte in die ' & @CRLF & '"' & $datei & '" bearbeiten' & @CRLF & @CRLF & 'ZEILE 1 :Box2Monitor' & @CRLF & 'ZEILE 2 :MailsentToAdress') ;hinweiß auf mind. 2 einträge
            ElseIf UBound($aConfig) = 2 Then ;überprüft ob die Config genau 2 einträge hat.
                GUICtrlSetData($sMailBox2Monitor, '') ;leere den hinhalt von $sMailBox2Monitor(input1)
                GUICtrlSetData($sMailsentToAdress, '') ;leere den hinhalt von $sMailsentToAdress(input2)
                GUICtrlSetData($sMailBox2Monitor, $aConfig[0]) ; wenn config gefunden dann beschreibe die $sMailBox2Monitor(input1) mit dem hinhalt des $aConfig[0]
                GUICtrlSetData($sMailsentToAdress, $aConfig[1]) ; wenn config gefunden dann beschreibe die $sMailsentToAdress(input2) mit dem hinhalt des $aConfig[1]
                Scann_NewMailEvent() ; Starte das Scann Event.
            Else
                _FileOpenDialog() ;öffnet das FileDialog um eine config.cfg auswählen zu können falls vorhanden.
            EndIf
        EndIf
    EndFunc   ;==>start_suche_config
    
    Func _restart()
        ShellExecute(@ScriptName)
        Exit
    EndFunc   ;==>_restart
    
    Func _Exit()
        _OL_Close($oOL) ;Outlook Objekt schließen
        If @error <> 0 Then MsgBox(16, "OutlookEX UDF: _OL_Close Script", "Error sending mail. @error = " & @error & ", @extended: " & @extended, 10)
        Exit ;Programm Exit
    EndFunc   ;==>_Exit
    #EndRegion funktion gui
    #Region file funktionen
    Func _FileOpenDialog()
        Local $aConfig[2], $sFileDialog
        Local Const $sMessage = "wähle eine Config Datei aus."
        $sFileDialog = FileOpenDialog($sMessage, @ScriptDir & "\config\", "Config (*.cfg)", BitOR($FD_FILEMUSTEXIST, $FD_MULTISELECT))
        If @error Then
            MsgBox($MB_SYSTEMMODAL, "", "Keine Config ausgewählt.")
            GUICtrlSetData($sMailBox2Monitor, 'Bitte überwachendes Verzeichnes von Outlook angeben!') ; wenn keine config ausgewählt wird beschreibe die $sMailBox2Monitor(input1)
            GUICtrlSetData($sMailsentToAdress, 'Bitte Emailadresse des Empfängers angeben!') ; wenn keine config ausgewählt wird beschreibe die $sMailsentToAdress(input2)
            FileChangeDir(@ScriptDir)
        Else
            FileChangeDir(@ScriptDir)
            _FileReadToArray($sFileDialog, $aConfig, 0) ;schreibt den Dateiinhalt in ein Array
            If UBound($aConfig) < 2 Then
                MsgBox($MB_IconError, 'Config ERROR', 'Bitte in die "' & $datei & '" in 2 Zeilen verfassen' & @CRLF & 'Box2Monitor' & @CRLF & @CRLF & 'MailsentToAdress')
            Else
                MsgBox(0, 0, UBound($aConfig))
                GUICtrlSetData($sMailBox2Monitor, '') ;leere den hinhalt von $sMailBox2Monitor(input1)
                GUICtrlSetData($sMailsentToAdress, '') ;leere den hinhalt von $sMailsentToAdress(input2)
                GUICtrlSetData($sMailBox2Monitor, $aConfig[0]) ; wenn config gefunden dann beschreibe die $sMailBox2Monitor(input1) mit dem hinhalt des $aConfig[0]
                GUICtrlSetData($sMailsentToAdress, $aConfig[1]) ; wenn config gefunden dann beschreibe die $sMailsentToAdress(input2) mit dem hinhalt des $aConfig[1]
                Scann_NewMailEvent() ; Starte den Scann
            EndIf
        EndIf
    EndFunc   ;==>_FileOpenDialog
    
    Func create_config()
        Local $sMailbox = GUICtrlRead($sMailBox2Monitor, 1) ;lese die $sMailBox2Monitor(inputbox 1) aus
        Local $sMailTo = GUICtrlRead($sMailsentToAdress, 1) ;lese die $sMailsentToAdress(input2) aus
        Local $hFile
        $hFile = FileOpen($datei, 2)
        If $hFile = -1 Then
            FileWrite($datei, $sMailbox & @CRLF & $sMailTo) ;schreibt eine nicht vorhande Datei neu mit den Daten von $sMailBox2Monitor(input1) $sMailsentToAdress(input2)
        ElseIf $hFile <> -1 Then
            FileWrite($hFile, $sMailbox & @CRLF & $sMailTo) ;überschreibt die Datei mit den Daten von $sMailBox2Monitor(input1) $sMailsentToAdress(input2)
            FileClose($hFile) ;schließt das Dateihandel
        EndIf
    EndFunc   ;==>create_config
    #EndRegion file funktionen
    
    #Region OL_funktionen
    Func Scann_NewMailEvent()
        create_config() ; schreibt eine neue oder überschreibt die alte config datei.
        $oOL = _OL_Open() ; Öffne das Outlook Objekt
        If @error <> 0 Then MsgBox($MB_IconError, '', "Error when calling _OL_Open: @error=" & @error & ", @extended=" & @extended & @CRLF)
    
        Local $iStartExit = '' ;leeres int
    
        If GUICtrlRead($idbtn_1, 1) = 'Start' Then
            GUICtrlSetData($idbtn_1, 'Beenden')
            $iStartExit = 1 ; Scann wird gestartet
    
        ElseIf GUICtrlRead($idbtn_1, 1) = 'Script neustarten' Then
            $iStartExit = 0 ; legt die ivar auf 0 & setzt somit beim nächsten klick einen neustart.
        EndIf
    
        Local $sTitle = "OutlookEX"
    
        If $iStartExit = 1 Then
            GUICtrlSetData($idbtn_1, 'Script neustarten')  ;setze Daten Butten 1 auf Beenden
            Local $sMailbox = GUICtrlRead($sMailBox2Monitor, 1) ;lese die $sMailBox2Monitor(inputbox 1) aus
            MsgBox($MB_IconInformation, $sTitle, "Hotkey zum Beenden des Scripts: 'Shift-Alt-D '!", 10)
    
            Local $aFolder = _OL_FolderAccess($oOL, $sMailbox, $olFolderInbox) ;Zugriff auf die Mailbox
            If @error <> 0 Then MsgBox($MB_IconError, $sTitle, "Error when calling _OL_FolderAccess: @error=" & @error & ", @extended=" & @extended & @CRLF, 10)
            If UBound($aFolder) > 0 Then ;pürft ob ein Array exsitiert.
                Local $oItems = $aFolder[1].Items ;Zugriff auf die Items
                If @error <> 0 Then MsgBox($MB_IconError, $sTitle, "Error when accessing the folder items: @error=" & @error & ", @extended=" & @extended & @CRLF, 10)
    
                Local $oTemp = ObjEvent($oItems, "oOL_") ;oOL_ItemAdd starten
                If @error <> 0 Then MsgBox($MB_IconError, $sTitle, "Error when calling ObjEvent: @error=" & @error & ", @extended=" & @extended & @CRLF, 10)
                ConsoleWrite("OutlookEX UDF Example Script - waiting for new items to arrive!" & @CRLF)
            ElseIf UBound($aFolder) = 0 Then ;pürft ob ein kein Array exsitiert
                MsgBox($MB_IconError, $sTitle, "Fehler Zugiff Items." & @CRLF & "Prüfe Sie die angeben vom Posteingang." & @CRLF, 10) ;fehler wenn Array bei 0 ist.
            EndIf
        EndIf
    
        If $iStartExit = 0 Then
            _restart() ;startet die das Script neu.
        EndIf
    EndFunc   ;==>Scann_NewMailEvent
    
    Func oOL_ItemAdd($oItem)
        ConsoleWrite("OutlookEX UDF Example Script - new item has arrived!" & @CRLF)
        ConsoleWrite( _
                "From:    " & $oItem.SenderName & @CRLF & _
                "Subject: " & $oItem.Subject & @CRLF & _
                "Class:   " & $oItem.Class & " (43=Mail, 53=MeetingRequest ...)" & @CRLF & _
                "Date:    " & $oItem.SentOn & @CRLF & _
                "Mailadr: " & $oItem.SenderEmailAddress) ; Email Daten in der Console ausgeben
    
        If StringInStr($oItem.Subject, 'Unzustellbar') <> 0 Then ;Email mit Betreffzeile Unzustellbar überspringen.
            ConsoleWrite($oItem.Subject & ' wird übersprungen' & @CRLF)
        ElseIf StringInStr($oItem.Subject, 'Unzustellbar') = 0 Then ;Email mit nicht Betreffzeile Unzustellbar verschicken.
            _OL_Wrapper_SendMail($oOL, GUICtrlRead($sMailsentToAdress, 1), "", "", $oItem.Subject, "Der Text wurde aus Sicherheitsgründen entfernt.", '', $olFormatRichText, $olImportanceHigh) ;Email mit Betreffzeile verschicken.
            If @error <> 0 Then MsgBox(16, "OutlookEX UDF: _OutlookSendMail Wrapper Script", "Error sending mail. @error = " & @error & ", @extended: " & @extended, 10)
        EndIf
    
    EndFunc   ;==>oOL_ItemAdd
    #EndRegion OL_funktionen
    Alles anzeigen
  • Email empfang

    • MojoeB
    • 26. Juli 2022 um 15:10

    So nun ist das Thema durch, erledigt.

    Falls jemand das Endprodukt haben möchte :

    In einer config.cfg kann man

    Zeile 1 = 'Überwachter Posteingang'

    Zeile 2 = 'Weiterleitung an'

    Danach kann man das Programm in den Autostart nach Outlook öffnen lassen & die Aufgabe beginnt direkt.

    C
    ;Erstellt mit ISN AutoIt Studio v. 1.14
    ;*****************************************
    
    ;Make this script high DPI aware
    ;AutoIt3Wrapper directive for exe files, DllCall for au3/a3x files
    #AutoIt3Wrapper_Res_HiDpi=y
    If not @Compiled then DllCall("User32.dll", "bool", "SetProcessDPIAware")
    
    #include "UDFs\OutlookEX.au3"
    #include <ButtonConstants.au3>
    #include <EditConstants.au3>
    #include <GUIConstantsEx.au3>
    #include <StaticConstants.au3>
    #include <WindowsConstants.au3>
    #include <AutoItConstants.au3>
    #include <FileConstants.au3>
    #include <MsgBoxConstants.au3>
    
    
    HotKeySet("+!d", "_Exit") ; Shift-Alt-D to Exit the script
    Global $oOL = ''
    Opt("GUIOnEventMode", 1)
    
    ;Form - anfang
    $GUI = GUICreate("MailFromToOnlySubject", 410, 105, -1, -1, -1, -1) ;Programmfenster
    GUISetOnEvent($GUI_EVENT_CLOSE, "_Exit")
    ;Form - ende
    
    ;Buttons - anfang
    $config_button_ = GUICtrlCreateButton("config", 312, 8, 83, 17)
    GUICtrlSetOnEvent(-1, "FileOpenDia")
    $Button_Start_ = GUICtrlCreateButton("Start", 302, 73, 100, 25, -1, -1)
    GUICtrlSetOnEvent(-1, "start_Outlook_scann_new_mails")
    ;Buttons - ende
    
    ;Inputfelder - anfang
    $input1 = GUICtrlCreateInput("", 12, 31, 390, 20, -1, $WS_EX_CLIENTEDGE)
    $input2 = GUICtrlCreateInput("", 12, 78, 283, 20, -1, $WS_EX_CLIENTEDGE)
    ;Inputfelder - ende
    
    ;Labels - anfang
    GUICtrlCreateLabel("weiterleiten an :", 20, 60, 275, 15, -1, -1)
    GUICtrlCreateLabel("Posteingang der Überwacht werden soll :", 12, 12, 226, 15, -1, -1)
    ;Labels - ende
    GUISetState(@SW_SHOW)
    start_suche_config()
    ;schleife - anfang
    While 1
        Sleep(50)
    WEnd
    ;schleife - ende
    
    
    Func start_Outlook_scann_new_mails()
        $oOL = _OL_Open()
        If @error Then MsgBox($MB_IconError, '', "Error when calling _OL_Open: @error=" & @error & ", @extended=" & @extended & @CRLF)
    
        Local $Igo = ''
        If GUICtrlRead($Button_Start_, 1) = 'Start' Then
            GUICtrlSetData($Button_Start_, 'Beenden')
            $Igo = 1
    
        ElseIf GUICtrlRead($Button_Start_, 1) = 'Beenden' Then
            GUICtrlSetData($Button_Start_, 'Start')
            $Igo = 0
        EndIf
    
        Local $sTitle = "OutlookEX"
    
    
        If $Igo = 1 Then
            GUICtrlSetData($Button_Start_, 'Beenden')
            Local $sMailbox = GUICtrlRead($input1, 1)
            MsgBox($MB_IconInformation, $sTitle, "Hotkey zum Beenden des Scripts: 'Shift-Alt-D '!", 10)
    
            Local $aFolder = _OL_FolderAccess($oOL, $sMailbox, $olFolderInbox)
            If @error Then MsgBox($MB_IconError, $sTitle, "Error when calling _OL_FolderAccess: @error=" & @error & ", @extended=" & @extended & @CRLF, 10)
    
            Local $oItems = $aFolder[1].Items
            If @error Then MsgBox($MB_IconError, $sTitle, "Error when accessing the folder items: @error=" & @error & ", @extended=" & @extended & @CRLF, 10)
    
            Local $oTemp = ObjEvent($oItems, "oOL_")
            If @error Then MsgBox($MB_IconError, $sTitle, "Error when calling ObjEvent: @error=" & @error & ", @extended=" & @extended & @CRLF, 10)
            ConsoleWrite("OutlookEX UDF Example Script - waiting for new items to arrive!" & @CRLF)
        EndIf
    
        If $Igo = 0 Then
            _Exit()
        EndIf
    EndFunc   ;==>start_Outlook_scann_new_mails
    
    Func send_outlookmail($OL, $ToUser, $betreff, $oItem)
        _OL_Wrapper_SendMail($OL, $ToUser, "", "", $betreff, "Der Text wurde aus Sicherheitsgründen entfernt.", '', $olFormatRichText, $olImportanceHigh)
        If @error <> 0 Then MsgBox(16, "OutlookEX UDF: _OutlookSendMail Wrapper Script", "Error sending mail. @error = " & @error & ", @extended: " & @extended, 10)
    EndFunc   ;==>send_outlookmail
    
    
    Func oOL_ItemAdd($oItem)
        ConsoleWrite("OutlookEX UDF Example Script - new item has arrived!" & @CRLF)
        ConsoleWrite( _
                "From:    " & $oItem.SenderName & @CRLF & _
                "Subject: " & $oItem.Subject & @CRLF & _
                "Class:   " & $oItem.Class & " (43=Mail, 53=MeetingRequest ...)" & @CRLF & _
                "Date:      " & $oItem.SentOn & @CRLF & _
                "mailad:  " & $oItem.SenderEmailAddress)
    
        If StringInStr($oItem.Subject, 'Unzustellbar') <> 0 Then
            ConsoleWrite($oItem.Subject & ' wird übersprungen' & @CRLF)
        ElseIf StringInStr($oItem.Subject, 'Unzustellbar') = 0 Then
            send_outlookmail($oOL, GUICtrlRead($input2, 1), $oItem.Subject, $oItem)
        EndIf
    EndFunc   ;==>oOL_ItemAdd
    
    Func _Exit()
        _OL_Close($oOL)
        Exit
    EndFunc   ;==>_Exit
    
    Func FileOpenDia()
        Local $filearray[2]
        Local Const $sMessage = "wähle eine Config Datei aus."
        $sFileDialog = FileOpenDialog($sMessage, @ScriptDir & "\config\", "Config (*.cfg)", BitOR($FD_FILEMUSTEXIST, $FD_MULTISELECT))
        If @error Then
            ; Display the error message.
            MsgBox($MB_SYSTEMMODAL, "", "No file was selected.")
            FileChangeDir(@ScriptDir)
        Else
            FileChangeDir(@ScriptDir)
            _FileReadToArray($sFileDialog, $filearray, 0)
            GUICtrlSetData($input1, '')
            GUICtrlSetData($input2, '')
            GUICtrlSetData($input1, $filearray[0])
            GUICtrlSetData($input2, $filearray[1])
            start_Outlook_scann_new_mails()
        EndIf
    EndFunc   ;==>FileOpenDia
    
    
    Func start_suche_config()
        Local $filearray[2]
        Local $datei = @ScriptDir & '\config\config.cfg'
        Local $dir =  @ScriptDir & '\config\'
        IF FileExists($datei) = 0 Then
        DirCreate($dir)
        EndIf
        If FileExists($datei) = 1 Then
            _FileReadToArray($datei, $filearray, 0)
            GUICtrlSetData($input1, '')
            GUICtrlSetData($input2, '')
            GUICtrlSetData($input1, $filearray[0])
            GUICtrlSetData($input2, $filearray[1])
            start_Outlook_scann_new_mails()
        Else
            FileOpenDia()
        EndIf
    EndFunc   ;==>start_suche_config
    Alles anzeigen


    Danke nochmal an alle & auch vorallem an Water :).

  • Email empfang

    • MojoeB
    • 26. Juli 2022 um 12:25

    water :

    Also ich habe nun die '_OL_Example_ItemAdd2_Event.au3' & '_OL_Wrapper_SendMail.au3'

    Da es ja um ein anderes Postfach in Outlook gedacht ist.

    Wenn ich die Beispiele zusammenschiebe 'augenscheinlich' genau wie in meinem Skript, dann funktioniert das ohne GUI aber mit GUI irgendwie nicht mehr.

    Code
    sMailbox 
    sCurrentUser 

    müssen lediglich angepasst werden.

    C
    #include <OutlookEX.au3>
    #include <MsgBoxConstants.au3>
    
    ; *****************************************************************************
    ; Example Script
    ; Handle Outlook ItemAdd event when a new mail item arrives in an Inbox.
    ; This example works for an Inbox of another user or a shared mailbox.
    ; This script loops until Shift-Alt-E is pressed to exit.
    ; *****************************************************************************
    HotKeySet("+!e", "_Exit") ; Shift-Alt-E to Exit the script
    Global $sMailbox = "POSTFACH\Posteingang"  ; <== replace with the mailbox you want to monitor
    Global $sCurrentUser = 'email@email.com'
    Global $sTitle = "OutlookEX UDF Example Script"
    MsgBox($MB_IconInformation, $sTitle, "Hotkey to exit the script: 'Shift-Alt-E'!", 10) ; Wait 10 seconds, then continue
    
    ; Start or connect to a running Outlook instance
    Global $oOL = _OL_Open()
    If @error Then Exit MsgBox($MB_IconError, $sTitle, "Error when calling _OL_Open: @error=" & @error & ", @extended=" & @extended & @CRLF)
    
    ; Access the Mailbox
    Global $aFolder = _OL_FolderAccess($oOL, $sMailbox, $olFolderInbox)
    If @error Then Exit MsgBox($MB_IconError, $sTitle, "Error when calling _OL_FolderAccess: @error=" & @error & ", @extended=" & @extended & @CRLF)
    
    
    ; Create a collection of the items in this mailbox
    Global $oItems = $aFolder[1].Items
    If @error Then Exit MsgBox($MB_IconError, $sTitle, "Error when accessing the folder items: @error=" & @error & ", @extended=" & @extended & @CRLF)
    
    ; Create the events for this collection. Outlook calls a function starting with "oOL_" for each event. For the ItemAdd event function oOL_ItemAdd will be called
    Global $oTemp = ObjEvent($oItems, "oOL_")
    If @error Then Exit MsgBox($MB_IconError, $sTitle, "Error when calling ObjEvent: @error=" & @error & ", @extended=" & @extended & @CRLF)
    ConsoleWrite("OutlookEX UDF Example Script - waiting for new items to arrive!" & @CRLF)
    
    While 1
        Sleep(10)
    WEnd
    
    ; ItemAdd event - https://docs.microsoft.com/en-us/office/vba/api/outlook.items.itemadd
    Func oOL_ItemAdd($oItem)
        ConsoleWrite("OutlookEX UDF Example Script - new item has arrived!" & @CRLF)
        ConsoleWrite( _
                "From:    " & $oItem.SenderName & @CRLF & _
                "Subject: " & $oItem.Subject & @CRLF & _
                "Class:   " & $oItem.Class & " (43=Mail, 53=MeetingRequest ...)" & @CRLF)
    
    _OL_Wrapper_SendMail($oOL, $sCurrentUser, "", "", $oItem.Subject , "Body<br><b>test</b> normal.", '', $olFormatHTML, $olImportanceHigh)
    EndFunc   ;==>oOL_ItemAdd
    
    
    
    Func _Exit()
        _OL_Close($oOL)
        Exit
    EndFunc   ;==>_Exit
    Alles anzeigen


    EDIT : water :

    Ich muss zurückrudern, es war doch eine dumme Kleinigkeit. Die einzige Änderung die ich machen musste war statt Local / Global $oOL = _OL_Open

    Nun funktioniert es. Muss noch bei Stopp irgentwie richtig programmieren.


    Code
    Global $oOL = _OL_Open()
    C
    #include "UDFs\OutlookEX.au3"
    #include <ButtonConstants.au3>
    #include <EditConstants.au3>
    #include <GUIConstantsEx.au3>
    #include <StaticConstants.au3>
    #include <WindowsConstants.au3>
    #include <AutoItConstants.au3>
    #include <FileConstants.au3>
    #include <MsgBoxConstants.au3>
    HotKeySet("+!d", "_Exit") ; Shift-Alt-D to Exit the script
    Global $oOL =''
    Opt("GUIOnEventMode", 1)
    
    $Form1 = GUICreate("MailFromToOnlySubject", 410, 105, -1, -1, -1, -1) ;Programmfenster
    GUISetOnEvent($GUI_EVENT_CLOSE, "_Exit")
    $Button_Start_ = GUICtrlCreateButton("Start", 302, 73, 100, 25, -1, -1)
    GUICtrlSetOnEvent(-1, "ClientStart")
    $input1 = GUICtrlCreateInput("", 12, 31, 390, 20, -1, $WS_EX_CLIENTEDGE)
    $input2 = GUICtrlCreateInput("", 12, 78, 283, 20, -1, $WS_EX_CLIENTEDGE)
    GUICtrlCreateLabel("weiterleiten an :", 20, 60, 275, 15, -1, -1)
    GUICtrlCreateLabel("Posteingang der Überwacht werden soll :", 12, 12, 226, 15, -1, -1)
    GUISetState(@SW_SHOW)
    ;~ $oOL=ClientStart()
    ;~     Global $oOL = _OL_Open()
        If @error Then MsgBox($MB_IconError, '', "Error when calling _OL_Open: @error=" & @error & ", @extended=" & @extended & @CRLF)
    
    While 1
        Sleep(50)
    WEnd
    
    Func ClientStart()
    $oOL = _OL_Open()
        Local $Igo = ''
        If GUICtrlRead($Button_Start_, 1) = 'Start' Then
            GUICtrlSetData($Button_Start_, 'Stopp')
            $Igo = 1
    
        ElseIf GUICtrlRead($Button_Start_, 1) = 'Stopp' Then
            GUICtrlSetData($Button_Start_, 'Start')
            $Igo = 0
        EndIf
    
        Local $sTitle = "OutlookEX"
    
    
        If $Igo = 1 Then
            GUICtrlSetData($Button_Start_, 'Stopp')
            Local $sMailbox = GUICtrlRead($input1, 1)
            MsgBox($MB_IconInformation, $sTitle, "Hotkey zum Beenden des Scripts: 'Shift-Alt-D '!", 10)
    
            Local $aFolder = _OL_FolderAccess($oOL, $sMailbox, $olFolderInbox)
            If @error Then MsgBox($MB_IconError, $sTitle, "Error when calling _OL_FolderAccess: @error=" & @error & ", @extended=" & @extended & @CRLF, 10)
    ;~         _ArrayDisplay($aFolder)
            Local $oItems = $aFolder[1].Items
            If @error Then MsgBox($MB_IconError, $sTitle, "Error when accessing the folder items: @error=" & @error & ", @extended=" & @extended & @CRLF, 10)
    
            Local $oTemp = ObjEvent($oItems, "oOL_")
            If @error Then MsgBox($MB_IconError, $sTitle, "Error when calling ObjEvent: @error=" & @error & ", @extended=" & @extended & @CRLF, 10)
            ConsoleWrite("OutlookEX UDF Example Script - waiting for new items to arrive!" & @CRLF)
        EndIf
    
        If $Igo = 0 Then
            _OL_Close($oOL, False)
        EndIf
        Return $oOL
    EndFunc   ;==>ClientStart
    
    Func send_outlookmail($OL, $ToUser, $betreff, $oItem)
        _OL_Wrapper_SendMail($OL, $ToUser, "", "", $betreff, "Der Text wurde aus Sicherheitsgründen entfernt.", '', $olFormatRichText, $olImportanceHigh)
        If @error <> 0 Then MsgBox(16, "OutlookEX UDF: _OutlookSendMail Wrapper Script", "Error sending mail. @error = " & @error & ", @extended: " & @extended, 10)
    EndFunc   ;==>send_outlookmail
    
    
    
    Func oOL_ItemAdd($oItem)
        ConsoleWrite("OutlookEX UDF Example Script - new item has arrived!" & @CRLF)
        ConsoleWrite( _
                "From:    " & $oItem.SenderName & @CRLF & _
                "Subject: " & $oItem.Subject & @CRLF & _
                "Class:   " & $oItem.Class & " (43=Mail, 53=MeetingRequest ...)" & @CRLF)
    
                MsgBox(0, GUICtrlRead($input2, 1), $oItem.Subject);Nur als test
                send_outlookmail($oOL, GUICtrlRead($input2, 1), $oItem.Subject, $oItem)
    EndFunc   ;==>oOL_ItemAdd
    
    Func _Exit()
        Exit
    EndFunc   ;==>_Exit
    Alles anzeigen
  • Email empfang

    • MojoeB
    • 25. Juli 2022 um 11:59
    Zitat von water

    fehlt die Schleife, damit das Programm nicht sofort beendet

    Es beendet sich doch gar nicht sofort.

    zeile 68 - 70 While

    Habe eher ClientStart den Return Wert beim Starten ausgeben lassen damit dieser in der anderen Funktion direkt gefunden wird und nicht abricht da $var ist sonst nicht deklariert.

    Dachte ich muss es mit Opt("GUIOnEventMode", 1) machen.

    Die Msgbox zeigt er auch in der Func oOL_ItemAdd($oItem) richtig an. wenn eine Mail eingeht.

    Warum sendet er dann die Mail nicht los. Oder muss ich dafür ein eigenes _OL_Open auf machen?


    Änderung :

    Code
    Global $oOL =''
    $Button_Start_ = GUICtrlCreateButton("Start", 302, 73, 100, 25, -1, -1)
    ;~ $oOL=ClientStart()
    While 1
        Sleep(50)
    WEnd

    Leider das selbe Ergebnis :/

    C
    #include "UDFs\OutlookEX.au3"
    #include <ButtonConstants.au3>
    #include <EditConstants.au3>
    #include <GUIConstantsEx.au3>
    #include <StaticConstants.au3>
    #include <WindowsConstants.au3>
    #include <AutoItConstants.au3>
    #include <FileConstants.au3>
    #include <MsgBoxConstants.au3>
    HotKeySet("+!d", "_Exit") ; Shift-Alt-D to Exit the script
    Global $oOL =''
    Opt("GUIOnEventMode", 1)
    
    $Form1 = GUICreate("MailFromToOnlySubject", 410, 105, -1, -1, -1, -1) ;Programmfenster
    GUISetOnEvent($GUI_EVENT_CLOSE, "_Exit")
    $Button_Start_ = GUICtrlCreateButton("Start", 302, 73, 100, 25, -1, -1)
    GUICtrlSetOnEvent(-1, "ClientStart")
    $input1 = GUICtrlCreateInput("", 12, 31, 390, 20, -1, $WS_EX_CLIENTEDGE)
    $input2 = GUICtrlCreateInput("", 12, 78, 283, 20, -1, $WS_EX_CLIENTEDGE)
    GUICtrlCreateLabel("weiterleiten an :", 20, 60, 275, 15, -1, -1)
    GUICtrlCreateLabel("Posteingang der Überwacht werden soll :", 12, 12, 226, 15, -1, -1)
    GUISetState(@SW_SHOW)
    ;~ $oOL=ClientStart()
    
    
    While 1
        Sleep(50)
    WEnd
    
    Func ClientStart()
        Local $Igo = ''
        If GUICtrlRead($Button_Start_, 1) = 'Start' Then
            GUICtrlSetData($Button_Start_, 'Stopp')
            $Igo = 1
    
        ElseIf GUICtrlRead($Button_Start_, 1) = 'Stopp' Then
            GUICtrlSetData($Button_Start_, 'Start')
            $Igo = 0
        EndIf
    
        Local $sTitle = "OutlookEX"
        Local $oOL = _OL_Open()
        If @error Then MsgBox($MB_IconError, $sTitle, "Error when calling _OL_Open: @error=" & @error & ", @extended=" & @extended & @CRLF)
    
        If $Igo = 1 Then
            GUICtrlSetData($Button_Start_, 'Stopp')
            Local $sMailbox = GUICtrlRead($input1, 1)
            MsgBox($MB_IconInformation, $sTitle, "Hotkey zum Beenden des Scripts: 'Shift-Alt-D '!", 10)
    
            Local $aFolder = _OL_FolderAccess($oOL, $sMailbox, $olFolderInbox)
            If @error Then MsgBox($MB_IconError, $sTitle, "Error when calling _OL_FolderAccess: @error=" & @error & ", @extended=" & @extended & @CRLF, 10)
    ;~         _ArrayDisplay($aFolder)
            Local $oItems = $aFolder[1].Items
            If @error Then MsgBox($MB_IconError, $sTitle, "Error when accessing the folder items: @error=" & @error & ", @extended=" & @extended & @CRLF, 10)
    
            Local $oTemp = ObjEvent($oItems, "oOL_")
            If @error Then MsgBox($MB_IconError, $sTitle, "Error when calling ObjEvent: @error=" & @error & ", @extended=" & @extended & @CRLF, 10)
            ConsoleWrite("OutlookEX UDF Example Script - waiting for new items to arrive!" & @CRLF)
        EndIf
    
        If $Igo = 0 Then
            _OL_Close($oOL, False)
        EndIf
        Return $oOL
    EndFunc   ;==>ClientStart
    
    Func send_outlookmail($OL, $ToUser, $betreff, $oItem)
        _OL_Wrapper_SendMail($OL, $ToUser, "", "", $betreff, "Der Text wurde aus Sicherheitsgründen entfernt.", '', $olFormatRichText, $olImportanceHigh)
        If @error <> 0 Then MsgBox(16, "OutlookEX UDF: _OutlookSendMail Wrapper Script", "Error sending mail. @error = " & @error & ", @extended: " & @extended, 10)
    EndFunc   ;==>send_outlookmail
    
    
    
    Func oOL_ItemAdd($oItem)
        ConsoleWrite("OutlookEX UDF Example Script - new item has arrived!" & @CRLF)
        ConsoleWrite( _
                "From:    " & $oItem.SenderName & @CRLF & _
                "Subject: " & $oItem.Subject & @CRLF & _
                "Class:   " & $oItem.Class & " (43=Mail, 53=MeetingRequest ...)" & @CRLF)
    
                MsgBox(0, GUICtrlRead($input2, 1), $oItem.Subject);Nur als test
                send_outlookmail($oOL, GUICtrlRead($input2, 1), $oItem.Subject, $oItem)
    EndFunc   ;==>oOL_ItemAdd
    
    Func _Exit()
        Exit
    EndFunc   ;==>_Exit
    Alles anzeigen
  • Email empfang

    • MojoeB
    • 25. Juli 2022 um 11:02

    water Danke für die Einweisungen.

    So musste nun einige Tage hier für Kollegen einspringen deshalb hatte ich leider keine Zeit mich weiter damit intensiver zu beschäftigen.

    Habe schon 1x exe kompiliert letzte Woche, die Funktioniert aber hat noch Fehler drinnen.

    Leider habe ich den Code versehentlich über speichert.

    nun wollte ich das ganze verbessern aber aus irgendeinem Grund schickt er nun die mail nicht los. error = 1003

    Woran liegt das oO.? :/


    Hier mal der neue Code :


    C
    #include "UDFs\OutlookEX.au3"
    #include <ButtonConstants.au3>
    #include <EditConstants.au3>
    #include <GUIConstantsEx.au3>
    #include <StaticConstants.au3>
    #include <WindowsConstants.au3>
    #include <AutoItConstants.au3>
    #include <FileConstants.au3>
    #include <MsgBoxConstants.au3>
    HotKeySet("+!d", "_Exit") ; Shift-Alt-D to Exit the script
    
    Opt("GUIOnEventMode", 1)
    
    $Form1 = GUICreate("MailFromToOnlySubject", 410, 105, -1, -1, -1, -1)
    GUISetOnEvent($GUI_EVENT_CLOSE, "_Exit")
    $Button_Start_ = GUICtrlCreateButton("Stopp", 302, 73, 100, 25, -1, -1)
    GUICtrlSetOnEvent(-1, "ClientStart")
    $input1 = GUICtrlCreateInput("", 12, 31, 390, 20, -1, $WS_EX_CLIENTEDGE)
    $input2 = GUICtrlCreateInput("", 12, 78, 283, 20, -1, $WS_EX_CLIENTEDGE)
    GUICtrlCreateLabel("weiterleiten an :", 20, 60, 275, 15, -1, -1)
    GUICtrlCreateLabel("Posteingang der Überwacht werden soll :", 12, 12, 226, 15, -1, -1)
    GUISetState(@SW_SHOW)
    
    $oOL=ClientStart()
    
    Func ClientStart()
        Local $Igo = ''
        If GUICtrlRead($Button_Start_, 1) = 'Start' Then
            GUICtrlSetData($Button_Start_, 'Stopp')
            $Igo = 1
    
        ElseIf GUICtrlRead($Button_Start_, 1) = 'Stopp' Then
            GUICtrlSetData($Button_Start_, 'Start')
            $Igo = 0
        EndIf
    
        Local $sTitle = "OutlookEX"
        Local $oOL = _OL_Open()
        If @error Then MsgBox($MB_IconError, $sTitle, "Error when calling _OL_Open: @error=" & @error & ", @extended=" & @extended & @CRLF)
    
        If $Igo = 1 Then
            GUICtrlSetData($Button_Start_, 'Stopp')
            Local $sMailbox = GUICtrlRead($input1, 1)
            MsgBox($MB_IconInformation, $sTitle, "Hotkey zum Beenden des Scripts: 'Shift-Alt-D '!", 10)
    
            Local $aFolder = _OL_FolderAccess($oOL, $sMailbox, $olFolderInbox)
            If @error Then MsgBox($MB_IconError, $sTitle, "Error when calling _OL_FolderAccess: @error=" & @error & ", @extended=" & @extended & @CRLF, 10)
    ;~         _ArrayDisplay($aFolder)
            Local $oItems = $aFolder[1].Items
            If @error Then MsgBox($MB_IconError, $sTitle, "Error when accessing the folder items: @error=" & @error & ", @extended=" & @extended & @CRLF, 10)
    
            Local $oTemp = ObjEvent($oItems, "oOL_")
            If @error Then MsgBox($MB_IconError, $sTitle, "Error when calling ObjEvent: @error=" & @error & ", @extended=" & @extended & @CRLF, 10)
            ConsoleWrite("OutlookEX UDF Example Script - waiting for new items to arrive!" & @CRLF)
        EndIf
    
        If $Igo = 0 Then
            _OL_Close($oOL, False)
        EndIf
        Return $oOL
    EndFunc   ;==>ClientStart
    
    Func send_outlookmail($OL, $ToUser, $betreff, $oItem)
        _OL_Wrapper_SendMail($OL, $ToUser, "", "", $betreff, "Der Text wurde aus Sicherheitsgründen entfernt.", '', $olFormatRichText, $olImportanceHigh)
        If @error <> 0 Then MsgBox(16, "OutlookEX UDF: _OutlookSendMail Wrapper Script", "Error sending mail. @error = " & @error & ", @extended: " & @extended, 10)
    EndFunc   ;==>send_outlookmail
    
    While 1
        Sleep(50)
    WEnd
    
    Func oOL_ItemAdd($oItem)
        ConsoleWrite("OutlookEX UDF Example Script - new item has arrived!" & @CRLF)
        ConsoleWrite( _
                "From:    " & $oItem.SenderName & @CRLF & _
                "Subject: " & $oItem.Subject & @CRLF & _
                "Class:   " & $oItem.Class & " (43=Mail, 53=MeetingRequest ...)" & @CRLF)
    
                MsgBox(0, GUICtrlRead($input2, 1), $oItem.Subject);Nur als test
                send_outlookmail($oOL, GUICtrlRead($input2, 1), $oItem.Subject, $oItem)
    EndFunc   ;==>oOL_ItemAdd
    
    Func _Exit()
        Exit
    EndFunc   ;==>_Exit
    Alles anzeigen
  • Email empfang

    • MojoeB
    • 13. Juli 2022 um 16:27

    Superrrrrr :)  water : Danke für die Tipps es hat funktioniert.

    Ich hab zwar persönlich immer noch nicht richtig verstanden wie das funktioniert bsp:

    $oItem.SenderName ->"Wo steht das '.SenderName'" <- woher wissen wir das man dies eingeben werden muss ?

    Das habe ich generell bei Objekten so, woher weiß man sowas bzw. wo bekommt man solche Informationen genau her?

    Werde morgen mal den kompletten Code posten, es gibt vielleicht noch Fehler zu entdecken, bin grad nicht mehr auf der Arbeit deshalb erst wieder morgen :)

  • Email empfang

    • MojoeB
    • 13. Juli 2022 um 09:18

    guten morgen Water,

    Ja du hast recht, habe ich geändert in der func fehler_,

    Das sieht stark aus: _OL_Example_NewMailEX_Event.au3

    wenn du mir nun noch verrätst wie ich die Posteingänge von dem dem anderem Exchange Konto die Benachrichtigung empfange, bei den anderen Posteingängen bekomme ich auch keine Windows Benachrichtigung angezeigt.

    Habe nun gestern ein fertiges Skript erstellt , aber Voraussetzung dazu ist die Mails erst in einen bestimmten Ordner kopieren zu lassen durch eine Regel und dann diesen Ordner zu überwachen mail nur mit betreff verschicken und im anschluss löschen.

    Nachteil dabei dies kann ich auch nur auf dem Hauptkonto ausführen lassen da ich für die anderen Posteingänge keine Regeln erstellen kann.

    Mit dieser Methode _OL_Example_NewMailEX_Event.au3 wäre es viel einfacher wenn ich jetzt noch die anderen Posteingänge auswählen könnte. :)

  • ArrayPlus-UDF - weitere Helferlein für den täglichen Umgang mit Arrays

    • MojoeB
    • 12. Juli 2022 um 14:53

    Wow grad nur kurz _ArrayDisplay(_ArrayCreate("[[1, 2, 3], [4, 5, 6], [7, 8, 9], [10, 11, 12], [13, 14, 15]]")) ausprobiert.

    funktioniert wie es aussieht perfekt. :thumbup:

  • Email empfang

    • MojoeB
    • 8. Juli 2022 um 12:39

    Ich habe zum testen nun erstmal eine Regel in Outlook verfasst die besagt das alle neuen Emails automatisch in einen weiteren Ordner kopiert werden.
    Nun wird in dem erstellten Ordner die Betreffzeilen ausgelesen, und dann die Betreffzeile weiter geschickt.
    Nachdem Versenden möchte ich nun wieder die kopierten Emails Löschen lassen, das habe ich bisher noch nicht rausgefunden wie das funktioniert.

    Hier ist mal mein bisheriger Code :

    C
    #include "UDFs\OutlookEX.au3"
    #include "functions\functions.au3"
    #include <array.au3>
    
    test()
    
    func test()
    Local $Postfach = ''
    Local $dir = ''    
    Local $Postfachto = ''
    $oOutlook = _OL_Open()
    Local $array= AccessFolder_OL($oOutlook, $Postfach, $dir)
    Local $string = ''
    
    For $i =  1 To UBound($array) -1  step 1
        $string = $array[$i][0]
        ConsoleWrite($string & @CRLF)
        send_outlookmail($oOutlook, $Postfachto, $string)
    Next
    EndFunc 
    Alles anzeigen


    Code
    ;functions.au3
    Func AccessFolder_OL($OL, $UserRoot, $vDir)
        Local $aItems[0]
        If IsObj($OL) <> 1 Then
            fehler_('Fehler, Outlook wurde nicht als Objekt gefunden. Funktion : AccessFolder_OL')
        Else
            _OL_FolderAccess($OL, $UserRoot)
            IF @Error Then fehler_('Fehler, Funktion : _OL_ItemFind') 
            $aItems = _OL_ItemFind($OL, $UserRoot & '\' & $vDir, $olMail, "", "", "", "Subject", "", 1)
            IF @Error Then fehler_('Fehler, Funktion : _OL_ItemFind') 
        EndIf
        Return $aItems
    EndFunc   ;==>AccessFolder_OL
    
    Func send_outlookmail($OL, $ToUser, $betreff)
        If IsObj($OL) <> 1 Then
            fehler_('Fehler, Outlook wurde nicht als Objekt gefunden. Funktion : send_outlookmail')
        Else
            _OL_Wrapper_SendMail($OL, $ToUser, "", "", $betreff, "Der Text wurde aus Sicherheitsgründen entfernt.", '', $olFormatRichText, $olImportanceHigh)
            If @error <> 0 Then fehler_('Fehler, Outlook konnte die Email mit dem Betreff : ' & $betreff & ' nicht an ' & $ToUser & ' senden. Funktion : send_outlookmail')
        EndIf
    EndFunc   ;==>send_outlookmail
    
    
    Func fehler_($fehler)
        Local $File = 'error.txt'
        Local $timedate = @HOUR & ':' & @MIN & ':' & @SEC & ' - ' & @MDAY & '.' & @MON & '.' & @YEAR
        $oF = FileOpen($File, 1)
        If $oF = -1 Then
            FileWrite($File, '')
        Else
            FileWrite($oF, $timedate & '|' & $fehler & '|' & @CRLF)
            ConsoleWrite($timedate & '|' & $fehler & '|' & @CRLF)
        EndIf
    EndFunc   ;==>fehler_
    Alles anzeigen

    Zu deiner Frage zurückzukommen, trifft Punkt 1 so ziemlich zu, bloß das die Mails dann aber im Posteingang unberührt bleiben müssen.

  • Email empfang

    • MojoeB
    • 8. Juli 2022 um 08:39

    gmmg danke, aber das muss ich ausschließen weil es für unternehmen nicht Freeware ist.

    Die summe ich keine große, aber schauen wir mal ob wir das so hinbekommen.

    Gun-Food

    Ja Ich hab mir schon sowas gedacht das es über ActiveSync läuft wollte mich aber nicht blamieren X/ Weils nur eine Vermutung war und ich davor noch nicht viel davon gehört hatte.

    Müssten das dann aber dennoch nicht lösbar mit der Winhttp UDF sein oder? kann das kein https? Danke für die Erläuterung.

    water ich denke ich nehme deinen Lösung Vorschlag, habe mir auch schon die UDF angeschaut und etwas rumprobiert mit den Examples die dabei sind.
    Habe aber ehrlich gesagt noch nicht so ganz durchgeblickt. Werde es mir heute weiter anschauen und rumprobieren wenn ich gar nicht weiter komme melde ich mich hier noch vielleicht heute oder erst nach dem Wochenende.
    Deine UDF hat es verdient benutzt zu werden da steckt ne menge Arbeit drin so wie das aussieht top :thumbup::thumbup:.

  • Email empfang

    • MojoeB
    • 6. Juli 2022 um 08:28

    AspirinJunkie :

    danke für deine ausführliche Antwort.

    Ich habe bereits ein paar udfs getestet nachdem Googlen vom funkey seinem Vorschlag.

    Leider hat es nicht auf anhieb geklappt auch nicht mit privaten Mail Adressen, deshalb denke ich das dies etwas längere zeit in Anspruch nehmen wird.

    Vielleicht finden wir intern noch eine einfache Lösung falls nicht komm ich noch mal auf Water zurück. :)

  • Email empfang

    • MojoeB
    • 6. Juli 2022 um 02:21

    das habe ich nicht gesagt! :)


    ich sagte Emails empfangen ohne Outlook! nur per Skript, ich mein man kann ja auch Emails versenden ohne Outlook warum sollte das nicht auch per Skript gehen um welche zu empfangen.

  • Email empfang

    • MojoeB
    • 5. Juli 2022 um 17:23

    keine Ahnung.. es war ein langer heißer tag xD sry ich weiß nicht warum ich das so geschrieben habe...


    ich meinte natürlich abgetrennt von Outlook ohne das Outlook im Hintergrund offen sein muss....

Spenden

Jeder Euro hilft uns, Euch zu helfen.

Download

AutoIt Tutorial
AutoIt Buch
Onlinehilfe
AutoIt Entwickler
  1. Datenschutzerklärung
  2. Impressum
  3. Shoutbox-Archiv
Community-Software: WoltLab Suite™