#-*- coding: utf-8 -*-
# python2
import os
import time
import random
import smtplib
from time import strftime
from email import encoders
from email.header import Header
from email.mime.text import MIMEText
from email.utils import parseaddr, formataddr
from email.mime.multipart import MIMEMultipart
from email.mime.base import MIMEBase img_list = os.listdir('/home/wy/Desktop/xx')
# img_list = os.listdir('/home/whucs/wangyong/xx') def _format_addr(s):
name, addr = parseaddr(s)
return formataddr((\
Header(name, 'utf-8').encode(), \
addr.encode('utf-8') if isinstance(addr, unicode) else addr)) def SendSSLEmail(to_list):
# from_addr = "2543128906@qq.com" #发件人
# pwd = "tvsbkyufaeyceaeb" #密码
# to_addr = "@qq.com" #收件人
# smtp_server = "smtp.qq.com" from_addr = "xxxxxx@126.com" #发件人
pwd = "xxxxxxxxx" #密码
# # to_addr = "@qq.com" #收件人
smtp_server = "smtp.126.com" msg = MIMEMultipart()
msg['From'] = _format_addr(u'meizi.jiandan <%s>' % from_addr)
# msg['To'] = _format_addr(u'doggy <%s>' % to_addr)
msg['To'] = ";".join(to_list)
title = time.strftime("%Y-%m-%d",time.localtime()) + ' 煎蛋妹子图'
msg['Subject'] = Header(title, 'utf-8').encode() # msg.attach(MIMEText('手机常年静音,接电话全靠缘分', 'html', 'utf-8')) for i in range(10):
# 添加附件就是加上一个MIMEBase,从本地读取一个图片:
img = random.choice(img_list)
with open('xx/'+img, 'rb') as f:
# 设置附件的MIME和文件名,这里是png类型:
mime = MIMEBase('image', 'jpg', filename=img)
# 加上必要的头信息:
mime.add_header('Content-Disposition', 'attachment', filename=img)
mime.add_header('Content-ID', '<0>')
mime.add_header('X-Attachment-Id', '')
# 把附件的内容读进来:
mime.set_payload(f.read())
# 用Base64编码:
encoders.encode_base64(mime)
# 添加到MIMEMultipart:
msg.attach(mime)
# msg.attach(MIMEText('<html><body><h1>Hello</h1><p><img src="cid:' + str(i) + '"></p></body></html>', 'html', 'utf-8')) server = smtplib.SMTP_SSL(smtp_server, 465)
server.set_debuglevel(1)
server.login(from_addr, pwd)
server.sendmail(from_addr, to_list, msg.as_string()) # 一次可以发多人,list
server.quit() if __name__ == '__main__':
mailto_list = ["490311@qq.com"]
# mailto_list = ["5645297@qq.com","490171@qq.com","4257399@qq.com","11356346@qq.com"] SendSSLEmail(mailto_list)

python发送smtp 邮件 图片的更多相关文章

  1. Python发送SMTP邮件指南

      SMTP(Simple Mail Transfer Protocol)简单邮件传输协议,Python内置对SMTP的支持,可以发送纯文本文件,HTML邮件以及附带文件.   一.两个模块 Pyth ...

  2. 【Python开发】python发送各类邮件的方法

    转载: python发送各类邮件的主要方法 python中email模块使得处理邮件变得比较简单,今天着重学习了一下发送邮件的具体做法,这里写写自己的的心得,也请高手给些指点. 一.相关模块介绍 发送 ...

  3. 使用python发送163邮件 qq邮箱

    使用python发送163邮件 def send_email(title, content): import smtplib from email.mime.multipart import MIME ...

  4. 使用phpmailer发送smtp邮件时提示 SMTP Error: Could not authenticate 错误

    使用phpmailer发送smtp邮件时提示 SMTP Error: Could not authenticate 错误 这个错误是验证出现错误, $mail->Port = 25; //SMT ...

  5. 九、Python发送QQ邮件(SMTP)

    看了廖雪峰老师的教程: 一封电子邮件的旅程就是 发件人 -> MUA -> MTA -> MTA -> 若干个MTA -> MDA <- MUA <- 收件人 ...

  6. 使用python发送QQ邮件

    这里用到了Python的两个包来发送邮件: smtplib 和 email . Python 的 email 模块里包含了许多实用的邮件格式设置函数,可以用来创建邮件“包裹”.使用的 MIMEText ...

  7. 【python】smtp邮件发送

    纯文本: #!/usr/bin/env python3 #coding: utf-8 import smtplib from email.mime.text import MIMEText from ...

  8. python发送各类邮件的主要方法

    更多详见: http://www.w3cschool.cc/python/python-email.html python中email模块使得处理邮件变得比较简单,今天着重学习了一下发送邮件的具体做法 ...

  9. python 发送安全邮件

    用python 写了一个发送邮件的脚本,配上host 和端口,发现一直报错: smtplib.SMTPException: No suitable authentication method foun ...

随机推荐

  1. ArcGIS for JavaScript学习(一)

    一  API准备 从网上下载开发包:ArcGIS for JavaScript(百度网盘地址) sdk中含有API的帮助和例子 2.离线部署(以IIS为例) 配置IIS(详见网络):解压离线包,包中的 ...

  2. Android项目实战(一): SpannableString与SpannableStringBuilder(转)

    前言: 曾经在一些APP中的一些类似“帮助”“关于”的界面看过一行文字显示不同的颜色的效果,如下效果: 本软件是一款高.大.上的社区类软件. 一般来说,这应该是由一个TextView来显示的,但是自己 ...

  3. Linux(DeepInOS) 下 mysql 的安装与基本配置

    索引: 目录索引 参看代码 GitHub: DeepIn(GNU/Linux) MySQL 一.安装 sudo apt-get install mysql-server 期间需要输入两次密码,root ...

  4. logback日志配置

    第一步:加入jar包.要加入slf4j和logback的jar包,slf4j需要的jar包为slf4j-api,logback需要2个jar包(logback-classic.logback-core ...

  5. Apollo的Oracle适配改动

    这几天工作需要使用Apollo配置中心.Apollo唯一的依赖是MySQL数据库,然而公司只有Oracle数据库资源.这里有一个Oracle适配改动的分支,但是它是基于0.8.0版本的Apollo.看 ...

  6. linux缺页异常处理--内核空间

    缺页异常被触发通常有两种情况-- 程序设计的不当导致访问了非法的地址 访问的地址是合法的,但是该地址还未分配物理页框. 下面解释一下第二种情况,这是虚拟内存管理的一个特性.尽管每个进程独立拥有3GB的 ...

  7. 浅谈TCP IP协议栈(二)IP地址

    上一节大致了解TCP/IP协议栈是个啥东西,依旧是雾里看花的状态,有很多时候学一门新知识时,开头总是很急躁,无从下手,刚学会一点儿,却发现连点皮毛都不算,成就感太低,所以任何时候学习最重要的是要在合适 ...

  8. Win10 - MySQL 5.7 密码重置

    Win10 - MySQL 5.7 密码重置 所有行为均发生在系统管理员权限的 Cmd 或 Powershell 下 注意! 本行为会导致数据库重置 # 重新安装 mysql 服务 mysqld -- ...

  9. Codechef Bear and Clique Distances

    题目:Bear and Clique Distances 描述:共有N个点,前1—K个点任意两点之间有一条无向边,边的权值为X,再任意给M条边(u,v,w)(不重复),求任意一点到其余各点的最短路. ...

  10. spark-2.4.0-hadoop2.7-安装部署

    1. 主机规划 主机名称 IP地址 操作系统 部署软件 运行进程 备注 mini01 172.16.1.11[内网] 10.0.0.11  [外网] CentOS 7.5 Jdk-8.zookeepe ...