Warum ist das im Jahr 2025 notwendig? 🕒
E-Mail ist nach wie vor der wichtigste Kanal für die Kommunikation mit Kunden und Partnern. Tatsächlich sind 60–80 % der eingehenden E-Mails reine Routine: Bestätigungen, sich wiederholende Fragen, „Guten Tag, könnten Sie mir bitte sagen...“. Der Bot spart Ihnen Stunden pro Woche, beschleunigt die Antwort an den Benutzer und verringert die Wahrscheinlichkeit, dass E-Mails „liegen bleiben“.

Was wir bauen werden ⚙️
Mini-Bot auf IMAP + SMTP für die automatische Basis-Antwort.
Routing nach Schlüsselwörter (z. B. „Zahlung“, „Zusammenarbeit“).
Zusammenfassung „Wie man wechselt“ auf Gmail API (OAuth 2.0) für Zuverlässigkeit.
Bereitstellungsplan: cron / APScheduler, Logging, Docker.
Sicherheitsminimum: .env, App-Passwort, Frequenzbegrenzung.
Unten ist die minimale Arbeitsversion.
# pip install python-dotenv
import os, imaplib, smtplib, email
from email.mime.text import MIMEText
from dotenv import load_dotenv
load_dotenv()
IMAP = os.getenv("IMAP_SERVER", "imap.gmail.com")
SMTP = os.getenv("SMTP_SERVER", "smtp.gmail.com")
EMAIL = os.getenv("EMAIL_ADDRESS")
PASS = os.getenv("EMAIL_PASSWORD") # App-Passwort für Gmail
def send_reply(to_addr:str, subject:str):
msg = MIMEText("Thank you! We have received your letter and will reply as soon as possible.")
msg["Subject"] = f"Re: {subject or ''}".strip()
msg["From"] = EMAIL
msg["To"] = to_addr
with smtplib.SMTP_SSL(SMTP, 465) as smtp:
smtp.login(EMAIL, PASS)
smtp.sendmail(EMAIL, [to_addr], msg.as_string())
with imaplib.IMAP4_SSL(IMAP) as imap:
imap.login(EMAIL, PASS)
imap.select("INBOX")
status, data = imap.search(None, '(UNSEEN)')
ids = data[0].split()
for msg_id in ids:
_, raw = imap.fetch(msg_id, "(RFC822)")
msg = email.message_from_bytes(raw[0][1])
sender = email.utils.parseaddr(msg.get("From",""))[1]
subj = msg.get("Subject","")
if sender:
send_reply(sender, subj)
# als gelesen markieren
imap.store(msg_id, '+FLAGS', '\\Seen')💡 Tipp: Fügen Sie während der Tests einen „Trockenlauf“ (dry-run) hinzu, um Aktionen zu protokollieren, anstatt sie tatsächlich zu senden.
Smarter: Antworten nach Schlüsselwörtern 🧭
Die einfachste Logik: Wir schauen uns das Thema und den Text des Briefes an und wählen eine Antwortvorlage aus.
KEYMAP = {
"payment": "Regarding payment: the invoice has been sent, the terms are 1-2 banking days. If you need an act, please reply to this letter.",
"cooperation": "Thank you for your interest! Please write briefly about your audience and format, and we will get back to you with a proposal.",
"Technical support": "Describe the playback steps and send screenshots/logs — we will help you promptly."
}
DEFAULT = "Thank you for your letter! We are in touch and will get back to you as soon as possible."
def choose_reply(subject:str, body:str) -> str:
text = f"{subject} {body}".lower()
for key, template in KEYMAP.items():
if key in text:
return template
return DEFAULTEs kann auf eine einfache „Absicht“ erweitert werden: mehrere Schlüssel suchen, das „Gewicht“ der Übereinstimmungen zählen und die beste Vorlage auswählen.
Bereitstellung und Betrieb 🚀
Planer: cron,
APScheduleroder systemd-timer.Docker: Version von Python und Abhängigkeiten fixieren,
.envals Geheimnis verbinden.Protokolle: INFO-Ebene für normalen Betrieb und WARNING/ERROR für Fehler; Fehler an Telegram/Slack senden.
Frequenzbegrenzung: Antworten Sie nicht öfter als einmal pro Tag an die Adresse; führen Sie einen Cache mit "Antworten der letzten 24 Stunden".
A/B: Testen Sie die Texte der automatischen Antworten und den Betreff der E-Mail — dies wirkt sich auf die weitere Kommunikation aus.
Sicherheit und Ethik 🔒
Bewahren Sie Geheimnisse in
.envauf, verwenden Sie App Password oder OAuth 2.0 verwenden, keine Token in das Repository übertragen.Fügen Sie der Antwort „Sie haben eine automatische Antwort erhalten“ und eine Möglichkeit hinzu, die Person zu kontaktieren.
Führen Sie eine Whitelist von Domains/Adressen für automatische Aktionen; lassen Sie umstrittene E-Mails zur manuellen Analyse.
Beachten Sie die Richtlinien des E-Mail-Anbieters und das Datenschutzgesetz.
📊 Was kann ein Python-Mail-Bot?
Szenario | Was der Bot macht | Nutzen |
|---|---|---|
Automatische Antwort | „Danke, wir haben den Brief erhalten“ + Wartezeit | Beseitigt Routine, beschleunigt die erste Reaktion |
Filtration | Legt in Ordner: "Zahlung", "Zusammenarbeit", "Support" | Posteingang ohne Chaos |
Weiterleitung | Sendet Fragen zur Zahlung an den Buchhalter, zur Integration an den technischen Support | Schnelles Routing |
Schlüsselwörter | Wählt eine Vorlage basierend auf dem Inhalt der E-Mail aus | Relevantere Antworten |
Integration mit CRM | Erstellt einen Lead / Deal, zieht einen Kontakt | Transparenter Trichter |
KI-Antwort | Erstellt Text über LLM aus einer kurzen Zusammenfassung des Briefes | Menschlicher Ton, weniger Handarbeit |

Upgrade-Ideen 💡
Zusammenfassung des Schreibens: Entnehmen Sie eine kurze Zusammenfassung und ersetzen Sie sie in der Antwort.
Vorlagen mit Variablen: Name des Absenders, Bestellnummer, Frist.
Anti-Schleife: keine automatischen Antworten/keine Antworten, Kopfzeilen prüfen
Auto-Submitted.Mehrsprachigkeit: Bestimmen Sie die Sprache des Schreibens und wählen Sie eine Vorlage aus.
📎 Speichern Sie Vorlagen in JSON/YAML und rollen Sie Änderungen ohne Code-Release aus.
In Kodike Wir machen das Programmierenlernen spannend und verständlich: Wir haben interessante Kurse mit Aufgaben, die helfen, die Fähigkeiten Schritt für Schritt zu verbessern.
Und wir haben auch einen aktiven Telegram-Kanal, wo wir coole Ideen diskutieren, Erfahrungen teilen und Aufgaben gemeinsam analysieren — Lernen wird nicht nur nützlich, sondern auch unterhaltsam.
Hinterlassen Sie einen Kommentar: Welches Skript für automatische Antworten benötigen Sie — „Zahlung“, „Support“, „Zusammenarbeit“ oder etwas anderes?
