如何开启QQ邮件的SMTP服务以及如何使用Python发送邮件
在Python中通过邮件发送信息是一项非常常见的任务,它可以应用于各种场景,例如发送通知、报告、警报等。在本篇博客中,我们将介绍如何开启QQ邮件的SMTP服务以及如何使用Python的标准库`smtplib`和`email`来发送邮件。
😇博主简介:我是一名正在攻读研究生学位的人工智能专业学生,我可以为计算机、人工智能相关本科生和研究生提供排忧解惑的服务。如果您有任何问题或困惑,欢迎随时来交流哦!😄
✨座右铭:宝剑锋从磨砺出,梅花香自苦寒来。
⛪️个人主页:点击进入博客主页
🚀欢迎大家浏览博主的文章!在阅读过程中,如果发现需要纠正的地方,请不吝指出,愿能与诸君共同进步!
正文
在Python中通过邮件发送信息是一项非常常见的任务,它可以应用于各种场景,例如发送通知、报告、警报等。在本篇博客中,我们将介绍如何开启QQ邮件的SMTP服务以及如何使用Python的标准库smtplib
和email
来发送邮件。
🍭准备工作
在开始之前,你需要确保已经拥有一个可用的邮箱账号,并了解该邮箱的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邮箱首页,并进行登录
2.进入首页后,点击设置
3.点击账户
4.往下滑,找到POP3/IMAP/SMTP/Exchange/CardDAV/CalDAV服务
5.点击开启服务,并进行QQ密保验证,随后根据提示发送短信,大概资费0.1元
6.完成之后,会获得一个授权码
有这个授权码就证明服务开启完毕。
提醒:
这个授权码就相当于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连接。
测试:
运行程序
2651337142@qq.com这个邮箱已经成功接收到邮件
总结
本篇博客中介绍了如何开启QQ邮件的SMTP服务及如何使用Python的标准库smtplib
和email
来发送邮件。
开放原子开发者工作坊旨在鼓励更多人参与开源活动,与志同道合的开发者们相互交流开发经验、分享开发心得、获取前沿技术趋势。工作坊有多种形式的开发者活动,如meetup、训练营等,主打技术交流,干货满满,真诚地邀请各位开发者共同参与!
更多推荐
所有评论(0)