python发邮件给多个人发送消息_python发送邮件(带附件)、发送给多人、抄送给多人的示例...

python发送邮件(带附件)、发送给多人、抄送给多人的示例

#!/usr/bin/env python

# -*-encoding: utf-8 -*-

import smtplib

from email.mime.multipart import MIMEMultipart

from email.mime.text import MIMEText

#image包可以发送图片形式的附件

# from email.mime.image import MIMEImage

# 可以查询文件对应的'Content-Type'

# import mimetypes

# mimetypes.guess_type('c:\\users\\adminstrator\\desktop\\ceshi.xls')

asender = 'aa@aa.com'

#多个收件人用逗号隔开

areceiver = 'bb@bb.com, cc@cc.com'

acc = 'dd@dd.com, eeg@ee.com'

asubject = u'HI'

#阿里云邮箱的smtp服务器

asmtpserver = 'smtp.mxhichina.com'

ausername = 'aa@aa.com'

apassword = '123456'

#下面的to\cc\from最好写上,不然只在sendmail中,可以发送成功,但看不到发件人、收件人信息

msgroot = MIMEMultipart('related')

msgroot['Subject'] = asubject

msgroot['to'] = areceiver

msgroot['Cc'] = acc

msgroot['from']= asender

# MIMEText有三个参数,第一个对应文本内容,第二个对应文本的格式,第三个对应文本编码

thebody = MIMEText(u'Please check the attachment, thanks!', 'plain', 'utf-8')

msgroot.attach(thebody)

# 读取xls文件作为附件,open()要带参数'rb',使文件变成二进制格式,从而使'base64'编码产生作用,否则附件打开乱码

# att = MIMEText(open('C:\\ceshi.xls', 'rb').read(), 'base64', 'GB2312')

# att['Content-Type'] = 'application/vnd.ms-excel'

# att['Content-Disposition'] = 'attachment; filename ="1.xls"'

# 读取xlsx文件作为附件,open()要带参数'rb',使文件变成二进制格式,从而使'base64'编码产生作用,否则附件打开乱码

att = MIMEText(open(u'C:\\ceshi.xlsx', 'rb').read(), 'base64', 'utf-8')

att['Content-Type'] = 'application/vnd.openxmlformats-officedocument.spreadsheetml.sheet'

#下面的filename 等号(=)后面好像不能有空格

attname ='attachment; filename ="123.xlsx"'

att['Content-Disposition'] = attname

msgroot.attach(att)

asmtp = smtplib.SMTP()

asmtp.connect(asmtpserver)

asmtp.login(ausername, apassword)

#发送给多人时,收件人应该以列表形式,areceiver.split把上面的字符串转换成列表

#只要在sendmail中写好发件人、收件人,就可以发送成功

# asmtp.sendmail(asender, areceiver.split(','), msgroot.as_string())

#发送给多人、同时抄送给多人,发送人和抄送人放在同一个列表中

asmtp.sendmail(asender, areceiver.split(',') + acc.split(','), msgroot.as_string())

asmtp.quit()

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/331849.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

camel apache_Apache Camel 3只有2个月的路程

camel apache骆驼队正忙于为 Apache Camel 3.今天,第二个候选版本已构建并发布在暂存库中,供早期的适配器尝试 。 当我自己很忙的时候,我只想写一篇简短的博客文章,以使社区了解Apache Camel 3即将发布,并且我们希望…

浅谈java代理

【0】README 0.1) 本文描述源代码均 转自 core java volume 1, 旨在理解 java代理机制 的基础知识; 【1】代理相关 1.1)利用代理可以在运行时创建一个实现了一组给定接口的新类, 这种功能只有在 编译时无法确定需要实…

织梦mysql安装教程视频教程_织梦DedeCMSV6系统安装步骤教程

DedeCMSV6系统基于PHP7.*MySQL开发,本篇文档将介绍如何下载DedeCMSV6系统,并且通过之前已经部署好的系统环境来安装配置一个安全的站点。准备工作:主机一台(PHP7.0以上MYSQL)域名(做好解析绑定工作)源码下载通过DedeCMSV6系统下载页面可以获取…

无法创建t的通用数组_创建通用数组的问题

无法创建t的通用数组在这篇文章中,我们将介绍一篇全面的文章,其中介绍了创建通用数组的问题。 Java编程语言于2004年9月在Java 5.0“ Tiger”发行版中添加了泛型。 泛型或类型参数化系统在提供类型安全性的同时扩展了Java现有的类型系统。 1.简介 Java具…

贪婪算法+小应用(调度问题)

【0】README 0.1) 本文总结于 数据结构与算法分析, 旨在 理解 “DFS应用——贪婪算法” 的idea; 【1】贪婪算法 1.1)已经看到的三个贪婪算法: Dijkstra算、Prim算法 和 Kruskal 算法;(Dijkstr…

http 安全性和幂等性_HTTP方法:幂等性和安全性

http 安全性和幂等性幂等性和安全性是HTTP方法的属性。 HTTP RFC定义了这些属性,并告诉我们哪些HTTP方法是安全且幂等的。 服务器应用程序应确保正确执行安全和幂等的语义,如客户端期望的那样。 安全的HTTP方法 如果HTTP方法不更改服务器状态&#xff0…

Huffman编码(Huffman树)

【0】README 0.1) 本文总结于 数据结构与算法分析, 源代码均为原创, 旨在 理解 “Huffman编码(Huffman树)” 的idea 并用源代码加以实现; 0.2) Huffman树的构建算法属于 贪婪算法,…

java获取文件列表_java获取指定目录中的文件列表

最近项目中会动态生成文件html及相关资源文件(css,js,png,mp3),为了防止文件名重复,需要获取目录中相同类型文件的最大编号,下面我用代码来实现获得文件列表。public static void getFiles(String path) {File file new File(path);// 如果这…

jep290涉及jdk版本_针对JDK 14提议的另外六个JEP

jep290涉及jdk版本Mark Reinhold最近的消息宣布了六个新的“建议针对JDK 14的JEP ”: JEP 345 , JEP 361 , JEP 363 , JEP 364 , JEP 365和JEP 367 。 假设没有异议由11月7日提出,这些JEPs将有针对性地JDK …

近似装箱问题(三种联机算法实现)

【0】README 0.1) 本文总结于 数据结构与算法分析, 源代码均为原创, 旨在 理解 “近似装箱问题(三种联机算法实现)” 的idea 并用源代码加以实现; 0.2) 近似装箱问题的三种联机算法 分别是&am…

java 随机数种子_Java--随机数和随机数种子(转)

在计算机中并没有一个真正的随机数发生器,但是可以做到使产生的数字重复率很低,这样看起来好象是真正的随机数,实现这一功能的程序叫伪随机数发生器。有关如何产生随机数的理论有许多,如果要详细地讨论,需要厚厚的一本…

java 堆转储快照_捕获Java堆转储的7个选项

java 堆转储快照堆转储是诊断与内存相关的问题的重要工件,例如内存泄漏缓慢,垃圾回收问题和java.lang.OutOfMemoryError。它们也是优化内存消耗的重要工件。 有很棒的工具,例如Eclipse MAT和Heap Hero,可以分析堆转储。 但是&…

java 提取url参数_Java提取URL某个参数的值

ASP.NET Core 中文文档 第四章 MVC(4.3)过滤器原文:Filters 作者:Steve Smith 翻译:刘怡(AlexLEWIS) 校对:何镇汐 ASP.NET MVC 过滤器 可在执行管道的前后特定阶段执行代码.过滤器可以配置为全局有效.仅对控 ...jquery插件-表单提交插件-jQuery&peri…

近似装箱问题(两种脱机算法实现)

【0】README 0.1) 本文总结于 数据结构与算法分析, 源代码均为原创, 旨在 理解 “近似装箱问题(两种脱机算法实现)” 的idea 并用源代码加以实现; 0.2) 近似装箱问题的两种联机算法 分别是&am…

vaadin 10+_Vaadin 10+作为CUBA UI的未来

vaadin 10从一开始,Vaadin就成为CUBA平台用户界面的基石和重要组成部分。 凭借其创新的方法,它帮助CUBA将企业用户界面开发带到了一个非常有希望(当今是默认)的WEB领域。 Vaadin最令人兴奋的部分之一是整个开发都是同构的&#xf…

java 信息增益_对信息增益(IG,Information Gain)的理解和计算

可能理解的不对。决策树构建中节点的选择靠的就是信息增益了。信息增益是一种有效的特征选择方法,理解起来很简单:增益嘛,肯定是有无这个特征对分类问题的影响的大小,这个特征存在的话,会对分类系统带来多少信息量&…

使用文本编辑器和jdk_JDK 14:记录,文本块等

使用文本编辑器和jdk今天的Mark Reinhold帖子“ 建议JEP针对JDK 14:305、343、359、366和368 ”建议将另外五个JEP针对JDK 14 。 该组中有一些备受期待的功能,但建议将所有功能都“预览”或“孵化”: JEP 305 :instanceof的模式匹…

java compareable接口_Java对象比较-Comparable和Comparator接口使用

最近在学习贪心算法和动态规划的过程中,里面有一段自然排序的操作,顺便简单了解一下Java中对象比较后排序要使用的两个接口:Comparable和Comparator。如果是数字,直接比较就行,但是如果是对象,如何比较后排…

java初学者指南_Java代理初学者指南

java初学者指南尽管Java初学者很快学会了键入public static void main来运行他们的应用程序,但是即使是经验丰富的开发人员也常常不知道JVM对Java流程的两个附加入口点的支持: premain和agentmain方法。 这两种方法都允许所谓的Java代理在驻留在其自己的…

java txt html格式_java中xml(txt/html等格式)解析问题,请教java高手,请勿粘贴其他网页上的内容(能查的都看了)。...

目的:通过对网页内容解析,获得需要的内容,如网页的标题Title,主要内容,描述信息;而里面的广告、超链接、无关紧要的信息统统不要,从而达到对用户上网行为的分析的目的。下面是我...目的&#xf…