Python实现邮件的批量发送的示例代码你好你好你好你好

下面小编就为大家分享一篇Python实现邮件的批量发送的示例代码,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧

1 发送文本信息

'''加密发送文本邮件''' def sendEmail(from_addr,password,to_addr,smtp_server): try: msg = MIMEText('你好,来自信息化工程所的问候...', 'plain', 'utf-8') # 文本邮件 # msg = MIMEText('

你好

' + 'send by 信息化工程所 ...

' +'', 'html', 'utf-8') # 网页文件 msg['From'] = _format_addr('信息化工程所 ' % from_addr) msg['To'] = _format_addr('收件人 ' % to_addr) msg['Subject'] = Header('邮件主题:问候', 'utf-8').encode() server = smtplib.SMTP(smtp_server, 25) server.starttls() # 调用starttls()方法,就创建了安全连接 # server.set_debuglevel(1) # 记录详细信息 server.login(from_addr, password) # 登录邮箱服务器 server.sendmail(from_addr, [to_addr], msg.as_string()) # 发送信息 server.quit() print("加密后邮件发送成功!") except Exception as e: print("发送失败:" + e)

2 发送带图片附件的邮件

'''发送带图片附件的邮件''' def sendFileEmail(from_addr,password,to_addr,smtp_server): try: msg = MIMEMultipart() msg['From'] = _format_addr('信息化工程所 ' % from_addr) msg['To'] = _format_addr('收件人 ' % to_addr) msg['Subject'] = Header('邮件主题:问候', 'utf-8').encode() # 邮件正文是MIMEText: msg.attach(MIMEText('send with file...', 'plain', 'utf-8')) # msg.attach(MIMEText('

你好

' + 'send by

' +'', 'html', 'utf-8')) # 网页文件 # 添加附件就是加上一个MIMEBase,从本地读取一个图片: with open(r'./file/图片.png', 'rb') as f: mime = MIMEBase('image', 'png', filename='图片.png') # 设置附件的MIME和文件名,这里是png类型: mime.add_header('Content-disposition', 'attachment',filename=('gbk', '', '图片.png')) # 加上必要的头信息,解决中文附件名乱码 mime.add_header('Content-ID', '') mime.add_header('X-Attachment-Id', '0') mime.set_payload(f.read()) # 把附件的内容读进来: encoders.encode_base64(mime) # 用Base64编码: msg.attach(mime) # 添加到MIMEMultipart: server = smtplib.SMTP(smtp_server, 25) # server.set_debuglevel(1) # 记录详细信息 server.login(from_addr, password) # 登录邮箱服务器 server.sendmail(from_addr, to_addr, msg.as_string()) # 发送信息 server.quit() print("带图片邮件发送成功!") except Exception as e: print("发送失败:" + e)

3 发送带图片附件的邮件

'''发送带图片附件的邮件''' def sendFilesEmail(from_addr,password,to_addr,smtp_server): try: msg = MIMEMultipart() msg['From'] = _format_addr('信息化工程所 ' % from_addr) msg['To'] = _format_addr('收件人 ' % to_addr) msg['Subject'] = Header('邮件主题:问候', 'utf-8').encode() # 邮件正文是MIMEText: msg.attach(MIMEText('发送多附件邮件...', 'plain', 'utf-8')) #---这是附件部分--- #xlsx类型附件 part = MIMEApplication(open(r'./file/foo.xlsx','rb').read()) part.add_header('Content-disposition', 'attachment', filename="foo.xlsx") msg.attach(part) #jpg类型附件 part = MIMEApplication(open(r'./file/图片.png','rb').read()) part.add_header('Content-disposition', 'attachment', filename=('gbk', '', '图片.png')) msg.attach(part) #pdf类型附件 part = MIMEApplication(open(r'./file/foo.pdf','rb').read()) part.add_header('Content-disposition', 'attachment', filename="foo.pdf") msg.attach(part) # #mp3类型附件 # part = MIMEApplication(open('foo.mp3','rb').read()) # part.add_header('Content-disposition', 'attachment', filename="foo.mp3") # msg.attach(part) server = smtplib.SMTP(smtp_server, 25,timeout=30) # server.set_debuglevel(1) # 记录详细信息 server.login(from_addr, password) # 登录邮箱服务器 server.sendmail(from_addr, to_addr, msg.as_string()) # 发送信息 server.quit() print("带图片邮件发送成功!") except Exception as e: print("发送失败:" + e)

4 完整代码

from email import encoders from email.header import Header from email.mime.text import MIMEText from email.mime.multipart import MIMEMultipart from email.mime.base import MIMEBase from email.mime.application import MIMEApplication from email.utils import parseaddr, formataddr import smtplib def _format_addr(s): name, addr = parseaddr(s) return formataddr((Header(name, 'utf-8').encode(), addr)) '''加密发送文本邮件''' def sendEmail(from_addr,password,to_addr,smtp_server): try: msg = MIMEText('你好,来自信息化工程所的问候...', 'plain', 'utf-8') # 文本邮件 # msg = MIMEText('

你好

' + 'send by 信息化工程所...

' +'', 'html', 'utf-8') # 网页文件 msg['From'] = _format_addr('信息化工程所 ' % from_addr) msg['To'] = _format_addr('收件人 ' % to_addr) msg['Subject'] = Header('邮件主题:问候', 'utf-8').encode() server = smtplib.SMTP(smtp_server, 25) server.starttls() # 调用starttls()方法,就创建了安全连接 # server.set_debuglevel(1) # 记录详细信息 server.login(from_addr, password) # 登录邮箱服务器 server.sendmail(from_addr, [to_addr], msg.as_string()) # 发送信息 server.quit() print("加密后邮件发送成功!") except Exception as e: print("发送失败:" + e) '''发送带图片附件的邮件''' def sendFileEmail(from_addr,password,to_addr,smtp_server): try: msg = MIMEMultipart() msg['From'] = _format_addr('信息化工程所 ' % from_addr) msg['To'] = _format_addr('收件人 ' % to_addr) msg['Subject'] = Header('邮件主题:问候', 'utf-8').encode() # 邮件正文是MIMEText: msg.attach(MIMEText('send with file...', 'plain', 'utf-8')) # msg.attach(MIMEText('

你好

' + 'send by

' +'', 'html', 'utf-8')) # 网页文件 # 添加附件就是加上一个MIMEBase,从本地读取一个图片: with open(r'./file/图片.png', 'rb') as f: mime = MIMEBase('image', 'png', filename='图片.png') # 设置附件的MIME和文件名,这里是png类型: mime.add_header('Content-disposition', 'attachment',filename=('gbk', '', '图片.png')) # 加上必要的头信息,解决中文附件名乱码 mime.add_header('Content-ID', '') mime.add_header('X-Attachment-Id', '0') mime.set_payload(f.read()) # 把附件的内容读进来: encoders.encode_base64(mime) # 用Base64编码: msg.attach(mime) # 添加到MIMEMultipart: server = smtplib.SMTP(smtp_server, 25) # server.set_debuglevel(1) # 记录详细信息 server.login(from_addr, password) # 登录邮箱服务器 server.sendmail(from_addr, to_addr, msg.as_string()) # 发送信息 server.quit() print("带图片邮件发送成功!") except Exception as e: print("发送失败:" + e) '''发送带图片附件的邮件''' def sendFilesEmail(from_addr,password,to_addr,smtp_server): try: msg = MIMEMultipart() msg['From'] = _format_addr('信息化工程所 ' % from_addr) msg['To'] = _format_addr('收件人 ' % to_addr) msg['Subject'] = Header('邮件主题:问候', 'utf-8').encode() # 邮件正文是MIMEText: msg.attach(MIMEText('发送多附件邮件...', 'plain', 'utf-8')) #---这是附件部分--- #xlsx类型附件 part = MIMEApplication(open(r'./file/foo.xlsx','rb').read()) part.add_header('Content-disposition', 'attachment', filename="foo.xlsx") msg.attach(part) #jpg类型附件 part = MIMEApplication(open(r'./file/图片.png','rb').read()) part.add_header('Content-disposition', 'attachment', filename=('gbk', '', '图片.png')) msg.attach(part) #pdf类型附件 part = MIMEApplication(open(r'./file/foo.pdf','rb').read()) part.add_header('Content-disposition', 'attachment', filename="foo.pdf") msg.attach(part) # #mp3类型附件 # part = MIMEApplication(open('foo.mp3','rb').read()) # part.add_header('Content-disposition', 'attachment', filename="foo.mp3") # msg.attach(part) server = smtplib.SMTP(smtp_server, 25,timeout=30) # server.set_debuglevel(1) # 记录详细信息 server.login(from_addr, password) # 登录邮箱服务器 server.sendmail(from_addr, to_addr, msg.as_string()) # 发送信息 server.quit() print("带图片邮件发送成功!") except Exception as e: print("发送失败:" + e) if __name__ == '__main__': from_addr = 'webter@tccxfw.com' # 邮箱登录用户名 password = 'TCC123' # 登录密码 to_addr = ['1943840362463@qq.com','jason1423@vip.qq.com','jason14449905@126.com' ] # 发送对象地址,可以多个邮箱 smtp_server='172.16.254.46' # 服务器地址,认端口号25 sendEmail(from_addr,password,to_addr,smtp_server)

以上这篇Python实现邮件的批量发送的示例代码就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持编程之家。

相关文章

功能概要:(目前已实现功能)公共展示部分:1.网站首页展示...
大体上把Python中的数据类型分为如下几类: Number(数字) ...
开发之前第一步,就是构造整个的项目结构。这就好比作一幅画...
源码编译方式安装Apache首先下载Apache源码压缩包,地址为ht...
前面说完了此项目的创建及数据模型设计的过程。如果未看过,...
python中常用的写爬虫的库有urllib2、requests,对于大多数比...