网站首页 > 技术文章 正文
上次聊掉了后浪python,表姐用它做了个粗版本的自动发邮件,但是问题是:还没实现附件上传功能,后面表姐又重新捣鼓了下,贴上最近的代码,供有需要的小伙伴们,可以拿来就能用。虽然,表姐不是专门学python这后浪级语言的妹子,但是呢,研究好这门语言,工作中,它确实是能帮你节省不少时间,人力物力。还特备受领导认可。废话不多说,贴上成品代码及分析:
#!/usr/bin/python
# -*- coding: UTF-8 -*-
import smtplib
from email.mime.text import MIMEText
from email.mime.multipart import MIMEMultipart
from email.header import Header
from email.Utils import COMMASPACE, formatdate
import os.path
# 第三方 SMTP 服务
mail_host="smtp.exmail.qq.com" #设置服务器
mail_user="你的邮箱账户名@XX.com" #用户名
mail_pass="你的邮箱密码" #口令
sender = '你的邮箱'
receivers = ['XX11@qq.com', 'XX22@gmail.com', 'XX33@outlook.com'] # 接收邮件,可设置为你的QQ邮箱或者其他邮箱
?
#创建一个带附件的实例
message = MIMEMultipart()
message["Accept-Language"]="zh-CN"
message["Accept-Charset"]="ISO-8859-1,utf-8"
message['From'] = Header("职场大表姐", 'utf-8')
message['To'] = COMMASPACE.join(receivers)
message['Date'] = formatdate(localtime=True)
subject = '清明美食 你知道多少'
message['Subject'] = Header(subject, 'utf-8')
#邮件正文内容
message.attach(MIMEText('清明 团子节...为你献上各种青团做法', 'plain', 'utf-8'))
?
# 构造附件1,传送当前目录下的 test.txt 文件
inpath = 'XXX公司概况.docx'
uipath = unicode(inpath , "utf8")
basename = os.path.basename(uipath)
att1 = MIMEText(open(uipath, 'rb').read(), 'base64', 'utf-8')
att1["Content-Type"] = 'application/octet-stream'
# 这里的filename可以任意写,写什么名字,邮件中显示什么名字
att1["Content-Disposition"] = 'attachment; filename=%s' % basename.encode('utf-8')
message.attach(att1)
# 构造附件2,传送当前目录下的 runoob.txt 文件
att2 = MIMEText(open('文明名.txt', 'rb').read(), 'base64', 'utf-8')
att2["Content-Type"] = 'application/octet-stream'
att2["Content-Disposition"] = 'attachment; filename="文件名.txt"'
message.attach(att2)
?
try:
smtpObj = smtplib.SMTP_SSL()
smtpObj.connect(mail_host, 465) # 25 为 SMTP 端口号
smtpObj.login(mail_user,mail_pass)
smtpObj.sendmail(sender, receivers, message.as_string())
print "邮件发送成功"
except smtplib.SMTPException:
print "Error: 无法发送邮件"
表姐划技能重点:用python实现自动化添加附件、发送邮件功能,主要会用到smtplib和email模块。
- smtplib主要负责发送邮件;可以想象成整个发送动作:比如:登录邮箱服务器、登录邮箱、发送邮件。想想我们发送邮件是不是里面还会包含:发件人信息,包括填写发件人邮箱。收件人信息:包括填写收件人邮箱。然后再就是正文部分。
- email主要服装构造邮件。主要是指:邮箱页面的构成。比如:不管我们用哪家品牌的邮箱,都会有收件人、发件人、主体、正文、附件等类似这样的结构。
用python自动化添加附件、发送邮件功能,是工作中很实用功能。能够解放你的双手,为你职场升职加薪带来不少助力!
我是@职场大表姐,如果喜欢我分享的文章的话,记得关注我哦! 欢迎大在下面留言,一起交流探讨^_^
猜你喜欢
- 2024-11-08 下载文件工具类 文件下载工具是什么
- 2024-11-08 SMTP发送邮件 smtp发送邮件过程
- 2024-11-08 NPM 使用介绍 npm .staging
- 2024-11-08 java servlet笔记:设置编码集、文件下载和两种服务器跳转
- 2024-11-08 还不懂 HTTP 协议的吗?一篇文章讲透
- 2024-11-08 JavaScript包管理工具pnpm介绍 js importpackage
- 2024-11-08 Ajax请求时,请求类型,常用的几种 Content-Type json form-data xml
- 2024-11-08 Python教程:报表和日志精讲 python自动生成日报
- 2024-11-08 安全RCE之未授权访问分析 未授权的访问路径
- 2024-11-08 JMeter的这个功能,你了解么? jmeter详解
- 标签列表
-
- content-disposition (47)
- nth-child (56)
- math.pow (44)
- 原型和原型链 (63)
- canvas mdn (36)
- css @media (49)
- promise mdn (39)
- readasdataurl (52)
- if-modified-since (49)
- css ::after (50)
- border-image-slice (40)
- flex mdn (37)
- .join (41)
- function.apply (60)
- input type number (64)
- weakmap (62)
- js arguments (45)
- js delete方法 (61)
- blob type (44)
- math.max.apply (51)
- js (44)
- firefox 3 (47)
- cssbox-sizing (52)
- js删除 (49)
- js for continue (56)
- 最新留言
-