Email Scheduler

Hallo zusammen,
ich habe mir gerade einen Email Scheduler gebaut und wollte meine Erfahrungen gerne mit Euch Teilen.

Hintergrund der Aktion ist es, eine Mail zu einem bestimmten Zeitpunkt zu verschicken. Der konkrete Anwendungsfall ist es, eine Mail für eine Kartenvorbestellung an unser Kulturbüro zu schicken. Dort ist eine Reservierung per Mail möglich, aber erst dann wenn der Vorverkauf begonnen hat.

Zunächst habe ich geprüft, ob mein Email-Server das Versenden einer Email zu einem bestimmten Zeitpunkt unterstützt. Das war aber ohne Aufpreis nicht möglich. Es gibt auch online Services, die so etwas anbieten. Ich habe da Later.io und mailchimp.com angeschaut. Later.io bietet zwar einen kostenlosen Service an, Emails landen aber immer im Spam Ordner. Mailchimp bietet den Versandt zu einem bestimmten Zeitpunkt nicht in der kostenlosen Variante an.

Also habe ich mir gedacht, dass dann mein HA hier unterstützen könnte. Die Lösung ist zwar nicht super Bedienungsfreundlich, funktioniert aber soweit ganz gut.

  1. Einrichten einer SMTP Notification
    Damit das Verschicken von Emails überhaupt erst möglich ist, muss zunächst in der configuration.yaml eine Empfängeradresse definiert werden. Mit den Entwicklerwerkzeugen wird danach natürlich die Konfiguration geprüft und Home Assistant neu gestartet.

    # SMTP nofifications
    notify:
      - name: "email_kulturbuero"
        platform: smtp
        sender: "<meine_email_adresse>"
        sender_name: "<Mein Name>"
        recipient: "<empfänger_email_adresse"
        server: "<Postausgangsserver>"
        encryption: starttls
        port: 587
        username: "<username>"
        password: "<passwort>"
    
  2. Erstellen einer Automatisierung
    Als nächstes wird die Automation angelegt. Dabei habe ich einfach eine neue Automation erstellt, ohne irgendwelche Bedingungen zu konfigurieren. Einfach “Dann” anklicken und nach notify suchen. Wenn zuvor in der yaml Datei eine gültige SMTP Konfiguration erstellt wurde, taucht jetzt ein entsprechendes Element für eine Benachrichtigung auf. Der Elementname entspricht dabei dem “name” Parameter aus der configuration.yaml.

    Ich habe dann die Automation einfach unter dem Namen “Kulturbüro Karten” gespeichert ohne etwas zu konfigurieren. Die Automation taucht danach in der automation.yaml auf, die in dem Studio Code Server viel einfacher zu bearbeiten ist.

    - id: '1745171066331'
      alias: Kulturbüro Karten
      description: ''
      triggers: []
      conditions: []
      actions:
      - action: notify.email_kulturbuero
        metadata: {}
        data:
          title: Kartenresevierung für <Mein Name>
          message: 'Liebes Kulturbüro,
    
            ich möchte gerne Karten für das Konzert von Max Mustermann "Hier der
    
            Konzerttitel" auf meinen Namen vorbestellen. 
    
    
            Ich hoffe das meine Vorbestellung möglich ist.
    
    
            Viele Grüße,
    
    
            <Mein Name>
    
            '
      mode: single
    

    In dem Mailtext wird eine Leerzeile als Zeilenumbruch interpretiert.

  3. Um den Mailversandt aus der Übersicht auszuführen habe ich über HACS die Scheduler-component und die Scheduler-Card installiert. Diese Integration basiert auf der Scheduler-component und bietet die Möglichkeit, einen Zeitplaner für Automationen einzurichten. Somit kann ich einfach einen Zeitpunkt definieren, zu dem meine Automatisierung ausgeführt wird.

Um die Automation zu testen kann diese ja auch händisch aus dem Automation Dashboard gestartet werden. Während der Testphase macht es Sinn eine Test-Emailadresse zu verwenden.

1 „Gefällt mir“

Hast du ein Google Konto?
Da geht es über die Weboberfläche ganz einfach.


LG

Ich habe zwar eins, benutze das aber nicht. Ich wollte hier auch gezielt diesen Weg über HA gehen.