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 Port587
zu deinem SMTP-Server und dessen Port. - Für Gmail z.B. benutze
smtp.gmail.com
und Port587
.
- Ändere
- Absender- und Empfängerinformationen anpassen:
- Setze
from_email
zu deiner E-Mail-Adresse undpassword
zu deinem E-Mail-Passwort. - Setze
to_email
zur 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.py
und 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.