Heim >Backend-Entwicklung >Python-Tutorial >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.
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
Schritt 2: In der Hilfe Wählen Sie die zweite Frage in „Client-Einstellungen“ in der Mitte aus:
und befolgen Sie dann die entsprechenden Anforderungen, um den Autorisierungscode zu erhalten und zu speichern.
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.
import smtplib 1. 连接邮箱服务器 连接对象 = smtplib.SMTP_SSL(服务器地址, 邮箱服务端口) - 服务器地址:smtp.163.com(163邮箱)、smtp.qq.com(qq邮箱) - 邮箱服务端口:465或者25 2. 登录邮箱 连接对象.login(邮箱账号, 授权码)
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(文字对象)
连接对象.sendmail(发件⼈, 收件人, 邮件对象.as_string()) 连接对象.quit()
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()
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:
3.3 Anhänge sendenimport 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(⽂件对象)
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!