Python 实现邮件多附件发送

摘要:
直接看代码#FileName:sendEmail.py#Author:Adil#DateTime:2020/11/53:44PM#SoftWare:PyCharmimportsmtplib,osfromemail.mime.multipartimportMIMEMultipartfromemail.mime.textimportMIMETextfromemail.mime.applicationi

直接看代码

#FileName : sendEmail.py#Author   : Adil#DateTime : 2020/11/5 3:44 PM#SoftWare : PyCharm

importsmtplib,os
from email.mime.multipart importMIMEMultipart
from email.mime.text importMIMEText
from email.mime.application importMIMEApplication

_user = "senderEmail"_pwd = "senderPassword"_to = "recieverEmail"

#如名字所示Multipart就是分多个部分
msg =MIMEMultipart()
msg["Subject"] = "我是邮件主题,好的主题可以防止被丢到垃圾箱内"msg["From"] =_user
msg["To"] =_to

#---这是文字部分---
part = MIMEText("我是邮件内容")
msg.attach(part)

#---这是附件部分---

currentPath =os.getcwd()

targetPath = os.path.join(currentPath,'testFiles')





sqlFileList =os.listdir(targetPath)


sqlFilePath = ''sqlFilePathList =[]
#发送多个附件的邮件,这里发送指定目录下所有类型一致的文件
for fileName insqlFileList:
    sqlFilePath =os.path.join(targetPath,fileName)
    print(sqlFilePath)
    sqlFilePathList.append(sqlFilePath)
    print(sqlFilePathList)

    with open(sqlFilePath,'rb') as f:
        part =MIMEApplication(f.read())
        part.add_header('Content-Disposition', 'attachment', filename=fileName)
        msg.attach(part)



#以下写法都可改为上面的写法 ,以下是当个附件单个附件的设置#xlsx类型附件#part = MIMEApplication(open('sqltest.xlsx', 'rb').read())#part.add_header('Content-Disposition', 'attachment', filename="sqltest.xlsx")#msg.attach(part)

## jpg类型附件#part = MIMEApplication(open('foo.jpg', 'rb').read())#part.add_header('Content-Disposition', 'attachment', filename="foo.jpg")#msg.attach(part)#
## pdf类型附件#part = MIMEApplication(open('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)
s = smtplib.SMTP("smtphz.qiye.163.com", 25)  #连接smtp邮件服,这里是网易邮箱 务器,端口默认是25
s.login(_user, _pwd)  #登陆服务器
s.sendmail(_user, _to, msg.as_string())  #发送邮件
s.close()

免责声明:文章转载自《Python 实现邮件多附件发送》仅用于学习参考。如对内容有疑问,请及时联系本站处理。

上篇毕业设计:文献参考(5)CS231N 数据预处理(data proprecessing)下篇

宿迁高防,2C2G15M,22元/月;香港BGP,2C5G5M,25元/月 雨云优惠码:MjYwNzM=

随便看看

Java连接Mysql数据库异常:Public Key Retrieval is not allowed

1) 设置dataSource。setAllowPublicKeyRetrieval通过代码;数据源。setUseSSL;2) 将jdbc url设置为jdbc:mysql://localhost:3306/Database_dbName?...

产品人必备干货:产品开发流程(完整版)

以后的产品开发流程也可以参考此文档的环节进行开发。产品经理根据设计人员提供的要求需要提供以下内容:功能类:功能流程图、产品的功能点、主要功能卖点。每一个icon的设计要跟整体页面的风格保持一致,这样才能保证所有页面设计完成以后风格是保持统一的。...

Latex 双栏模式下表格太长怎么办?

有时一张桌子放不下任何一页。如果使用原始表包,它可能会溢出。因此,自动更改表格是很自然的。对于许多在线材料,建议使用Longtable。但是因为我的文章是双栏文章,所以这个包会有问题。例如,表格将只浮动在文本上,标题的显示也有问题。经过长时间的尝试,我终于找到了解决方案,而且非常简单。只需缩放表格。方法如下:egin{table*}[!...

关于服务器并发量的简单计算

最简单的计算方式就是根据服务器带宽与页面的大小1.假设机房带宽为10Mbs,页面的大小为20KB同时并发量的理论值:10*1024/=64个请求/秒理论上1秒钟同时可以有64个请求访问页面。本考试系统,登陆的页面容量比较大,所有的js,css以及图片未优化前在400KB左右,我们就以400KB为基准,所有后面要用的文件是在首页一次性加载下来的。这一天的测评情...

支付宝支付api

使用:alipayDemo来配置支付宝支付接口1拿到商户号,回调地址,支付宝公钥,我的私钥---生成一个对象#给支付宝发请求,信息要用支付宝公钥加密#支付宝给我响应信息,信息会用商户的公钥加密,回来之后再拿用户私钥解密2对象.direct_pay传支付金额,支付商品描述,支付订单号---返回个加密的串3拿到加密的串拼到get请求参数部分pay_url="ht...

当微信小程序遇到AR(二)

当微信小程序遇到AR,会擦出怎么样的火花?期待与激动......通过该教程,可以从基础开始打造一个微信小程序的AR框架,所有代码开源,提供大家学习。注册地址=˃注册成功之后,需要下载微信小程序开发工具。下载地址=˃目前笔者的开发环境是:Windows10下载的微信小程序版本为:RCv1.0.2.1909111 打开,微信开发者工具之后,会看到如下的页面。...