Python发送带附件的邮件代码

#coding: utf-8
import smtplib
import sys
import datetime
from email.mime.text import MIMEText
from email.header import Header
from email.mime.multipart import MIMEMultipart def send_mail(subject,mail_content,*receiver_all,**file_all): #发送带附件的邮件
#发送者:
sender = '764309404@qq.com' #接收着:
#receiver =['764309404@qq.com','1920583440@qq.com']
receiver = []
for rec in receiver_all:
receiver += rec
#用户名:
username = '764309404@qq.com' #密码:
password = 'ztoghcgoxraqbece' #邮件类型
msg = MIMEMultipart('alternative') #邮件主题:
#subject='' #定义邮件文本内容 for i in file_all:
file = str(file_all[i])
print file
#构造附件
att1 = MIMEText(open(file, 'rb').read(), 'base64', 'GBK')
att1["Content-Type"] = 'application/octet-stream'
att1["Content-Disposition"] = 'attachment; filename='+file
msg.attach(att1) #获取当前时间
dt = datetime.datetime.now() print dt #邮件主题供选择
text_morning = " 美好的一天从此刻开始,上班请记得打卡哦!......"
text_evening = " 辛勤的劳动结束咯,童鞋们签退自嗨啦!........." if int(dt.strftime('%H')) < 12:
part1 = MIMEText(mail_content,'plain','utf-8')
#subject = text_morning
else:
part1 = MIMEText(mail_content,'plain','utf-8')
#subject = text_evening msg['Subject'] = Header(subject, 'utf-8') msg.attach(part1) try:
smtp = smtplib.SMTP_SSL("smtp.qq.com",465)
smtp.login(username, password)
smtp.sendmail(sender, receiver, msg.as_string())
smtp.quit()
print dt,'邮件发送成功'
except Exception,e:
print str(e)
print dt,'邮件发送发送失败' #send_mail('Hello','附件是今日爬取的天气和爬取日志',['764309404@qq.com','296738636@qq.com'],file1='/etl/etldata/script/ddl/mail/setup.py',file2='/etl/etldata/script/ddl/mail/mail.py')

python发送带网页和图片的代码

#coding: utf-8
import smtplib
import sys
import datetime
from email import encoders
from email.mime.text import MIMEText
from email.header import Header
from email.mime.multipart import MIMEMultipart
from email.mime.base import MIMEBase #发送带附件的邮件
#sender = 'jiangjianming@hzyatop.com'
#sender = 'jim.jiang2016@outlook.com'
sender = '764309404@qq.com'
#receiver =['764309404@qq.com','1920583440@qq.com']
receiver =['764309404@qq.com','1920583440@qq.com','296738636@qq.com','328389557@qq.com','1507461103@qq.com','528857736@qq.com'] username = '764309404@qq.com'
password = 'ztoghcgoxraqbece'
msg = MIMEMultipart('alternative') subject='邮件主题' num = str(sys.argv[1]) with open('/etl/etldata/script/tmpdir/image/'+str(num)+'.jpg','rb') as f:
minme = MIMEBase('image','jpg',filename='1.jpg')
minme.add_header('Content-Disposition', 'attachment', filename=str(num)+'.png')
minme.add_header('Content-ID', '<0>')
minme.add_header('X-Attachment-Id', '')
minme.set_payload(f.read())
encoders.encode_base64(minme)
msg.attach(minme) dt = datetime.datetime.now() print dt def readcont(filepath):
f = open(filepath,'rb')
return f.read()
#return unicode(f.read(),'utf-8') #num=86128 subject = readcont('/etl/etldata/script/tmpdir/html/'+str(num)+'.title') note = readcont('/etl/etldata/script/tmpdir/html/'+str(num)+'.html') html_head = '<html></body><h1>' + subject + '</h1>'
html_end = '</body></html>'
html_pic = '<p><img src="cid:0"></p>'
html_note = '<p>' + note + '</p>'
html = html_head + html_pic + note + html_end msg.attach(MIMEText(html,'html','utf-8')) msg['Subject'] = Header(subject, 'utf-8')
#msg.attach(part1) try:
smtp = smtplib.SMTP_SSL("smtp.qq.com",465)
smtp.login(username, password)
smtp.sendmail(sender, receiver, msg.as_string())
smtp.quit()
print '发送成功'
except Exception,e:
print str(e)
print '发送失败'

 发送带附件的邮件:

#coding: utf-8
#发生带附件的邮件代码
import smtplib
import sys
import datetime
from email.mime.text import MIMEText
from email.header import Header
from email.mime.multipart import MIMEMultipart def send_mail(subject,mail_content,*receiver_all,**file_all): #发送带附件的邮件
#发送者:
sender = '764309404@qq.com' #接收着:
#receiver =['764309404@qq.com','1920583440@qq.com']
receiver = []
for rec in receiver_all:
receiver += rec
#用户名:
username = '764309404@qq.com' #密码:
password = 'ztoghcgoxraqbece' #邮件类型
msg = MIMEMultipart('alternative') #邮件主题:
#subject=''
msg["From"] = '外星人'
#定义邮件文本内容 for i in file_all:
file = str(file_all[i])
print file
#构造附件
att = MIMEText(open(file, 'rb').read(), 'base64', 'utf-8')
att["Content-Type"] = 'application/octet-stream'
att["Content-Disposition"] = 'attachment; filename='+file
msg.attach(att) #获取当前时间
dt = datetime.datetime.now() print dt #邮件主题供选择
text_morning = " 美好的一天从此刻开始,上班请记得打卡哦!......"
text_evening = " 辛勤的劳动结束咯,童鞋们签退自嗨啦!........." if int(dt.strftime('%H')) < 12:
part1 = MIMEText(mail_content,'plain','utf-8')
#subject = text_morning
else:
part1 = MIMEText(mail_content,'plain','utf-8')
#subject = text_evening msg['Subject'] = Header(subject, 'utf-8') msg.attach(part1) try:
smtp = smtplib.SMTP_SSL("smtp.qq.com",465)
smtp.login(username, password)
smtp.sendmail(sender, receiver, msg.as_string())
smtp.quit()
print dt,'邮件发送成功'
except Exception,e:
print str(e)
print dt,'邮件发送发送失败' #date_hour_id = sys.argv[1] #date_id = date_hour_id[:8] #send_mail('兄弟,对不住了....%s汽车数据' %(date_id),'兄弟,对不住了,拿你邮箱来试试,你猜也猜不到我是谁,如果猜的不错的话,邮件会每隔四小时发一次,如果觉得扰民,那就等我明天上班来处理吧...附件是自动化爬取汽车之家的汽车数据,请查收.....',['764309404@qq.com','2586826993@qq.com'],file1='/etl/etldata/script/python/mb_qczj/%s/car_%s.csv' %(date_id,date_hour_id)) file = sys.argv[1] send_mail('汽车销量数据','附件是自动化爬取汽车销量排行数据,请查收.....',['764309404@qq.com','1920583440@qq.com'],file1 = file )

Python发送邮件代码的更多相关文章

  1. 使用python发送邮件

    最近需要做一个功能,统计bug的数量,然后发邮件给指定人,所有就先要了解一下使用python发送邮件 代码如下: #coding: utf-8 import smtplib from email.MI ...

  2. python发送邮件及附件

    今天给大伙说说python发送邮件,官方的多余的话自己去百度好了,还有一大堆文档说实话不到万不得已的时候一般人都不会去看,回归主题: 本人是mac如果没有按照依赖模块的请按照下面的截图安装 导入模块如 ...

  3. 解读Python发送邮件

    解读Python发送邮件 Python发送邮件需要smtplib和email两个模块.也正是由于我们在实际工作中可以导入这些模块,才使得处理工作中的任务变得更加的简单.今天,就来好好学习一下使用Pyt ...

  4. 利用python发送邮件

    找了很多使用python发送邮件的文章, 发现写的并不是太全, 导致坑特别多, 刚把这个坑跨过去, 在此记录下来 本代码使用163作为发送客户端, 接收邮箱随意 首先登录163邮箱, 开启POP3/S ...

  5. ETL过程跑完后,使用python发送邮件

    目标库中,如果有行数为0的表,使用python发送邮件 # -*- coding:utf-8 -*- # Author: zjc # Description:send monitor info to ...

  6. 【转】【Python】Python发送邮件(常见四种邮件内容)

    在写脚本时,放到后台运行,想知道执行情况,会通过邮件.SMS(短信).飞信.微信等方式通知管理员,用的最多的是邮件.在linux下,Shell脚本发送邮件告警是件很简单的事,有现成的邮件服务软件或者调 ...

  7. Python发送邮件(最全)

    简单邮件传输协议(SMTP)是一种协议,用于在邮件服务器之间发送电子邮件和路由电子邮件. Python提供smtplib模块,该模块定义了一个SMTP客户端会话对象,可用于使用SMTP或ESMTP侦听 ...

  8. (原创)python发送邮件

    这段时间一直在学习flask框架,看到flask扩展中有一个mail插件,所以今天就给大家演示如果发邮件. 首先我注册了一个163邮箱,需要开启smtp功能,因为咱们python发送邮件经过的是smt ...

  9. python发送邮件(转)

    SMTP发送邮件 阅读: 90274 SMTP是发送邮件的协议,Python内置对SMTP的支持,可以发送纯文本邮件.HTML邮件以及带附件的邮件. Python对SMTP支持有smtplib和ema ...

随机推荐

  1. Redis value的5种类型及常见操作

    Redis本身存储就是一个hash表,实际实࣫比hash表更复一些,后续讲存储结构时会细讲Key只有String类型Value包括String ,Set,List,Hash,Zset五中类型 STRI ...

  2. Rails的静态资源管理(四)—— 生产环境的 Asset Pipeline

    官方文档:http://guides.ruby-china.org/asset_pipeline.html http://guides.rubyonrails.org/asset_pipeline.h ...

  3. 【转】Rails 4中使用 Bootstrap 3

    转自:http://rvg.me/2013/11/using-bootstrap-3-with-rails-4/ If you are looking to use Bootstrap 3 with ...

  4. SEO中常用HTML代码大全,及权重排序

    做SEO必须要懂HTML,说的是一点都没错,不过其实是不需要全部都懂,最重点的你懂了会用,基本上都是事半功倍了.可以这么说一个不懂代码的优化人员不算是一个合格的好优化.下面就总结一下做优化,必须要懂得 ...

  5. Dataguard ORA-19909 ORA-01110

    在创建ORACLE 10G Dataguard时,报错: Datafile 1 (ckpscn 24967685451) is orphaned on incarnation#=6 MRP0: Bac ...

  6. Android 4学习(7):用户界面 - 基础

    参考<Professional Android 4 Development> Android UI基本元素 下面这些概念是Android UI设计的基础,深入学习和理解它们是Android ...

  7. myeclipse 10破解

    因为笔者的电脑是刚买不久,忘记先给电脑分区,等软年安装差不多了才发现忘记分区,所以就备份了数据,然后分区,结果分区过程中没有异常发生,就没用备用数据,就用分过区的原数据,当时还以为没问题,结果打开my ...

  8. Linux服务器在外地,如何用eclipse连接hdfs

    配置外网和内网的映射,内部所有配置全部用内网的IP 本地所有配置皆为外网地址 本地给服务器发指令全部由映射转换为内网指定IP,即可​

  9. python爬虫框架(3)--Scrapy框架安装配置

    1.安装python并将scripts配置进环境变量中 2.安装pywin32 在windows下,必须安装pywin32,安装地址:http://sourceforge.net/projects/p ...

  10. Replace Pioneer注册方法

    Replace Pioneer注册方法 Replace Pioneer过期后,会弹出一个注册(Registration)窗口,其中有一个试用选项(Trial License),点击Trial Lice ...