From 0a30d79f711442ae4dd79d793fc2e8d7c4c027cd Mon Sep 17 00:00:00 2001 From: rxf Date: Tue, 26 May 2026 11:23:13 +0200 Subject: [PATCH] Fix: Bild erschien doppelt in der Mail MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit multipart/mixed mit CID-Referenz ließ Mail-Clients das Bild inline und als Anhang rendern. Korrektur auf multipart/related als Container für HTML + Bild. Co-Authored-By: Claude Sonnet 4.6 --- weather_report.py | 8 ++++++-- 1 file changed, 6 insertions(+), 2 deletions(-) diff --git a/weather_report.py b/weather_report.py index 66244ce..78ddf0a 100644 --- a/weather_report.py +++ b/weather_report.py @@ -181,10 +181,14 @@ def send_email(png: bytes, label: str) -> None: print("E-Mail-Konfiguration unvollständig – Mail wird nicht gesendet.") return + # multipart/related: HTML + CID-Bild werden als Einheit behandelt + related = MIMEMultipart("related") + msg = MIMEMultipart("mixed") msg["Subject"] = f"{MAIL_SUBJECT} – {label}" msg["From"] = MAIL_FROM msg["To"] = ", ".join(MAIL_TO) + msg.attach(related) body = MIMEText( f"" @@ -193,12 +197,12 @@ def send_email(png: bytes, label: str) -> None: f"", "html", ) - msg.attach(body) + related.attach(body) img = MIMEImage(png, name="wetterbericht.png") img.add_header("Content-ID", "") img.add_header("Content-Disposition", "inline", filename="wetterbericht.png") - msg.attach(img) + related.attach(img) with smtplib.SMTP(MAIL_SERVER, MAIL_PORT) as smtp: smtp.ehlo()