程序如下,注意smtp只生成一次,注意保存:
CODE
import smtplib
from email.mime.text import MIMEText
from email.mime.multipart import MIMEMultipart
from email.header import Header
from email.utils import formataddr
def send_qq_email():
# ==================== 请在这里修改你的信息 ====================
# 1. 你的QQ邮箱账号(完整的,比如 123456@qq.com)
sender_email = "3182790@qq.com"
# 2. 刚刚生成的16位授权码(注意:去掉图片里显示的空格)
# 图片里的授权码是:emjqta julu fvbgch -> 实际填写:emjqtajulufvbgch
auth_code = "emjqtajulufxbxx"
# 3. 收件人邮箱(可以是你自己,也可以是别人)
receiver_email = "1508242636@139.com"
# 4. 邮件主题和内容
subject = "Python 自动发送测试邮件"
content = "你好!这是一封由 Python 程序自动发送的邮件,说明配置成功了!"
# ==============================================================
# 创建邮件对象
msg = MIMEMultipart()
msg['From'] = formataddr(("Python发件人", sender_email))
msg['To'] = formataddr(("收件人", receiver_email))
msg['Subject'] = Header(subject, 'utf-8')
# 添加邮件正文
msg.attach(MIMEText(content, 'plain', 'utf-8'))
try:
print("正在连接 QQ 邮箱服务器...")
# QQ邮箱 SMTP 服务器地址和端口(固定写法)
smtp = smtplib.SMTP_SSL('smtp.qq.com', 465, timeout=10)
print("正在登录...")
smtp.login(sender_email, auth_code)
print("正在发送邮件...")
smtp.sendmail(sender_email, [receiver_email], msg.as_string())
smtp.quit()
print("✅ 邮件发送成功!请去收件箱查看。")
except smtplib.SMTPAuthenticationError:
print("❌ 登录失败!请检查:")
print(" 1. 授权码是否填错(不要有空格)")
print(" 2. 是否开启了SMTP服务")
print(" 3. 邮箱账号是否填完整(要带@qq.com)")
except Exception as e:
print(f"❌ 发送失败,错误信息:{e}")
if __name__ == '__main__':
send_qq_email()
💬 评论 (0)
还没有评论,来抢沙发吧。