使用Python通过QQ的SMTP服务器发送电子邮件

要使用Python通过QQ的SMTP服务器发送电子邮件,需要遵循以下步骤。请注意,QQ邮箱对SMTP的使用有一定的限制,需要在QQ邮箱的设置中启用SMTP服务,并获取一个授权码(而非你的QQ密码)来作为SMTP的登录密码。

以下是一个使用Python的smtplib和email库通过QQ的SMTP服务器发送电子邮件的示例:

import smtplib
from email.mime.multipart import MIMEMultipart
from email.mime.text import MIMEText
 
# 发件人信息
sender_email = 'your_qq_email@qq.com'  # 替换为你的QQ邮箱地址
sender_pass = 'your_authorization_code'  # 替换为你获取的授权码,不是QQ密码
 
# 收件人信息
receiver_email = 'receiver_email@example.com'  # 替换为收件人的邮箱地址
 
# 创建MIMEMultipart对象
message = MIMEMultipart('alternative')
message['Subject'] = '测试邮件'
message['From'] = sender_email
message['To'] = receiver_email
 
# 创建HTML内容
html_content = """
<html>
<head><title>测试邮件</title></head>
<body>
<h1>这是一封来自QQ邮箱的HTML格式邮件</h1>
<p>你好,这是邮件的正文。</p>
</body>
</html>
"""
 
# 将HTML内容附加到邮件中
part = MIMEText(html_content, 'html')
message.attach(part)
 
# 使用smtplib库发送邮件
try:
    # 连接到QQ的SMTP服务器
    server = smtplib.SMTP_SSL('smtp.qq.com', 465)  # 使用SSL加密的端口
    server.login(sender_email, sender_pass)  # 登录到SMTP服务器
    server.sendmail(sender_email, receiver_email, message.as_string())  # 发送邮件
    print('邮件发送成功!')
except smtplib.SMTPException as e:
    print(f'邮件发送失败:{e}')
finally:
    server.quit()  # 关闭与SMTP服务器的连接

注意事项:

  • 授权码:由于QQ邮箱对安全性有较高要求,你需要登录到QQ邮箱的网页版,然后在“设置”->“账户”中找到“POP3/IMAP/SMTP/Exchange/CardDAV/CalDAV服务”,启用SMTP服务,并生成一个授权码。这个授权码将用于SMTP登录,而不是你的QQ密码。
  • SMTP服务器地址和端口:QQ邮箱的SMTP服务器地址是smtp.qq.com,SSL加密的端口是465。也可以选择使用非SSL的端口25,但出于安全考虑,建议使用SSL加密。
  • 依赖库:smtplib和email库都是Python标准库的一部分,因此你不需要额外安装任何库就可以运行上述代码。
  • 网络问题:如果你的网络有防火墙或ISP限制,可能会导致无法连接到SMTP服务器。确保你的网络环境允许通过SMTP发送邮件。
  • 调试:如果邮件没有发送成功,检查SMTP服务器日志、QQ邮箱的设置以及任何可能的错误消息,以帮助诊断问题。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值