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
- SMTP-Server-Informationen anpassen:
- Ändere
'smtp.example.com'und den Port587zu deinem SMTP-Server und dessen Port. - Für Gmail z.B. benutze
smtp.gmail.comund Port587.
- Ändere
- Absender- und Empfängerinformationen anpassen:
- Setze
from_emailzu deiner E-Mail-Adresse undpasswordzu deinem E-Mail-Passwort. - Setze
to_emailzur E-Mail-Adresse des Empfängers.
- Setze
- Bericht erstellen:
- Die Funktion
create_report()erstellt einen HTML-Bericht. Passe diese Funktion an, um den gewünschten Bericht zu generieren.
- Die Funktion
- Skript ausführen:
- Speichere das Skript als
send_email_report.pyund führe es aus:
- Speichere das Skript als
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.