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. tm5

Beiträge von tm5

  • Outlook - Mails prüfen

    • tm5
    • 18. September 2023 um 13:36
    Zitat von water

    Du verwendest

    Code
    $sendersString

    nicht in Deiner Abfrage.
    Und welchen Inhalt hat

    Code
    $sendersArray

    Das stimmt $sendersString kann raus, das ist ein Überbleibsel aus einer vorherigen Version des Codes. Hier habe ich ein wenig umgebaut.

    $sendersArray ist ein Array, das aus den E-Mail-Adressen besteht, die aus der senders.txt-Datei eingelesen werden. Jede Zeile in der senders.txt-Datei wird zu einem Element im Array.

  • Outlook - Mails prüfen

    • tm5
    • 13. September 2023 um 14:43

    Wow deins ist ja echt richtig professionell schon, ich würde es mir jetzt ein wenig schlichter basteln. Bisher hab ich es jetzt mal wie folgt.

    Hier ist jetzt nur das Problem, dass die Outlooksuche noch nicht richtig funktioniert. Also das einlesen der Mailadressen passt, das habe ich mit der msgbox sichergestellt. Aber bei der Suche wird die Mail nicht gefunden. Hat jmd eine Idee woran das jetzt liegen könnte? Die Mail befindet sich in meinem eigenen Postfach. Besser wäre aber wenn es auch freigegebene Postfächer mit durchsucht, deswegen die Option, alle Elemente durchsuchen. Falls es nur im eigenen Postfach geht, reicht das aber auch.

    Code
    ; Prüfen, ob Outlook bereits geöffnet ist
    If Not ProcessExists("OUTLOOK.EXE") Then
        ; Outlook ist nicht geöffnet, also starten wir es
        ShellExecute("outlook.exe")
        Sleep(5000) ; Warten Sie einige Sekunden, um Outlook Zeit zum Starten zu geben
    EndIf
    
    ; Pfad zur senders.txt-Datei
    Local $sendersFile = @ScriptDir & "\senders.txt"
    
    ; Prüfen, ob die senders.txt-Datei vorhanden ist, andernfalls erstellen
    If Not FileExists($sendersFile) Then
        Local $fileHandle = FileOpen($sendersFile, 2)
        If $fileHandle = -1 Then
            MsgBox(0, "Fehler", "Fehler beim Erstellen der 'senders.txt'-Datei.")
            Exit ; Das Programm beenden, wenn die Datei nicht erstellt werden konnte
        Else
            FileClose($fileHandle)
            MsgBox(0, "Hinweis", "Die 'senders.txt'-Datei wurde erstellt.")
            Exit ; Das Programm beenden, nachdem die Datei erstellt wurde
        EndIf
    EndIf
    
    ; Die 'senders.txt'-Datei manuell einlesen und in eine Variable speichern
    Local $sendersString = FileRead($sendersFile)
    
    ; Prüfen, ob die Datei leer ist
    If $sendersString = "" Then
        MsgBox(0, "Hinweis", "Die 'senders.txt'-Datei ist leer.")
    Else
        ; Die E-Mail-Adressen aus der Datei ausgeben
        MsgBox(0, "Gelesene E-Mail-Adressen", "Folgende E-Mail-Adressen wurden aus 'senders.txt' gelesen:" & @CRLF & $sendersString)
    EndIf
    
    ; Outlook-Anwendung erstellen
    $oOutlook = ObjCreate("Outlook.Application")
    
    ; Überprüfen, ob die Outlook-Anwendung erfolgreich erstellt wurde
    If IsObj($oOutlook) Then
        ; Outlook-Namespace abrufen
        $oNamespace = $oOutlook.GetNamespace("MAPI")
    
        ; Heutiges Datum ermitteln
        $today = StringFormat("{0:dd.MM.yyyy}", @MDAY & "/" & @MON & "/" & @YEAR)
    
        ; Durchsuche alle Elemente (E-Mails, Kalender usw.) nach E-Mails von den in 'senders.txt' aufgeführten Absendern heute
        $count = 0
        For $oFolder In $oNamespace.Folders
            $oItems = $oFolder.Items
            For $oItem In $oItems
                If $oItem.Class = 43 And _ArraySearch($sendersArray, $oItem.SenderEmailAddress) <> -1 And StringInStr($oItem.ReceivedTime, $today) Then
                    $count += 1
                EndIf
            Next
        Next
    
        ; Anzahl der heute eingegangenen E-Mails von den in 'senders.txt' aufgeführten Absendern ausgeben
        MsgBox(0, "E-Mail-Statistik", "Heute wurden " & $count & " E-Mails von den in 'senders.txt' aufgeführten Absendern empfangen.")
    
    EndIf
    Alles anzeigen
  • Outlook - Mails prüfen

    • tm5
    • 12. September 2023 um 10:04

    Hallo, ich habe ein etwas spezielles Vorhaben. Wir haben mehrere Synologys im Einsatz die Active Backup eingerichtet haben. Hier sollte immer ein Statusbericht per Mail kommen. Um sicherzustellen, dass die Mail auch wirklich angekommen ist würde ich gerne mit autoit prüfen, ob die Mails heute an die Mailadresse alias@.... angekommen ist (hier würde ich eine txt Datei vll einlesen, mit der Liste der Adressen). Wenn Mails fehlen, dann müsste eine Meldung kommen. Theoretisch kann man das dann noch ausbauen, dass eine html seite den aktuellen Stand der eingetroffenen Mails anzeigt. Wenn 2/2 Mails eingetroffen sind dann wird das Feld grün. Spielerein dann noch.

    Ist mein Vorhaben prinzipiell mit Autoit lösbar? Ich würde das jetzt erst einmal allgemein fragen und mich dann damit näher befassen. Oder würdet Ihr mein Vorhaben eher anders lösen? Bin offen für jegliche Anregungen.

  • Placetel auto dial

    • tm5
    • 30. Mai 2023 um 14:06

    Hallo zusammen,

    ich habe eine Placetel Telefonanlage. Hier gibt es einen Softclient. Leider gibt es aber keinen Shortcut zum wählen. Das wollte ich nun mit AutoIT lösen. Ich habe es aktuell wie folgt gelöst. Nur leider klappt das WinActivate ganz unten nicht. Ich komme leider nicht dahinter wo das Problem ist.
    Der Ablauf ist also:
    - Jede Minute prüfen, ob das Programm läuft, sonst starten

    - Wenn F8 gedrückt wird dann soll eigentlich kopiert werden, dann soll das Programm aufgerufen werden und die Zwischenablage einfügen, bzw. STRG+C und dann STRG+V soll gesendet werden. Nur leider wird Placetel nicht in den Vordergrund gerufen.

    Im Window Info Fenster habe ich unter Windows folgende Werte:

    Title: Placetel Softphone

    Class: TfrmGUI

    Instance: 1

    Vielen Dank schonmal im Voraus für eure Unterstützung. :)

    Code
    Global Const $SW_SHOW = 5
    Global Const $SW_RESTORE = 9
    Global Const $SW_SHOWNORMAL = 1
    
    HotKeySet("{F8}", "CheckHotkey") ; F8 als Hotkey für die Überprüfung festlegen
    
    While True
        ; Überprüfen, ob der Prozess "ftel.exe" im Task-Manager vorhanden ist
        If Not ProcessExists("ftel.exe") Then
            ; Wenn der Prozess nicht vorhanden ist, öffnen Sie das Programm im Vordergrund
            Run("C:\Program Files (x86)\ftel\ftel\ftel.exe")
        EndIf
        
        ; Warte 60 Sekunden
        Sleep(60000) ; 60000 Millisekunden = 60 Sekunden
    WEnd
    
    Func dial()
            
        ; Das Fenster mit dem Titel "Placetel Softphone" in den Vordergrund bringen und einfügen
        Send("^c")
        WinActivate("Placetel Softphone")
        Send("^v")
    EndFunc
    Alles anzeigen

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™