Python实现邮件的批量发送的示例代码
1发送文本信息
'''加密发送文本邮件''' defsendEmail(from_addr,password,to_addr,smtp_server): try: msg=MIMEText('你好,来自信息化工程所的问候...','plain','utf-8')#文本邮件 #msg=MIMEText('你好
'+'sendby
'+'','html','utf-8')#网页文件 msg['From']=_format_addr('信息化工程所<%s>'%from_addr) msg['To']=_format_addr('收件人<%s>'%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("加密后邮件发送成功!") exceptExceptionase: print("发送失败:"+e)信息化工程所 ...
2发送带图片附件的邮件
'''发送带图片附件的邮件''' defsendFileEmail(from_addr,password,to_addr,smtp_server): try: msg=MIMEMultipart() msg['From']=_format_addr('信息化工程所<%s>'%from_addr) msg['To']=_format_addr('收件人<%s>'%to_addr) msg['Subject']=Header('邮件的主题:问候','utf-8').encode() #邮件正文是MIMEText: msg.attach(MIMEText('sendwithfile...','plain','utf-8')) #msg.attach(MIMEText('你好
'+'sendby
'+'','html','utf-8'))#网页文件 #添加附件就是加上一个MIMEBase,从本地读取一个图片: withopen(r'./file/图片.png','rb')asf: mime=MIMEBase('image','png',filename='图片.png')#设置附件的MIME和文件名,这里是png类型: mime.add_header('Content-Disposition','attachment',filename=('gbk','','图片.png'))#加上必要的头信息,解决中文附件名乱码 mime.add_header('Content-ID','<0>') 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("带图片邮件发送成功!") exceptExceptionase: print("发送失败:"+e)
3发送带图片附件的邮件
'''发送带图片附件的邮件''' defsendFilesEmail(from_addr,password,to_addr,smtp_server): try: msg=MIMEMultipart() msg['From']=_format_addr('信息化工程所<%s>'%from_addr) msg['To']=_format_addr('收件人<%s>'%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("带图片邮件发送成功!") exceptExceptionase: print("发送失败:"+e)
4完整代码
fromemailimportencoders fromemail.headerimportHeader fromemail.mime.textimportMIMEText fromemail.mime.multipartimportMIMEMultipart fromemail.mime.baseimportMIMEBase fromemail.mime.applicationimportMIMEApplication fromemail.utilsimportparseaddr,formataddr importsmtplib def_format_addr(s): name,addr=parseaddr(s) returnformataddr((Header(name,'utf-8').encode(),addr)) '''加密发送文本邮件''' defsendEmail(from_addr,password,to_addr,smtp_server): try: msg=MIMEText('你好,来自信息化工程所的问候...','plain','utf-8')#文本邮件 #msg=MIMEText('你好
'+'sendby
'+'','html','utf-8')#网页文件 msg['From']=_format_addr('信息化工程所<%s>'%from_addr) msg['To']=_format_addr('收件人<%s>'%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("加密后邮件发送成功!") exceptExceptionase: print("发送失败:"+e) '''发送带图片附件的邮件''' defsendFileEmail(from_addr,password,to_addr,smtp_server): try: msg=MIMEMultipart() msg['From']=_format_addr('信息化工程所<%s>'%from_addr) msg['To']=_format_addr('收件人<%s>'%to_addr) msg['Subject']=Header('邮件的主题:问候','utf-8').encode() #邮件正文是MIMEText: msg.attach(MIMEText('sendwithfile...','plain','utf-8')) #msg.attach(MIMEText('信息化工程所... 你好
'+'sendby
'+'','html','utf-8'))#网页文件 #添加附件就是加上一个MIMEBase,从本地读取一个图片: withopen(r'./file/图片.png','rb')asf: mime=MIMEBase('image','png',filename='图片.png')#设置附件的MIME和文件名,这里是png类型: mime.add_header('Content-Disposition','attachment',filename=('gbk','','图片.png'))#加上必要的头信息,解决中文附件名乱码 mime.add_header('Content-ID','<0>') 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("带图片邮件发送成功!") exceptExceptionase: print("发送失败:"+e) '''发送带图片附件的邮件''' defsendFilesEmail(from_addr,password,to_addr,smtp_server): try: msg=MIMEMultipart() msg['From']=_format_addr('信息化工程所<%s>'%from_addr) msg['To']=_format_addr('收件人<%s>'%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("带图片邮件发送成功!") exceptExceptionase: 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实现邮件的批量发送的示例代码就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持毛票票。
声明:本文内容来源于网络,版权归原作者所有,内容由互联网用户自发贡献自行上传,本网站不拥有所有权,未作人工编辑处理,也不承担相关法律责任。如果您发现有涉嫌版权的内容,欢迎发送邮件至:czq8825#qq.com(发邮件时,请将#更换为@)进行举报,并提供相关证据,一经查实,本站将立刻删除涉嫌侵权内容。