正在回答 回答被采纳积分+1
2回答
weixin_慕九州9379801
2021-08-30 13:56:34
没办法一健批量发送吗
好帮手慕凡
2021-08-30 13:20:31
同学,你好!
1、可以使用循环遍历不同的收件人信息进行发送;
2、在实现邮件发送的函数里从参数中提取收件人信息和附件文档并添加进邮件主题;
3、发送邮件
参考代码如下:
1 | # coding:utf-8<br><br>import time<br>import smtplib<br>from email.mime.text import MIMEText<br>from email.header import Header<br>from email.mime.multipart import MIMEMultipart<br><br>def send(information):<br> # 第三方的smtp<br> mail_host = 'smtp.qq.com'<br> #发件人信息授权码<br> mail_user = '发件人邮箱'<br> mail_pass = '授权码'<br> sender = '发件人邮箱'<br> #收件人信息<br> receivers = [information[1]]<br> #定义带附邮件对象<br> message = MIMEMultipart()<br> message['From'] = Header(sender)<br> message['Subject'] = Header('python脚本测试', 'utf-8')<br> #需要发送的附件<br> attr = MIMEText(open(information[0]+".text", 'rb').read(), 'base64', 'utf-8')<br> #定义附件格式<br> attr['Content-Type'] = 'application/octet-stream'<br> attr['Content-Disposition'] = 'attachment;filename="send.py"'<br> #将附件添加到邮件主体<br> message.attach(attr)<br> message.attach(MIMEText('这是一个带附件的邮件', 'plain', 'utf-8'))<br> print('send start')<br> #发送邮件<br> try:<br> smtpobj = smtplib.SMTP()<br> smtpobj.connect(mail_host, 25)<br> #登录并发送邮件<br> smtpobj.login(mail_user, mail_pass)<br> smtpobj.sendmail(sender,receivers, message.as_string())<br> except smtplib.SMTPException as e:<br> print('error: %s' % e)<br>#个人信息<br>informations=[["小慕","1140315671@qq.com"],["小新","w88856388@163.com"]]<br>#循环发送邮件<br>for i in range(2):<br> send(informations[i])<br> |
祝学习愉快~
Python全能工程师
- 参与学习 人
- 提交作业 16329 份
- 解答问题 4470 个
全新版本覆盖5大热门就业方向:Web全栈、爬虫、数据分析、软件测试、人工智能,零基础进击Python全能型工程师,从大厂挑人到我挑大厂,诱人薪资在前方!
了解课程
恭喜解决一个难题,获得1积分~
来为老师/同学的回答评分吧