下面我将详细介绍如何使用Python自动发送QQ邮箱,并提供两个示例说明。
Python自动发送QQ邮箱完整步骤
1. 准备工作
在开始之前,需要进行以下准备工作:
1.创建一个QQ邮箱账号
2.开启SMTP服务,并获取授权码
3.安装Python第三方库smtplib
2. 编写Python脚本
接下来,我们需要在本地编写Python脚本来完成自动发送QQ邮箱任务。整个过程可以分为以下几个步骤:
1.导入相应的Python模块
2.建立SMTP服务器连接
3.登录QQ邮箱
4.设置邮件内容
5.发送邮件
下面是一个完整的Python脚本示例:
import smtplib
from email.mime.text import MIMEText
from email.header import Header
# 邮箱设置
smtp_server = 'smtp.qq.com' # QQ邮箱smtp服务器地址
smtp_port = 465 # QQ邮箱smtp服务器端口
sender_email = '****@qq.com' # 发件人邮箱账号
auth_code = '***********' # 发件人邮箱授权码
# 登录SMTP服务器
smtp_obj = smtplib.SMTP_SSL(smtp_server, smtp_port)
smtp_obj.login(sender_email, auth_code)
# 构造邮件
message = MIMEText('这是一封由Python自动发送的邮件', 'plain', 'utf-8')
message['From'] = Header('发件人昵称', 'utf-8')
message['To'] = Header('收件人昵称', 'utf-8')
message['Subject'] = Header('测试邮件', 'utf-8')
# 发送邮件
smtp_obj.sendmail(sender_email, ['****@qq.com'], message.as_string())
smtp_obj.quit()
3. 示例说明
下面提供两个示例,分别是如何发送带附件的邮件和如何发送HTML格式的邮件。
3.1 发送带附件的邮件
我们可以使用Python的email模块来构建带附件的邮件。示例代码如下:
import smtplib
from email.mime.multipart import MIMEMultipart
from email.mime.text import MIMEText
from email.mime.application import MIMEApplication
# 邮箱设置
smtp_server = 'smtp.qq.com' # QQ邮箱smtp服务器地址
smtp_port = 465 # QQ邮箱smtp服务器端口
sender_email = '****@qq.com' # 发件人邮箱账号
auth_code = '***********' # 发件人邮箱授权码
# 登录SMTP服务器
smtp_obj = smtplib.SMTP_SSL(smtp_server, smtp_port)
smtp_obj.login(sender_email, auth_code)
# 构造邮件
message = MIMEMultipart()
message['From'] = Header('发件人昵称', 'utf-8')
message['To'] = Header('收件人昵称', 'utf-8')
message['Subject'] = Header('测试邮件', 'utf-8')
# 邮件正文
text = MIMEText('这是一封带附件的邮件', 'plain', 'utf-8')
message.attach(text)
# 邮件附件
file_path = '/path/to/file'
file_name = '附件名称.txt'
with open(file_path, 'rb') as f:
attachment = MIMEApplication(f.read())
attachment.add_header('Content-Disposition', 'attachment', filename=file_name)
message.attach(attachment)
# 发送邮件
smtp_obj.sendmail(sender_email, ['****@qq.com'], message.as_string())
smtp_obj.quit()
3.2 发送HTML格式的邮件
我们可以使用Python的HTML模板来构建HTML格式的邮件。示例代码如下:
import smtplib
from email.mime.text import MIMEText
from email.header import Header
# 邮箱设置
smtp_server = 'smtp.qq.com' # QQ邮箱smtp服务器地址
smtp_port = 465 # QQ邮箱smtp服务器端口
sender_email = '****@qq.com' # 发件人邮箱账号
auth_code = '***********' # 发件人邮箱授权码
# 登录SMTP服务器
smtp_obj = smtplib.SMTP_SSL(smtp_server, smtp_port)
smtp_obj.login(sender_email, auth_code)
# 构造邮件
html_content = """
<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title>HTML格式邮件</title>
</head>
<body>
<h1>这是一封HTML格式的邮件</h1>
<p>邮件内容可以包含HTML标签</p>
<p>这是一个超链接:<a href="https://www.baidu.com">百度一下</a></p>
</body>
</html>
"""
message = MIMEText(html_content, 'html', 'utf-8')
message['From'] = Header('发件人昵称', 'utf-8')
message['To'] = Header('收件人昵称', 'utf-8')
message['Subject'] = Header('HTML格式邮件', 'utf-8')
# 发送邮件
smtp_obj.sendmail(sender_email, ['****@qq.com'], message.as_string())
smtp_obj.quit()
希望以上内容可以帮到你,如果还有问题欢迎继续咨询。
本站文章如无特殊说明,均为本站原创,如若转载,请注明出处:python自动发送QQ邮箱的完整步骤 - Python技术站