Vergisst du manchmal, deine E-Mails zu checken? 😅 Keine Sorge – dein Smart Home kann dir unter die Arme greifen! In diesem Video zeige ich dir die Home Assistant IMAP-Integration, mit der du ungelesene E-Mails live im Dashboard siehst und sogar Mails löschen oder als gelesen markieren kannst 🔥
Inhaltsverzeichnis
Voraussetzungen
Ressourcen
| Doku von HA, falls du etwas selbst nachlesen möchtest | https://www.home-assistant.io/integrations/imap/ |
| M365-Mail Integration für Home Assistant | https://github.com/RogerSelwyn/MS365-Mail / Doku: https://rogerselwyn.github.io/MS365-Mail/ |
Code-Snippets
Hier die gezeigten Codes / Dashboards / Automationen Video, damit du möglichst viel kopieren kannst! Natürlich musst du die Entitäten-IDs, Geräte-IDs, Dienste usw. gegebenenfalls durch deine eigenen ersetzen!
Dashboard
Kachel-Karte mit ungelesenen Mails

type: tile
entity: sensor.imap_m_mustermann_gmx_de_nachrichten
features_position: bottom
vertical: false
grid_options:
columns: 12
rows: 1
visibility:
- condition: numeric_state
entity: sensor.imap_m_mustermann_gmx_de_nachrichten
above: 0
tap_action:
action: navigate
navigation_path: /lovelace/mail
icon_tap_action:
action: more-info
name: IMAP (GMX) Nachrichten
Unter-Ansicht für E-Mails (erfordert Skripte für Buttons & Template)

title: Dashboard-Name
views:
- type: sections
max_columns: 4
title: Mail
path: mail
icon: mdi:email
sections:
- type: grid
cards:
- type: heading
heading: E-Mails (GMX)
heading_style: title
icon: mdi:email
badges:
- type: entity
show_state: true
show_icon: true
entity: sensor.imap_m_mustermann_gmx_de_nachrichten
tap_action:
action: more-info
color: green
visibility:
- condition: numeric_state
entity: sensor.imap_m_mustermann_gmx_de_nachrichten
below: 1
- type: entity
show_state: true
show_icon: true
entity: sensor.imap_m_mustermann_gmx_de_nachrichten
tap_action:
action: more-info
color: red
visibility:
- condition: numeric_state
entity: sensor.imap_m_mustermann_gmx_de_nachrichten
above: 0
- type: heading
heading: Aktionen
heading_style: title
icon: mdi:gesture-double-tap
badges:
- type: entity
show_state: true
show_icon: false
entity: sensor.imap_content
visibility:
- condition: numeric_state
entity: sensor.imap_m_mustermann_gmx_de_nachrichten
above: 0
- show_name: true
show_icon: true
type: button
tap_action:
action: perform-action
perform_action: script.neuste_nachricht_als_gelesen_markieren_m_mustermann_gmx_de
target: {}
show_state: false
grid_options:
columns: 6
rows: 2
icon_height: 50px
entity: sensor.imap_content
name: Gelesen
icon: mdi:read
visibility:
- condition: numeric_state
entity: sensor.imap_m_mustermann_gmx_de_nachrichten
above: 0
- show_name: true
show_icon: true
type: button
tap_action:
action: perform-action
perform_action: script.neuste_nachricht_loschen_m_mustermann_gmx_de
target: {}
show_state: false
grid_options:
columns: 6
rows: 2
icon_height: 50px
entity: sensor.imap_content
name: Löschen
icon: mdi:delete
visibility:
- condition: numeric_state
entity: sensor.imap_m_mustermann_gmx_de_nachrichten
above: 0
- type: markdown
content: |-
### Betreff: {{ states("sensor.imap_content") }}
### Absender: {{ state_attr("sensor.imap_content", "Sender") }}
## Nachricht:
{{ state_attr("sensor.imap_content", "Message") }}
title: Vorschau
visibility:
- condition: numeric_state
entity: sensor.imap_m_mustermann_gmx_de_nachrichten
above: 0
- type: grid
cards:
- type: markdown
content: '# Perfekt, alles erledigt 🙌'
- show_name: true
show_icon: true
type: button
tap_action:
action: navigate
navigation_path: /lovelace/home
entity: sensor.imap_content
icon: mdi:keyboard-backspace
name: Zurück zum Dashboard
hold_action:
action: none
grid_options:
columns: 12
rows: 2
visibility:
- condition: numeric_state
entity: sensor.imap_m_mustermann_gmx_de_nachrichten
below: 1
Template
template:
#######
############ E-Mail Zeugs
#######
- trigger:
- trigger: event
event_type: "imap_content"
sensor:
- name: imap_content
state: "{{ trigger.event.data['subject'] }}"
attributes:
Entry: "{{ trigger.event.data['entry_id'] }}"
UID: "{{ trigger.event.data['uid'] }}"
Message: "{{ trigger.event.data['text'] }}"
Server: "{{ trigger.event.data['server'] }}"
Username: "{{ trigger.event.data['username'] }}"
Search: "{{ trigger.event.data['search'] }}"
Folder: "{{ trigger.event.data['folder'] }}"
Sender: "{{ trigger.event.data['sender'] }}"
Date: "{{ trigger.event.data['date'] }}"
Subject: "{{ trigger.event.data['subject'] }}"
Initial: "{{ trigger.event.data['initial'] }}"
To: "{{ trigger.event.data['headers'].get('Delivered-To', ['n/a'])[0] }}"
Return-Path: "{{ trigger.event.data['headers'].get('Return-Path',['n/a'])[0] }}"
Received-first: "{{ trigger.event.data['headers'].get('Received',['n/a'])[0] }}"
Received-last: "{{ trigger.event.data['headers'].get('Received',['n/a'])[-1] }}"
Hinweis für mehrere Postfächer
Falls du mehrere Postfächer hast, musst du das Template um die jeweilige entry_id ergänzen:
triggers:
- trigger: event
event_type: imap_content
event_data:
entry_id: 91fadb3617c5a3ea692aeb62d92aa869
Skript
Als ungelesen markieren
sequence:
- action: imap.seen
metadata: {}
data:
uid: "{{ state_attr('sensor.imap_content', 'UID') }}"
entry: 01JRMGBYV49H9ZVKTAM9GWPF71
alias: Neuste Nachricht als gelesen markieren (m.mustermann@gmx.de)
description: ""
Löschen
sequence:
- action: imap.delete
metadata: {}
data:
uid: "{{ state_attr('sensor.imap_content', 'UID') }}"
entry: 01JRMGBYV49H9ZVKTAM9GWPF71
alias: Neuste Nachricht löschen (m.mustermann@gmx.de)
description: ""
Fazit
Mit der IMAP-Integration holst du dir deine E-Mails direkt ins Home Assistant Dashboard – und zwar so, dass du sie nicht mehr ignorieren kannst 😁
Ob als smarte Erinnerung, optischer Hinweis oder mit echten Aktionen wie Löschen oder Als gelesen markieren – dein Smart Home wird zur Mail-Zentrale 💌
Natürlich ist das Setup etwas technischer, aber mit den Snippets & dem Video oben solltest du das gut hinbekommen. Und wie immer gilt: Passe alles an deine eigenen Bedürfnisse an – dann wird’s richtig cool 🔥
Viel Spaß beim Automatisieren – und vergiss deine Mails ab jetzt nie wieder 😉📬



Danke für deinen Beitrag!
finde ich voll toll, für die “älteren”.
ich habe mehrere “copy to folder”-buttons:
sync (mit thunderbird, solange ich teste) und
backup (nas: ha => nas:volume1\ha),
auto delete (24h INBOX.JUNK > clear) und so,
aber was ich nicht verstehe, ist (templating)
links unten meine variante, rechts die von simon42
ich habe immer wieder probleme die emails zu lesen statt die css und html anweisungen
vielleicht habt ihr eine idee. vielen dank!
Hallo zusammen,
ich möchte euch von meinem aktuellen Projekt erzählen und hoffe auf eure Unterstützung oder Ideen! Wie viele von euch kenne ich die Herausforderung, wenn die E-Mail-Postfächer der Eltern überquellen. Meine Eltern haben mehrere E-Mail-Konten, und es war an der Zeit, das mit Home Assistant zu organisieren. Ähnlich wie Simon42 habe ich schon einige Aktionen eingerichtet – zum Beispiel, um E-Mails als gelesen zu markieren, zu löschen, als wichtig zu kennzeichnen oder in Spam/Archiv zu verschieben (siehe das Bild mit den Buttons, das ich beigefügt habe). Das funktioniert super dank der IMAP-Integration!
Aber jetzt habe ich eine neue Idee für die nächste Aktion: Ich möchte automatisierte Abläufe basierend auf E-Mail-Anhängen erstellen, z. B. Rechnungen als PDF speichern oder Fotos in ein Album hochladen. Leider unterstützt die aktuelle ImapMessage-Klasse in Home Assistant keine Anhänge – weder die Anzahl noch die Namen oder die Dateien selbst.
Daher habe ich zwei Ansätze verfolgt:
Mein Ziel ist es, eine nahtlose Integration zu haben, die nicht nur Text und HTML ausliest, sondern auch Anhänge verarbeitet – ähnlich wie bei anderen E-Mail-Clients (z. B. Outlook oder Gmail). Wenn diese Funktion in den Core kommt, könnten wir alle davon profitieren, besonders bei Automatisierungen wie der Verarbeitung von Anhängen.
Was denkt ihr? Hat jemand Erfahrung mit der
ha_imap_attachment-Lösung oder Ideen, wie wir die Diskussion vorantreiben können? Ich freue mich auf eure Rückmeldungen!ich sehe das kritisch. Warum soll das Core System zu einer “Eierlegendenwollmichs*au” mutieren? Core soll schlank und stabil bleiben. Die HASC Erweiterung gibt es ja. Wenn hier Fehler gefunden werden oder neue Funktionen gewünscht sind gibt es ein Github Projekt wo per Issue oder Pullrequest unterstützt werden kann.
Bevor hier solche Dinge in Core einfließen sollten erstmal grundlegende Dinge wie Oauth2 implementiert werden.
Ich habe mich mit diesem Thema vor kurzem auch beschäftigt. Es gibt hierzu auch die Möglichkeit via “KI”/LLM die Emails vorsortieren zu lassen. Dadurch kann der Spam von den relevanten EMails (meines Erachtens) sehr gut getrennt werden.
Hier die Anleitung, über die ich auf das Thema gestoßen bin:
https://www.xda-developers.com/set-up-email-triage-system-home-assistant-local-llm/
Der Vorteil hier ist, dass man das auch auf langsameren Systemen ohne größere GK laufen lassen kann - man braucht hier dann nur etwas mehr Arbeitsspeicher (der ist ja aktuell vergleichsweise günstig). Bei Emails spielt die Reaktionsgeschwindigkeit ja nicht so die wichtige Rolle vgl. dem Assist vom HA (bei dem der User direkt die Antwort erwartet).
@thombe
dein link ist leider jetzt ein 404, gibt es den artikel noch online?