下面是“Python实现自动发送邮件”的完整攻略。
一、准备工作
1. 获取邮箱账号信息
首先需要获取自己邮箱的账号信息,包括:
- 邮箱地址
- 授权码/密码(注意不是邮箱登录密码)
2. 安装Python第三方库
pip install requests
pip install bs4
pip install lxml
二、编写Python脚本
1. 发送纯文本邮件
# 导入需要的库
import smtplib
from email.mime.text import MIMEText
from email.header import Header
# 配置发送方信息
sender = '发送方邮箱地址'
auth_code = '发送方授权码'
# 配置接收方信息
receivers = ['接收方邮箱地址']
# 配置邮件内容
message = MIMEText('邮件内容,纯文本格式', 'plain', 'utf-8')
message['From'] = Header('发送人昵称', 'utf-8')
message['To'] = Header('接收人昵称', 'utf-8')
message['Subject'] = Header('邮件主题', 'utf-8')
try:
smtp_obj = smtplib.SMTP('smtp.发送方邮箱地址后缀', 25)
smtp_obj.login(sender, auth_code)
smtp_obj.sendmail(sender, receivers, message.as_string())
smtp_obj.quit()
print('发送成功')
except Exception as e:
print(str(e))
print('发送失败')
2. 发送HTML邮件
# 导入需要的库
import smtplib
from email.mime.text import MIMEText
from email.header import Header
# 配置发送方信息
sender = '发送方邮箱地址'
auth_code = '发送方授权码'
# 配置接收方信息
receivers = ['接收方邮箱地址']
# 配置邮件内容
html_content = '<p>邮件内容,HTML格式</p>'
message = MIMEText(html_content, 'html', 'utf-8')
message['From'] = Header('发送人昵称', 'utf-8')
message['To'] = Header('接收人昵称', 'utf-8')
message['Subject'] = Header('邮件主题', 'utf-8')
try:
smtp_obj = smtplib.SMTP('smtp.发送方邮箱地址后缀', 25)
smtp_obj.login(sender, auth_code)
smtp_obj.sendmail(sender, receivers, message.as_string())
smtp_obj.quit()
print('发送成功')
except Exception as e:
print(str(e))
print('发送失败')
三、测试邮件发送
执行成功后,会输出“发送成功”。可以到邮箱查收邮件,如果已经成功发送,可以看到已经收到一封测试邮件。
四、注意事项
- 注意发送方邮箱需要开启STMP服务,不同邮箱的开启方式可能不同,建议百度查询相关开启方法。
- 使用
import smtplib
时可能会因为缺少相关模块而报错,可以通过执行pip install secure-smtplib
解决。 - 如果发送HTML邮件时内容有样式,需要手动将样式写入HTML内容中或者引入CSS文件,否则内容将会很丑。
本站文章如无特殊说明,均为本站原创,如若转载,请注明出处:python实现自动发送邮件 - Python技术站