Python使用QQ邮箱发送邮件实例与QQ邮箱设置详解
在Python编程中,发送邮件是一项常见的任务,尤其在自动化脚本或者通知系统中。QQ邮箱作为流行的免费电子邮箱服务,提供了通过SMTP(Simple Mail Transfer Protocol)协议发送邮件的功能。本篇将详细介绍如何使用Python结合QQ邮箱发送邮件以及相关的QQ邮箱设置。 你需要在QQ邮箱中开启SMTP服务并获取授权码。登录QQ邮箱后,进入“设置” > “账户”页面,向下滚动到“POP3/IMAP/SMTP/Exchange/CardDAV/CalDAV服务”部分。在这里,你需要启用SMTP服务,并按照提示获取一个授权码,这个授权码不同于你的QQ邮箱密码,它是专门用于程序或应用发送邮件的安全凭证。 接下来,我们来看Python发送邮件的代码实例: ```python #!/usr/bin/python3 import smtplib from email.mime.text import MIMEText from email.utils import formataddr my_sender = '1638245306@qq.com' # 发件人邮箱账号 my_pass = 'xxxxxx' # 发件人邮箱授权码 my_user = '1638245306@qq.com' # 收件人邮箱账号,这里以自己为例 def mail(): ret = True try: msg = MIMEText('填写邮件内容', 'plain', 'utf-8') #邮件正文 msg['From'] = formataddr(["FromRunoob", my_sender]) #发件人信息 msg['To'] = formataddr(["FK", my_user]) #收件人信息 msg['Subject'] = "菜鸟教程发送邮件测试" #邮件主题 server = smtplib.SMTP_SSL("smtp.qq.com", 465) #QQ邮箱SMTP服务器及端口 server.login(my_sender, my_pass) #登录邮箱 server.sendmail(my_sender, [my_user,], msg.as_string()) #发送邮件 server.quit() #关闭连接 except Exception: ret = False return ret ret = mail() if ret: print("邮件发送成功") else: print("邮件发送失败") ``` 这段代码中,我们导入了必要的库,包括`smtplib`用于SMTP通信,`MIMEText`用于创建邮件文本,以及`email.utils.formataddr`用于格式化邮箱地址。`mail()`函数中,我们创建了一个MIMEText对象,设置了邮件内容、发件人、收件人和主题。然后,我们连接到QQ邮箱的SMTP服务器(smtp.qq.com),通过465端口使用SMTP_SSL进行安全连接。使用`login()`方法登录邮箱,并通过`sendmail()`发送邮件。关闭SMTP连接。 请注意,`my_pass`应该替换为你的授权码,而不仅仅是QQ邮箱的密码。邮件发送成功或失败的信息会打印在控制台上。 为了更深入了解Python发送邮件,你可以研究更多关于`smtplib`和`email.mime`模块的用法,例如添加附件、HTML格式的邮件、设置抄送和密送等。同时,还可以考虑使用第三方库如`yagmail`或`smtplib`的高级封装,如`aiosmtpd`,来简化邮件发送过程。
- 粉丝: 5
- 资源: 949
- 我的内容管理 展开
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助