python qq邮箱发送邮件 工具类
·
import smtplib
from email.mime.text import MIMEText
from email.header import Header
import smtplib
from email.mime.text import MIMEText
from email.header import Header
from email.utils import formataddr
def send_qq_email(sender, password, receivers, subject, content, sender_nickname="发送者"):
"""
发送QQ邮件的函数
Args:
sender (str): 发送者邮箱
password (str): 邮箱授权码
receivers (list): 接收者邮箱列表
subject (str): 邮件主题
content (str): 邮件内容
sender_nickname (str): 发送者昵称
"""
try:
# 构建邮件
message = MIMEText(content, 'plain', 'utf-8')
# 使用 formataddr 来正确设置 From 头部
message['From'] = formataddr((sender_nickname, sender))
# 收件人
message['To'] = Header("the best of you")
# 主题
message['Subject'] = Header(subject)
# 连接QQ邮箱SMTP服务器并发送邮件
server = smtplib.SMTP_SSL('smtp.qq.com', 465)
server.login(sender, password)
server.sendmail(sender, receivers, message.as_string())
server.quit()
print("邮件发送成功")
return True
except smtplib.SMTPException as e:
print(f"邮件发送失败: {e}")
return False
# 使用示例
if __name__ == "__main__":
# 配置信息
sender = '@qq.com'
password = '' # QQ邮箱授权码
receivers = ['@163.com']
# 发送邮件
send_qq_email(
# 发送者
sender=sender,
# QQ邮箱授权码
password=password,
# 接收者
receivers=receivers,
# 主题
subject='',
# 内容
content='这是一封通过Python发送的测试邮件',
# 发送人昵称
sender_nickname=""
)
更多推荐
所有评论(0)