🚀 Bist Du bereit für eine Karriere im Bereich Data? Finde es in nur 60 Sekunden heraus!

E-Mail mit Python senden: So geht’s!

-
< 1
 Minuten Lesezeit
-
email mit python

E-Mail in Python senden: Interessierst Du Dich für das Programmieren? Hast Du Lust, die Grundlagen einer häufig und intuitiv verwendeten Programmiersprache zu entdecken? Dann bist Du hier genau richtig! Nach dem Lesen dieses Artikels wirst Du alle Grundlagen kennen, um in Python zu programmieren! Von Variablen über Funktionen bis hin zu Schleifen - die Funktionen von Python werden kein Geheimnis mehr für Dich sein.

Es gibt Tools wie Prometheus, mit denen du diese Benachrichtigungen und das Verhalten festlegen kannst, aber es kann auch interessant sein, mit den grundlegenden Bibliotheken um in Python eine E-Mail senden zu können.

Zunächst einmal brauchen wir natürlich eine E-Mail-Adresse. Diese wird von einem Provider gehostet, der uns die Informationen über den SMTP-Server (Simple Mail Transfer Protocol) zur Verfügung stellen kann: eine Adresse und einen Port (normalerweise 465 oder 568).

Zum Beispiel:

Gmail: smtp.gmail.com
YahooMail: smtp.mail.yahoo.com
Outlook: smtp.office365.com.

Auf der anderen Seite musst du dich nur mit unserem SMTP-Server verbinden, indem du die Python-Bibliotheken smtplib und ssl benutzt:

import smtplib, ssl
# on rentre les renseignements pris sur le site du fournisseur
smtp_address = 'smtp.gmail.com'
smtp_port = 465
# on rentre les informations sur notre adresse e-mail
email_address = 'example@gmail.com'
email_password = 'my_password'
# on rentre les informations sur le destinataire
email_receiver = 'another.example@yahoo.com'
# on crée la connexion
context = ssl.create_default_context()
with smtplib.SMTP_SSL(smtp_address, smtp_port, context=context) as server:
# connexion au compte
server.login(email_address, email_password)
# envoi du mail
server.sendmail(email_address, email_receiver, 'le contenu de l\'e-mail')

Es ist nicht viel komplizierter als das. Natürlich sieht die E-Mail nicht besonders gut aus und hat keinen Betreff, aber wir haben die Grundlage…

Jetzt wollen wir versuchen, eine etwas bessere E-Mail zu bekommen, indem wir HTML verwenden. Dazu benutzen wir die email library:

from email.mime.text import MIMEText
from email.mime.multipart import MIMEMultipart
# on crée un e-mail
message = MIMEMultipart("alternative")
# on ajoute un sujet
message["Subject"] = "[DataScientest] e-mail essai"
# un émetteur
message["From"] = email_address
# un destinataire
message["To"] = email_receiver
# on crée un texte et sa version HTML
texte = '''
Bonjour
Ma super newsletter
Cdt
mon_lien_incroyable
'''
html = '''
<html>
<body>
<h1>Bonjour</h1>
<p>Ma super newsletter</p>
<b>Cdt</b>
<br>
<a href="https://datascientest.com">mon_lien_incroyable</a>
</body>
</html>
'''
# on crée deux éléments MIMEText
texte_mime = MIMEText(texte, 'plain')
html_mime = MIMEText(html, 'html')
# on attache ces deux éléments
message.attach(texte_mime)
message.attach(html_mime)
# on crée la connexion
context = ssl.create_default_context()
with smtplib.SMTP_SSL(smtp_address, smtp_port, context=context) as server:
# connexion au compte
server.login(email_adress, email_password)
# envoi du mail
server.sendmail(email_address, email_receiver, message.as_string())

Es ist nicht viel komplizierter als das. Das ist aber kein Grund, sich auf Betrügereien oder Spam einzulassen.

Das Versenden von E-Mails ist zwar nicht das am häufigsten verwendete Werkzeug von Data Scientists und Data Engineers, aber manchmal stellt sich heraus, dass es der einfachste Weg ist, um mitzuteilen, dass ein Ereignis eingetreten ist.

DataScientest News

Melde Dich jetzt für unseren Newsletter an, um unsere Guides, Tutorials und die neuesten Entwicklungen im Bereich Data Science direkt per E-Mail zu erhalten.

Möchtest Du informiert bleiben?

Schreib uns Deine E-Mail-Adresse, damit wir Dir die neuesten Artikel zum Zeitpunkt der Veröffentlichung zusenden können!