如何为SMTP发送的Python邮件添加主题?求代码示例
为SMTP发送的Python邮件添加主题的解决方法
你当前的代码发送邮件无主题,是因为直接发送的纯文本不符合标准邮件格式——标准邮件需要先包含邮件头信息(比如Subject主题字段),再跟正文内容,两者用空行分隔。
以下是修改后的完整可运行代码:
import smtplib, ssl email = "fromemailhere" password = "passwordhere" receiver = "toemailhere" # 修改邮件格式:先写主题头,空一行后写正文 message = """Subject: 这是我的邮件主题 Hello World """ port = 465 sslcontext = ssl.create_default_context() connection = smtplib.SMTP_SSL( "smtp.gmail.com", port, context=sslcontext ) connection.login(email, password) connection.sendmail(email, receiver, message) print("sent")
关键说明:
- 邮件内容的第一行必须是
Subject: 你的主题内容,这是让邮件客户端识别主题的核心字段 - 主题行和正文之间必须留一个空行,这是邮件标准的要求,缺少空行的话,主题可能无法被正常识别
内容的提问来源于stack exchange,提问作者user20212761
相关产品推荐
相关产品推荐

