接收方的昵称是统一的一个,可再优化一下,实现更加个性化,更加自由的发送邮件
from email.header import Header #处理邮件主题
from email.mime.text import MIMEText # 处理邮件内容
from email.utils import parseaddr, formataddr #用于构造特定格式的收发邮件地址
import smtplib #用于发送邮件
# 函数小工具
def _format_addr(s):
name, addr = parseaddr(s)
return formataddr((Header(name, 'utf-8').encode(), addr))
# 邮件配置
from_addr = 'xxxxx@163.com'
password = 'YOYPWNZPANXXJFFM'
to_addrs = ['xxxxx@qq.com','xxxxx@163.com']#这里存放批量的邮件地址,或者我们也可以从本地存放邮件地址的文件中读取
smtp_server = 'smtp.163.com'
msg = MIMEText('这是正文内容', 'plain','utf-8')
msg['From'] = _format_addr('发送方昵称<%s>'%from_addr)
msg['Subject'] = Header('这是邮件主题:一号爬虫运行','utf-8').encode()
server = smtplib.SMTP(smtp_server,25)
server.login(from_addr, password)
for to_addr in to_addrs:
msg['To'] = _format_addr('接收方昵称<%s>'%to_addr)
try:
server.sendmail(from_addr, to_addr, msg.as_string())
except:
print('发送失败,再次尝试')
server.sendmail(from_addr, to_addr, msg.as_string())
print('发送邮件到'+to_addr)
server.quit()
收件方地址.xlsx
里面读取到多个收件人的地址import smtplib # smtplib发送邮件
from email.mime.text import MIMEText # 构造文本内容
from email.header import Header # 构造标题内容
# 设置服务器地址
mail_host = "smtp.qq.com"
# 设置服务器端口
mail_port = 465
# 初始化发送方账号
sender = "28480*****@qq.com"
# QQ邮件登录账号
mail_user = "28480*****"
# QQ邮箱第三方授权码
mail_pass = "gwgcqikk********"
def post_email(per_info):
# 构造文本对象,三个参数:文本内容,设置文本格式,设置编码
message = MIMEText(per_info["正文"],"plain","utf-8")
# 文本对象 添加 发送者
message["From"] = sender
# 文本对象 添加 接收者
message["To"] = per_info["收件人邮箱"]
# 文本对象 添加 标题
message["Subject"] = Header(per_info["邮件主题"])
# 创建 SMTP 对象,连接目标服务器
smtpObj = smtplib.SMTP_SSL(mail_host,mail_port)
# 自己账号登录
smtpObj.login(mail_user,mail_pass)
# 发送邮件到目标地址 注意:信息由MTMEText对象 转为 字符串对象
smtpObj.sendmail(sender,per_info["收件人邮箱"],message.as_string())
# 结束 SMTP 对象
smtpObj.quit()
if __name__ == '__main__':
# 读取 邮件.xlsx
email_info_df = pd.read_excel("邮件.xlsx")
# 使用apply方法 将email_info_df中每一行 映射到post_email函数中
email_info_df.apply(post_email,axis=1)
原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。
如有侵权,请联系 cloudcommunity@tencent.com 删除。
原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。
如有侵权,请联系 cloudcommunity@tencent.com 删除。