Heim  >  Artikel  >  Backend-Entwicklung  >  Verwenden von Python zum Versenden von E-Mails

Verwenden von Python zum Versenden von E-Mails

PHPz
PHPznach vorne
2023-04-12 10:04:122972Durchsuche

Verwenden von Python zum Versenden von E-Mails

SMTP (Simple Mail Transfer Protocol) ist das Simple Mail Transfer Protocol. Es handelt sich um eine Reihe von Regeln für die Übertragung von

Mail von der Quelladresse zur Zieladresse. Es steuert die Übertragungsmethode des Briefes. Pythons smtplib bietet eine sehr bequeme Möglichkeit, E-Mails zu versenden. Es kapselt einfach das SMTP-Protokoll.

1. Bereiten Sie das E-Mail-Konto vor, das zum Senden von E-Mails verwendet wird.

Bereiten Sie das E-Mail-Konto und den E-Mail-Anmeldeautorisierungscode vor. Die Methoden zum Erhalten von Autorisierungscodes sind für verschiedene Arten von Postfächern ähnlich. Hier nehmen wir das QQ-Postfach als Beispiel, um die Schritte zum Erhalten von Autorisierungscodes zu demonstrieren:

Schritt 1: Melden Sie sich über die Webseite beim QQ-Postfach an und finden Sie die Hilfe Zentrum

Verwenden von Python zum Versenden von E-Mails

Schritt 2: In der Hilfe Wählen Sie die zweite Frage in „Client-Einstellungen“ in der Mitte aus:

Verwenden von Python zum Versenden von E-Mails

und befolgen Sie dann die entsprechenden Anforderungen, um den Autorisierungscode zu erhalten und zu speichern.

2. Grundlegende Schritte zum Versenden von E-Mails

Die Schritte zum Versenden von E-Mails per Code sind grundsätzlich dieselben wie für das manuelle Versenden von E-Mails: Melden Sie sich bei Ihrem Postfach an -> E-Mail-Inhalt vorbereiten -> E-Mail senden.

2.1 Melden Sie sich bei Ihrem E-Mail-Konto an

import smtplib
1. 连接邮箱服务器
连接对象 = smtplib.SMTP_SSL(服务器地址, 邮箱服务端口)
- 服务器地址:smtp.163.com(163邮箱)、smtp.qq.com(qq邮箱) - 邮箱服务端口:465或者25
2. 登录邮箱 连接对象.login(邮箱账号, 授权码)

2.2 Daten vorbereiten

Daten beziehen sich auf den Inhalt, der gesendet werden muss. Die Erstellung von E-Mail-Inhalten erfordert eine weitere Bibliothek, E-Mail, die zum Erstellen von E-Mail-Betreffs und verschiedenen Formen von E-Mail-Inhalten (einschließlich Textinhalt, Bildinhalt, HTML-Inhalt, Anhänge) usw. verwendet werden kann. Lassen Sie uns kurz über E-Mail-Betreff und Textinhalt sprechen und andere Formen von Inhalten werden später im Abschnitt zum E-Mail-Inhalt ausführlich erläutert.

from email.mime.multipart import MIMEMultipart
from email.mime.text import MIMEText
from email.header import Header
1. 创建邮件对象
邮件对象 = MIMEMultipart()
2. 设置邮件主题
主题对象 = Header(邮件标题, 编码方式).encode()
邮件对象['Subject'] = 主题对象
3.设置邮件发送者
邮件对象['From'] = '用户名 <用户名>'
4.设置邮件接受者
邮件对象['To'] = '收件⼈1;收件⼈2;收件人3...'
5. 添加文字内容
文字内容对象 = MIMEText(内容, 类型, 编码方式)
- 内容:就是文字字符串
- 类型:plain(简单的⽂字内容)、html(超文本) 邮件对象.attach(文字对象)

2.3 Senden von E-Mails

3. Beispiele für das Versenden verschiedener Arten von E-Mails

连接对象.sendmail(发件⼈, 收件人, 邮件对象.as_string())
连接对象.quit()

3.1 E-Mails mit gewöhnlichem Textinhalt

Der E-Mail-Text dieser Art von E-Mail enthält nur normale Textinformationen, keinen Hypertext und keine Bilder und kein Anhang:

import smtplib
from email.mime.multipart import MIMEMultipart
from email.mime.text import MIMEText
from email.header import Header
# 1. 连接邮箱服务器
con = smtplib.SMTP_SSL('smtp.163.com', 465)
# 2. 登录邮箱
con.login('XXXX@163.com', 'XXXXX')
# 2. 准备数据
# 创建邮件对象
msg = MIMEMultipart()
# 设置邮件主题
subject = Header('找回密码', 'utf-8').encode() msg['Subject'] = subject
# 设置邮件发送者
msg['From'] = 'XXXX@163.com <XXXX@163.com>'
# 设置邮件接受者
msg['To'] = '726550822@qq.com'
# 添加⽂文字内容
text = MIMEText('忘记密码需要找回密码', 'plain', 'utf-8')
msg.attach(text)
# 3.发送邮件
con.sendmail('xxxx@163.com', '726550822@qq.com', msg.as_string())
con.quit()

Verwenden von Python zum Versenden von E-Mails

3.2 Hypertext-Dateiinhalt

Eine Art E-Mail mit umfangreicherem und interessanterem Text. Die E-Mails, die wir von den wichtigsten Plattformen im Leben erhalten, sind alle diese Art von E-Mails lautet wie folgt:

from email.mime.text import MIMEText
html⽂本对象 = MIMEText(html内容字符串, 'html', 编码方式) 邮件对象.attach(html⽂本对象)

Spezifischer Code:

Verwenden von Python zum Versenden von E-Mails

3.3 Anhänge senden


Zusätzlich zum Hauptinhalt der E-Mail ist es manchmal erforderlich, verschiedene Dateien separat als Anhänge zu senden. Der Kerncode zum Senden von Anhängen lautet wie folgt:

import smtplib
from email.mime.multipart import MIMEMultipart
from email.mime.text import MIMEText
from email.header import Header
con = smtplib.SMTP_SSL('smtp.163.com', 465)
con.login('xxxx@163.com', 'xxxxxx')
msg = MIMEMultipart()
subject = Header('找回密码', 'utf-8').encode()
msg['Subject'] = subject
msg['From'] = 'xxxx@163.com <xxxx@163.com>'
msg['To'] = '726550822@qq.com'
# 添加html内容
content = """
<h2>我是正⽂中的标题</h2>
<p>邮件正文描述性文字1</p>
<p>邮件正⽂描述性文字2</p>
<img  src='https://www.php.cn/link/deee9fe5195586bf4545518a76aff2f7/img/bd_logo1.png' alt="Verwenden von Python zum Versenden von E-Mails" > <center>百度图片</center>
<a href='https://www.php.cn/link/deee9fe5195586bf4545518a76aff2f7'>百度⼀下</a>
"""
html = MIMEText(content, 'html', 'utf-8')
msg.attach(html)
# 发送邮件
con.sendmail('xxxx@163.com', '726550822@qq.com', msg.as_string())
con.quit()

Spezifischer Code:

from email.mime.text import MIMEText
⽂文件对象 = MIMEText(⽂件二进制数据, 'base64', 编码⽅式)
文件对象["Content-Disposition"] = 'attachment; filename="⽂件名"'
邮件对象.attach(⽂件对象)

Verwenden von Python zum Versenden von E-Mails

Das obige ist der detaillierte Inhalt vonVerwenden von Python zum Versenden von E-Mails. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

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