Heim >Backend-Entwicklung >Python-Tutorial >So versenden Sie emotionale E-Mail-Inhalte und Anhänge in Python

So versenden Sie emotionale E-Mail-Inhalte und Anhänge in Python

王林
王林nach vorne
2023-05-18 11:28:531096Durchsuche

1. Vorbereitung

Bevor wir beginnen, müssen wir einige Dinge vorbereiten. Zuerst müssen wir Python installieren. Python kann von der offiziellen Website heruntergeladen werden.

So versenden Sie emotionale E-Mail-Inhalte und Anhänge in Python

Zweitens müssen wir die smtplib-Bibliothek installieren. Dies kann im Terminal mit dem folgenden Befehl erfolgen:

pip install smtplib

2. E-Mail erstellen

Vor dem Versenden der E-Mail müssen wir die E-Mail erstellen. Dazu müssen wir die E-Mail-Bibliothek von Python verwenden.

Mit dieser Bibliothek können wir verschiedene Arten von E-Mails erstellen, auch solche im HTML-Format.

So versenden Sie emotionale E-Mail-Inhalte und Anhänge in Python

Hier ist ein einfaches Python-Programm zum Erstellen einer HTML-formatierten E-Mail:

import smtplib
from email.mime.multipart import MIMEMultipart
from email.mime.text import MIMEText
# 创建一个带有HTML正文的新电子邮件
msg = MIMEMultipart()
msg['From'] = 'sender@example.com'
msg['To'] = 'receiver@example.com'
msg['Subject'] = 'HTML邮件'
# HTML正文
html = """
<html>
<body>
<h2>这是一个HTML邮件</h2>
<p>这是一个演示如何发送HTML格式电子邮件的示例。</p >
</body>
</html>
"""
# 将HTML正文添加到电子邮件中
msg.attach(MIMEText(html, &#39;html&#39;))
# 使用SMTP服务器发送电子邮件
server = smtplib.SMTP(&#39;smtp.gmail.com&#39;, 587)
server.starttls()
server.login(&#39;sender@example.com&#39;, &#39;password&#39;)
server.sendmail(&#39;sender@example.com&#39;, &#39;receiver@example.com&#39;, msg.as_string())
server.quit()

In diesem Beispiel stellen wir zunächst das vor notwendige Module: smtplib, MIMEMultipart und MIMEText.

So versenden Sie emotionale E-Mail-Inhalte und Anhänge in Python

Als nächstes erstellen wir eine MIMEMultipart-Instanz und legen einige E-Mail-Header fest. Der nächste Schritt besteht darin, einen HTML-Text zu erstellen und ihn dann mithilfe von MIMEText zur E-Mail hinzuzufügen.

Schließlich verwenden wir einen SMTP-Server zum Versenden von E-Mails.

3. Senden Sie eine E-Mail

Nachdem wir die E-Mail erstellt haben, müssen wir sie über einen SMTP-Server versenden.

SMTP-Server ist ein Protokoll, das zum Versenden von E-Mails verwendet wird. In Python können Sie das Modul smtplib zum Versenden von E-Mails verwenden.

So versenden Sie emotionale E-Mail-Inhalte und Anhänge in Python

Das Folgende ist ein einfaches Python-Programm zum Senden einer E-Mail im HTML-Format:

import smtplib
from email.mime.multipart import MIMEMultipart
from email.mime.text import MIMEText
# 创建一个带有HTML正文的新电子邮件
msg = MIMEMultipart()
msg[&#39;From&#39;] = &#39;sender@example.com&#39;
msg[&#39;To&#39;] = &#39;receiver@example.com&#39;
msg[&#39;Subject&#39;] = &#39;HTML邮件&#39;
# HTML正文
html = """
<html>
<body>
<h2>这是一个HTML邮件</h2>
<p>这是一个演示如何发送HTML格式电子邮件的示例。</p >
</body>
</html>
"""
# 将HTML正文添加到电子邮件中
msg.attach(MIMEText(html, &#39;html&#39;))
# 使用SMTP服务器发送电子邮件
server = smtplib.SMTP(&#39;smtp.gmail.com&#39;, 587)
server.starttls()
server.login(&#39;sender@example.com&#39;, &#39;password&#39;)
server.sendmail(&#39;sender@example.com&#39;, &#39;receiver@example.com&#39;, msg.as_string())
server.quit()

In diesem Beispiel werden wir zuerst Erstellen Sie ein neues MIMEMultipart-Objekt und legen Sie einige E-Mail-Header fest.

So versenden Sie emotionale E-Mail-Inhalte und Anhänge in Python

Als nächstes generieren wir einen HTML-Text und fügen ihn mithilfe von MIMEText zur E-Mail hinzu. Schließlich verwenden wir einen SMTP-Server zum Versenden von E-Mails.

4. Anhänge hinzufügen

Zusätzlich zum HTML-Text können wir der E-Mail auch Anhänge hinzufügen. Dazu müssen wir die E-Mail-Bibliothek von Python verwenden.

Das Folgende ist ein einfaches Python-Programm zum Hinzufügen von Anhängen zu HTML-formatierten E-Mails:

import smtplib
from email.mime.multipart import MIMEMultipart
from email.mime.text import MIMEText
from email.mime.image import MIMEImage
# 创建一个带有HTML正文和图片附件的新电子邮件
msg = MIMEMultipart()
msg[&#39;From&#39;] = &#39;sender@example.com&#39;
msg[&#39;To&#39;] = &#39;receiver@example.com&#39;
msg[&#39;Subject&#39;] = &#39;HTML邮件&#39;
# HTML正文
html = """
<html>
<body>
<h2>这是一个HTML邮件</h2>
<p>这是一个演示如何发送HTML格式电子邮件的示例。</p >
<p>下面是一张图片:</p >
< img src="cid:image1">
</body>
</html>
"""
# 将HTML正文添加到电子邮件中
msg.attach(MIMEText(html, &#39;html&#39;))
# 添加图片附件
with open(&#39;image.png&#39;, &#39;rb&#39;) as f:
    img_data = f.read()
img = MIMEImage(img_data)
img.add_header(&#39;Content-ID&#39;, &#39;<image1>&#39;)
msg.attach(img)
# 使用SMTP服务器发送电子邮件
server = smtplib.SMTP(&#39;smtp.gmail.com&#39;, 587)
server.starttls()
server.login(&#39;sender@example.com&#39;, &#39;password&#39;)
server.sendmail(&#39;sender@example.com&#39;, &#39;receiver@example.com&#39;, msg.as_string())
server.quit()

In diesem Beispiel erstellen wir zunächst ein neues MIMEMultipart-Objekt und legen einige E-Mail-Header fest.

Als nächstes erstellen wir einen HTML-Text und hängen ihn mithilfe von MIMEText an die E-Mail an. Als nächstes fügen wir mit MIMEImage einen Bildanhang hinzu und verknüpfen ihn mit Content-ID mit dem HTML-Body.

So versenden Sie emotionale E-Mail-Inhalte und Anhänge in Python

Schließlich verwenden wir einen SMTP-Server zum Versenden von E-Mails.

Das obige ist der detaillierte Inhalt vonSo versenden Sie emotionale E-Mail-Inhalte und Anhänge in Python. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Stellungnahme:
Dieser Artikel ist reproduziert unter:yisu.com. Bei Verstößen wenden Sie sich bitte an admin@php.cn löschen