开启pop3/smtp服务,并保存该授权码作为密码使用
点击管理服务-安全设置-生成授权码
完整代码
import smtplib
from email.mime.text import MIMEText
from email.header import Header
from email.utils import formataddr
def send_email(nickname,subject, content):
smtp_server = 'smtp.qq.com'
smtp_port = 465
username = 'XXXXXXX@qq.com'
password = 'XXXXXXXX'
sender = 'XXXXXXXXXX@qq.com'
receiver = 'XXXXXXXXXXXXX@qq.com'
message = MIMEText(content, 'plain', 'utf-8')
message['Subject'] = Header(subject)
message['From'] = formataddr([nickname, sender])
message['To'] = formataddr(["尼古拉斯赵四", receiver])
try:
smtp = smtplib.SMTP_SSL(smtp_server, smtp_port)
smtp.login(username, password)
smtp.sendmail(sender, receiver, message.as_string())
print('邮件发送成功!')
except smtplib.SMTPException as e:
print('邮件发送失败:', str(e))
finally:
smtp.quit()
subject = '我是邮件的主题'
content = '这是一封通过 Python 发送的邮件。'
common.send_email('我是发件人的昵称',subject, content)
运行效果