用python批量发送附带正文和附件的邮件!解决工作的烦碎琐事!
发布网友
发布时间:2024-09-17 03:44
我来回答
共1个回答
热心网友
时间:2024-10-07 00:26
掌握Python批量发送带有正文和附件的邮件技能,能显著提升工作效率,解决工作中繁复琐碎的邮件发送任务。以下是Python实现这一功能的详细步骤,助你轻松完成邮件自动化。
首先,确保Python环境搭建正确并导入必要的库。
import smtplib
from email.mime.multipart import MIMEMultipart
from email.mime.text import MIMEText
from email.mime.image import MIMEImage
from email.mime.application import MIMEApplication
from email.header import Header
设置邮件发送服务器和相关参数,以腾讯邮箱为例。
from_addr = '123@qq.com'
password = 'xxxxxxxx'
to_addrs = ['111@qq.com', '222@qq.com', ...]
smtp_server = 'smtp.qq.com'
创建邮件发送对象并建立与服务器的连接。
server = smtplib.SMTP_SSL()
server.connect(smtp_server,465)
登录发送邮箱。
server.login(from_addr, password)
构建邮件主体,包括正文内容。
msg = MIMEMultipart('alternative')
contents = '''你好,世界!\n我来了!\n我又走了!\n我没有带走那片云彩!'
添加文本内容到邮件。
msgtext = MIMEText(contents, 'plain', 'utf-8')
msg.attach(msgtext)
插入图片附件。
img_path = 'C:UsersadminDesktop运营python发送邮件LOGO.png'
msgImage = MIMEImage(open(img_path, 'rb').read())
msgImage.add_header('Content-Disposition', 'attachment', filename='Logo.png')
msg.attach(msgImage)
添加PDF附件。
filepath = 'C:UsersadminDesktop运营python发送邮件yte-of-python-chinese-edition.pdf'
attachfile = MIMEApplication(open(filepath, 'rb').read())
attachfile.add_header('Content-Disposition', 'attachment', filename='yte-of-python-chinese-edition.pdf')
msg.attach(attachfile)
设置邮件标题、发送人和收件人。
msg['Subject'] = Header('哈哈哈,这个是标题!')
msg['From'] = Header('神秘人')
msg['To'] = Header(','.join(to_addrs))
将构建完成的邮件发送出去。
server.sendmail(from_addr, to_addrs, msg.as_string())
最后,确保邮件发送完成并安全退出。
server.quit()
处理常见报错,确保代码顺利运行。
实现批量发送带有正文和附件的邮件,Python提供了一种高效且灵活的解决方案,极大地减轻了日常工作中邮件发送的负担。