Outlook - Mails prüfen

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

    Einmal editiert, zuletzt von tm5 (12. September 2023 um 10:12)

  • Natürlich lässt sich das lösen.

    Du hast 2 Möglichkeiten:

    • Dein Skript durchsucht den Posteingang nach den Mails eines bestimmten Absenders (Euer Synology System). Die Liste der Mails durchsuchst Du dann nach den Betreff-Zeilen.
    • Du setzt einen Trigger für Outlook. Der springt immer an, wenn eine neue Mail eingeht. Dann prüfst Du auf Absender und Betreff. Bei Bedarf dann weitere Aktionen.

    Dazu empfehle ich meine OutlookEX UDF (siehe Signatur unten).

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

  • Freigegebene Postfächer liegen aber außerhalb Deines Rechners. Was man versuchen könnte ist, mit Session.Folders zu arbeiten. Du kannst mal in meinen Outlook-Workshop schauen (https://www.rholtz-office.de/outlook/email_auslesen_teil1), auch wenn der für VBA geschrieben ist, vielleicht kannst Du damit Google füttern und Dir einen passenden Code schreiben.

    Oder Du versuchst es mit der Shared-Folder-Methode. https://learn.microsoft.com/de-de/office/v…pensharedfolder

  • Du verwendest

    Code
    $sendersString

    nicht in Deiner Abfrage.
    Und welchen Inhalt hat

    Code
    $sendersArray
  • Hmmm,

    ich würde da ev. ganz anders vorgehen.

    Richt dir eine spezielle Adresse bei Deinem Provider ein. z.B. von_synologie@testfirma.de

    Dieses Postfach läßt du mit Outlook ---> vollkommen in Ruhe.

    Suchst Dir einenn Command line mailer wie z.B. http://www.softsea.com/review/Command-Line-POP-Client.html.


    und fertig ist der Teil mit den Mails....

    Peter

    Hinweise auf Suchmaschinen finde ich überflüssig - wer fragt hat es nicht gefunden oder nicht verstanden. Die Antwort gibt sich oftmals schneller als der Hinweis auf Dr. Goggle & Co.

    Ab 19-10-22 ergänzt um:

    Die Welt wird nicht bedroht von den Menschen, die böse sind, sondern von denen, die das Böse zulassen. (Albert Einstein)

    Einmal editiert, zuletzt von Peter S. Taler (18. September 2023 um 22:57)

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