如何开启QQ邮件的SMTP服务以及如何使用Python发送邮件

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-JH8I9sJH-1689083323474)(0fe5bb9701654bf4b6652fa6d8cf6557.gif)]

😇博主简介:我是一名正在攻读研究生学位的人工智能专业学生,我可以为计算机、人工智能相关本科生和研究生提供排忧解惑的服务。如果您有任何问题或困惑,欢迎随时来交流哦!😄

✨座右铭:宝剑锋从磨砺出,梅花香自苦寒来。

⛪️个人主页:点击进入博客主页

🚀欢迎大家浏览博主的文章!在阅读过程中,如果发现需要纠正的地方,请不吝指出,愿能与诸君共同进步!


在这里插入图片描述

正文

在Python中通过邮件发送信息是一项非常常见的任务,它可以应用于各种场景,例如发送通知、报告、警报等。在本篇博客中,我们将介绍如何开启QQ邮件的SMTP服务以及如何使用Python的标准库smtplibemail来发送邮件。
在这里插入图片描述

🍭准备工作

在开始之前,你需要确保已经拥有一个可用的邮箱账号,并了解该邮箱的SMTP服务器地址和端口号。SMTP(Simple Mail Transfer Protocol)是一种用于发送邮件的协议,你需要知道SMTP服务器的地址和端口号才能够使用Python发送邮件。以下是一些常见邮箱的SMTP服务器配置信息:

  • Gmail: smtp.gmail.com, 端口号 587
  • QQ邮箱: smtp.qq.com, 端口号 465
  • 163邮箱: smtp.163.com, 端口号 25

🍭SMTP服务开启

这里以开启QQ邮箱的SMTP服务为例子:
1.首先进入QQ邮箱首页,并进行登录

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-YczAa8Qs-1690189544744)(image-20230724163640386.png)]

2.进入首页后,点击设置

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-9c5uDQhD-1690189544750)(image-20230724164058183.png)]

3.点击账户

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-KAYsZ9iM-1690189544751)(image-20230724164123776.png)]

4.往下滑,找到POP3/IMAP/SMTP/Exchange/CardDAV/CalDAV服务

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-Z6ZUvZxN-1690189544752)(image-20230724164153696.png)]

5.点击开启服务,并进行QQ密保验证,随后根据提示发送短信,大概资费0.1元

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-lWlvuoy1-1690189544754)(image-20230724164346976.png)]

6.完成之后,会获得一个授权码

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-kGzY1nRm-1690189544755)(image-20230724164530952.png)]

有这个授权码就证明服务开启完毕。

提醒:

这个授权码就相当于QQ账号邮件发送的密码,因此要好好保存起来。

🍭安装email库

另外,你还需要安装email标准库,这个标准库通常会随着Python的安装一同被安装。如果你没有安装,可以通过以下命令进行安装:

pip install email

🍭发送文本邮件

以下是一个简单的示例程序,用于发送文本格式的邮件:

import smtplib
from email.mime.text import MIMEText
from email.utils import formataddr

# 发件人邮箱账号
sender = '350728668@qq.com'
# 发件人邮箱密码或授权码
password = 'gxnpaftaadadag'
# 收件人邮箱账号
receiver = '2651337142@qq.com'

# 创建邮件消息对象
message = MIMEText('这是一封来自Python的测试邮件', 'plain', 'utf-8')
# 设置邮件消息对象的发件人和收件人
message['From'] = formataddr(('Python测试', sender))
message['To'] = formataddr(('收件人姓名', receiver))
# 设置邮件消息对象的主题
message['Subject'] = 'Python测试邮件'

try:
    # 连接SMTP服务器
    server = smtplib.SMTP_SSL('smtp.qq.com', 465)
    # 登录邮箱账号
    server.login(sender, password)
    # 发送邮件
    server.sendmail(sender, [receiver], message.as_string())
    # 关闭SMTP连接
    server.quit()
    print("邮件发送成功")
except Exception as e:
    print("邮件发送失败:", e)

提醒:

上述的QQ授权码是错误的,请输入自己正确的账号的授权码,如果您只是测试用途,可私信博主获取账号密码

在以上示例中,我们首先设置了发件人、密码(或授权码)和收件人的邮箱地址。然后,我们创建一个MIMEText对象并设置了邮件正文内容、格式以及编码方式。接下来,我们设置了邮件消息对象的发件人、收件人和主题。最后,我们连接SMTP服务器、登录邮箱账号、发送邮件并关闭SMTP连接。

测试:

运行程序

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-rIO7MSjY-1690189544757)(image-20230724164909880.png)]

2651337142@qq.com这个邮箱已经成功接收到邮件

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-3FfBPlxG-1690189544758)(image-20230724165045020.png)]

总结

本篇博客中介绍了如何开启QQ邮件的SMTP服务及如何使用Python的标准库smtplibemail来发送邮件。

在这里插入图片描述

感谢浏览!
如果这篇文章对您有帮助,请点个小赞吧,愿能与诸君共同进步!

在这里插入图片描述

Logo

开放原子开发者工作坊旨在鼓励更多人参与开源活动,与志同道合的开发者们相互交流开发经验、分享开发心得、获取前沿技术趋势。工作坊有多种形式的开发者活动,如meetup、训练营等,主打技术交流,干货满满,真诚地邀请各位开发者共同参与!

更多推荐