Skript zum automatischen Versand von E-Mail-Berichten

Ein Skript zum automatischen Versand von E-Mail-Berichten in Python kann mithilfe der Bibliothek smtplib und email erstellt werden. Hier ist ein Beispielskript und eine Anleitung dazu:

Schritt 1: Installiere notwendige Bibliotheken

Stelle sicher, dass du die erforderlichen Bibliotheken installiert hast. Du benötigst smtplib und email, die normalerweise in der Standardbibliothek von Python enthalten sind. Falls du zusätzliche Bibliotheken wie pandas (für das Erstellen von Berichten) benötigst, installiere sie mit pip:

pip install pandas

Schritt 2: Erstelle das Skript

import smtplib
from email.mime.multipart import MIMEMultipart
from email.mime.text import MIMEText
import pandas as pd

def create_report():
    # Erstelle hier deinen Bericht als Pandas DataFrame
    data = {'Name': ['Anna', 'Bob', 'Charlie'], 'Score': [90, 85, 88]}
    df = pd.DataFrame(data)
    return df.to_html(index=False)

def send_email(report_html, to_email):
    from_email = "deine.email@example.com"
    password = "dein_passwort"
    subject = "Automatischer E-Mail-Bericht"

    # Erstelle das MIME-Multipart-Objekt
    msg = MIMEMultipart('alternative')
    msg['From'] = from_email
    msg['To'] = to_email
    msg['Subject'] = subject

    # Füge den HTML-Inhalt hinzu
    html_part = MIMEText(report_html, 'html')
    msg.attach(html_part)

    # Verbinde dich mit dem SMTP-Server und sende die E-Mail
    try:
        server = smtplib.SMTP('smtp.example.com', 587) # Nutze den richtigen SMTP-Server und Port
        server.starttls() # Starte TLS für die Sicherheit
        server.login(from_email, password)
        server.sendmail(from_email, to_email, msg.as_string())
        server.quit()
        print("E-Mail erfolgreich gesendet")
    except Exception as e:
        print(f"Fehler beim Senden der E-Mail: {e}")

if __name__ == "__main__":
    # Erstelle den Bericht
    report = create_report()

    # Empfänger-E-Mail-Adresse
    empfaenger_email = "empfaenger.email@example.com"

    # Sende die E-Mail mit dem Bericht
    send_email(report, empfaenger_email)

Schritt 3: Anleitung

  1. SMTP-Server-Informationen anpassen:
    • Ändere 'smtp.example.com' und den Port 587 zu deinem SMTP-Server und dessen Port.
    • Für Gmail z.B. benutze smtp.gmail.com und Port 587.
  2. Absender- und Empfängerinformationen anpassen:
    • Setze from_email zu deiner E-Mail-Adresse und password zu deinem E-Mail-Passwort.
    • Setze to_email zur E-Mail-Adresse des Empfängers.
  3. Bericht erstellen:
    • Die Funktion create_report() erstellt einen HTML-Bericht. Passe diese Funktion an, um den gewünschten Bericht zu generieren.
  4. Skript ausführen:
    • Speichere das Skript als send_email_report.py und führe es aus:

python send_email_report.py

Wichtiger Hinweis

  • Für Gmail-Benutzer: Stelle sicher, dass du den Zugriff auf weniger sichere Apps in deinem Google-Konto aktiviert hast, oder verwende App-Passwörter, falls die Zwei-Faktor-Authentifizierung aktiviert ist.

Dieses Skript sollte dir einen guten Startpunkt für das automatische Versenden von E-Mail-Berichten bieten. Passe es nach deinen Bedürfnissen an und erweitere es gegebenenfalls.

Schreibe einen Kommentar

Deine E-Mail-Adresse wird nicht veröffentlicht. Erforderliche Felder sind mit * markiert