Heim > Artikel > Backend-Entwicklung > So versenden Sie E-Mails mit Python
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 zum manuellen Versenden von E-Mails: Melden Sie sich bei Ihrem Postfach an –> E-Mail-Inhalt vorbereiten –>
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, keine Bilder. und keine Anhänge:
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' # 设置邮件接受者 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 solche E-Mails. Das Kerncodeformat ist wie folgt.
from email.mime.text import MIMEText html⽂本对象 = MIMEText(html内容字符串, 'html', 编码方式) 邮件对象.attach(html⽂本对象)
Spezifischer Code:
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' msg['To'] = '726550822@qq.com' # 添加html内容 content = """我是正⽂中的标题邮件正文描述性文字1邮件正⽂描述性文字2 百度图片百度⼀下 """ html = MIMEText(content, 'html', 'utf-8') msg.attach(html) # 发送邮件 con.sendmail('xxxx@163.com', '726550822@qq.com', msg.as_string()) con.quit()
Zusätzlich zum Haupttextinhalt müssen manchmal verschiedene Dateien separat als Anhänge gesendet werden. Der Kerncode zum Senden von Anhängen lautet wie folgt:
from email.mime.text import MIMEText ⽂文件对象 = MIMEText(⽂件二进制数据, 'base64', 编码⽅式) 文件对象["Content-Disposition"] = 'attachment; filename="⽂件名"' 邮件对象.attach(⽂件对象)
Spezifischer Code:
import smtplib from email.mime.multipart import MIMEMultipart from email.mime.text import MIMEText from email.mime.image import MIMEImage from email.header import Header from email.mime.message import MIMEMessage from copy import deepcopy 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' msg['To'] = '726550822@qq.com' # 添加⽂文件附件 file1 = MIMEText(open('files/test.txt', 'rb').read(), 'base64', 'utf-8') file1["Content-Disposition"] = 'attachment; filename="test.txt"' msg.attach(file1) file2 = MIMEText(open('files/pyecharts的使⽤用.pdf', 'rb').read(), 'base64', 'utf-8') file2["Content-Disposition"] = 'attachment; filename="test.pdf"' msg.attach(file2) # 发送邮件 con.sendmail('xxxx@163.com', '726550822@qq.com', msg.as_string()) con.quit()
Das obige ist der detaillierte Inhalt vonSo versenden Sie E-Mails mit Python. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!