首页 » 网站推广 » php准时附件邮箱技巧_简化日常工作系列之四 准时发送带附件的工作申报请示邮件

php准时附件邮箱技巧_简化日常工作系列之四 准时发送带附件的工作申报请示邮件

访客 2024-12-18 0

扫一扫用手机浏览

文章目录 [+]

不多说,show the code:

# -- coding: utf-8 --\rimport smtplib\rimport email.MIMEMultipart# import MIMEMultipart\rimport email.MIMEText# import MIMEText\rimport email.MIMEBase# import MIMEBase\rimport os.path\rimport mimetypes\rimport time\r\rFrom = \"大众fffs@sss.com\"大众\rTo = \公众xxx@163.com\"大众\rdateStr = time.strftime(\"大众%Y-%m-%d\"大众, time.localtime(time.time))\rfile_name = \公众C:\Users\Thinkpad\Desktop\dailyFiles\"大众 + \"大众\\"大众 + dateStr + \公众\work.txt\公众\rprint file_name\r\r\rserver = smtplib.SMTP_SSL(\"大众smtp.exmail.qq.com\"大众, 465)\rserver.login(From,\"大众xxx\"大众) #仅smtp做事器须要验证时\r\r# 布局MIMEMultipart工具做为根容器\rmain_msg = email.MIMEMultipart.MIMEMultipart\r\r# 判断是否是空内容\rfile_context = open(file_name).read.strip\rif (file_context == 'today work is:'):\r # 相称于内容为空,给自己发一份提示邮件\r text_msg = email.MIMEText.MIMEText(\"大众你今日的事情情形还未做记录,请检讨夹帐动运行该脚本发送邮件。
\公众,_charset=\公众utf-8\"大众)\r main_msg.attach(text_msg)\r main_msg['From'] = From\r main_msg['To'] = From\r main_msg['Subject'] = \"大众今日事情申报请示发送失落败\"大众\r main_msg['Date'] = email.Utils.formatdate\r # 得到格式化后的完全文本\r fullText = main_msg.as_string\r # 用smtp发送邮件\r try:\r server.sendmail(From, From, fullText)\r finally:\r print 'success!'\r server.quit\r\r print u\公众你今日的事情情形还未做记录,请检讨夹帐动运行该脚本发送邮件。
\"大众\r exit\r\r\r# 布局MIMEText工具做为邮件显示内容并附加到根容器\rtext_msg = email.MIMEText.MIMEText(\公众你好,今日的事情情形见附件\"大众,_charset=\公众utf-8\"大众)\rmain_msg.attach(text_msg)\r\r# 布局MIMEBase工具做为文件附件内容并附加到根容器\r\r## 读入文件内容并格式化 \rdata = open(file_name, 'rb')\rctype,encoding = mimetypes.guess_type(file_name)\rif ctype is None or encoding is not None:\r ctype = 'application/octet-stream'\rmaintype,subtype = ctype.split('/',1)\rfile_msg = email.MIMEBase.MIMEBase(maintype, subtype)\rfile_msg.set_payload(data.read)\rdata.close\remail.Encoders.encode_base64(file_msg)#把附件编码\r\r## 设置附件头\rbasename = os.path.basename(file_name)\rfile_msg.add_header('Content-Disposition','attachment', filename = basename)#修正邮件头\rmain_msg.attach(file_msg)\r\r# 设置正文内容\r# # 设置根容器属性\rmain_msg['From'] = From\rmain_msg['To'] = To\rmain_msg['Subject'] = \"大众今日事情申报请示\公众\rmain_msg['Date'] = email.Utils.formatdate\r\r# 得到格式化后的完全文本\rfullText = main_msg.as_string\r\r# 用smtp发送邮件\rtry:\r server.sendmail(From, To, fullText)\rfinally:\r print 'success!'\r server.quit

大略讲便是利用stmp做事,把之前博客里讲的逐日天生的事情日志以附件形式添加到邮件里(http://www.cnblogs.com/freephp/p/5148320.html),邮件里的正文一样平常也是固定的内容或者格式,这也是可以用脚本定时发送的缘故原由。
我们只需在固定的文本文件(便是附件文件)里写我们的事情情形即可。
在程序最开头的地方我有去判断是否附件里没有写内容,若由于忘却写内容而直接发送出去会比较囧,以是加以判断,无内容则用邮件办法给自己邮箱发送一封提示邮件,督匆匆自己补上内容,再手动run一下这个脚本吧。

php准时附件邮箱技巧_简化日常工作系列之四  准时发送带附件的工作申报请示邮件

当然有人会提出一个问题:干嘛不封装成类?

php准时附件邮箱技巧_简化日常工作系列之四  准时发送带附件的工作申报请示邮件
(图片来自网络侵删)

答:对付这样大略的功能,函数式的调用可读性更强。
且功能不足多,封装上风不太明显。
面向工具只是一种代码组装的办法,它从来不是在任何时候都是最佳选择。

实在很多自动化的实践都来源于实际事情,这个脚本我以运用到自己的项目组内,效果还不错。
邮件不能完备代替及时的沟通,但它是一种正式和归纳的信息反馈。
对付这样的互换办法,我更关注于内容,而不是花韶光在繁琐地操作上。

对付这个小脚本我还可以深入思考关于邮件方面的是:

1.群发抄送联系人的功能也是很实用的,可以新增该功能。

2.对邮件内容的审核过滤,防止发生意外(侧漏)。

3.对邮箱中新增邮件进行的关键字遍历,这样不用每次一个一个去点,直接找到须要的功能。

4.自动回答邮件,对一些特定需回答的邮件,可以解析内容然后自动回答。

末了:

人生苦短,快用python.

标签:

相关文章

php常量率低技巧_PHP 常量详解教程

PHP 常量常量是单个值的标识符(名称)。在脚本中无法改变该值。有效的常量名以字符或下划线开头(常量名称前面没有 $ 符号)。注释...

网站推广 2024-12-19 阅读0 评论0