Python SMTP模块使用QQ邮箱发送邮件

本文介绍了如何使用Python的SMTP模块结合QQ邮箱发送包含Html内容和附件的邮件。过程中遇到并解决了message['To']错误导致邮件归档、频繁发送被识别为垃圾邮件等问题。并提供了参考资源。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

前言:

    尝试实现《Python编程快速上手  让繁琐工作自动化》书籍中的第十六章习题部分,使用python发送email信息,尝试发送Html,附件和正文都同时存在的邮件,使用QQ邮箱,最终实现根据表格标记对不同用户发不同邮件功能。(根据之前编写的读取表格示例可以实现,思路是读取联系人,邮箱,标志位,根据标志位判断使用不同邮件模板发送,就不编程实现了)

过程:

首先确认QQ邮箱 smtp地址,端口: QQ邮箱的POP3与SMTP服务器是什么?

QQ邮箱 POP3 和 SMTP 服务器地址设置如下:

邮箱 POP3服务器(端口995) SMTP服务器(端口465或587)
### 使用Python通过SMTP协议向QQ邮箱发送邮件 为了使用Python通过SMTP协议向QQ邮箱发送邮件,可以利用`smtplib`模块以及`email.mime.text.MIMEText`类构建邮件内容。以下是详细的配置教程和示例代码。 #### 1. 导入必要的库 首先需要导入用于创建邮件对象和处理SMTP通信的相关库: ```python import smtplib from email.mime.text import MIMEText from email.header import Header ``` #### 2. 设置SMTP服务器参数 根据提供的信息,对于QQ企业邮或其他类型的QQ邮箱,应使用SMTP服务器地址为 `smtp.exmail.qq.com`[^3]。此外还需要指定端口号,默认情况下SSL加密连接使用465端口。 #### 3. 构建邮件主体 定义发件人、收件人的电子邮件地址,并设置主题与正文内容。这里采用MIME标准来封装邮件格式,确保兼容性和可读性更好: ```python sender = 'your_email@domain.com' receivers = ['receiver@qq.com'] message = MIMEText('这是一封测试邮件', 'plain', 'utf-8') message['From'] = Header("发件人姓名", 'utf-8') message['To'] = Header("收件人姓名", 'utf-8') subject = 'Python SMTP 测试邮件' message['Subject'] = Header(subject, 'utf-8') ``` #### 4. 登录发送邮件 最后一步就是建立安全的SMTP会话,登录SMTP服务器并通过认证后调用sendmail方法完成实际的消息传递过程: ```python try: smtpObj = smtplib.SMTP_SSL(smtp_sever, 465) # 启用SSL模式 smtpObj.login(sender, "授权码") # 授权码而非密码 smtpObj.sendmail(sender, receivers, message.as_string()) print ("邮件发送成功") except Exception as e: print (f"Error: {e}") finally: smtpObj.quit() ``` 请注意,在上述代码中的`smtp_sever`, `sender`, 和 `"授权码"`都需要替换为你自己的具体值。特别是授权码部分,不是指用户的登录密码而是专门用来做第三方应用验证的安全令牌,可以通过QQ邮箱官网获取。
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值