高端品牌网站建设兴田德润实惠,wordpress企业站模板,如何做流量充值网站,上海做网站的的公司有哪些开发环境:系统:Ubuntu 16.04 LTS版本:python 3.5.2邮箱服务器:stmp.126.com注意:1.不可正文群发带图,不然会被stmp.126.com认定为垃圾邮件,发不出去 - -!!! 也就是说该代码群发的话,只能用plain纯文本模式.2.由于我的邮箱服务器是126的,所以建议也使用126邮箱测试,测试的前提是…开发环境:系统:Ubuntu 16.04 LTS版本:python 3.5.2邮箱服务器:stmp.126.com注意:1.不可正文群发带图,不然会被stmp.126.com认定为垃圾邮件,发不出去 - -!!! 也就是说该代码群发的话,只能用plain纯文本模式.2.由于我的邮箱服务器是126的,所以建议也使用126邮箱测试,测试的前提是你需要开通客户端授权,开通后会让你设置密码,那个密码要记好,下面的passwd接收的是授权密码而不是邮箱密码!3.代码中需要改的地方的地方: 发件人/授权密码/收件人/附件中图片的路径,以及下面的图片格式若不需要发附件,把with:代码块隐藏即可下面直接贴代码部分了,我自己已经测试过代码了,在以上环境运行没有问题,群发,单发,附件,邮件正文带图等等.#!/usr/bin/python3# coding:utf-8## 加密SMTP## 使用标准的25端口连接SMTP服务器时使用的是明文传输发送邮件的整个过程可能会被窃听。要更安全地发送邮件可以加密SMTP会话实际上就是先创建SSL安全连接然后再使用SMTP协议发送邮件。#from email import encodersfrom email.header import Headerfrom email.mime.base import MIMEBasefrom email.mime.multipart import MIMEMultipartfrom email.mime.text import MIMETextfrom email.utils import parseaddr, formataddr, formatdateimport smtplib# return Alias_name def _format_addr(s):name, addr parseaddr(s)return formataddr((Header(name, utf-8).encode(), addr))# 接收参数: 发件人地址from_addr 你的邮箱地址# 接收参数: 客户端授权密码passwd 你的客户端授权密码# 接收参数: 收件人地址,可多个to_addrs [exqq.com, ex163.com, exgmail.com]# 接收参数: SMTP服务器(注意:是发件人的smtp服务器)smtp_server smtp.126.com# 接收参数: 邮件主题subject 人生苦短# 接收参数: 邮件正文plain 我用python!# 带附件邮件# 指定subtype为alternative同时支持html和plain格式msg MIMEMultipart(alternative)# 邮件正文中显示图片同时附件的图片将不再显示# plain Hello world and hello me!msg.attach(MIMEText(str(plain), plain, utf-8)) # 纯文本 # html Hello# msg.attach(MIMEText(html, html, utf-8)) # HTML# 添加附件即关联一个MIMEBase图片为本地读取with open(/home/uxeix/Pictures/icon/favicon (Jianshu).ico, rb) as f:# 设置附件中的MIME和文件名mime MIMEBase(image, jpeg, filenamehot.jpg)# 加上必要的头信息mime.add_header(Content-Disposition, attachment,filenamehot.jpg)mime.add_header(Content-ID, 0)mime.add_header(X-Attachment-Id, 0)# 把附件的内容读进来mime.set_payload(f.read())# 用Base64编码encoders.encode_base64(mime)# 添加到MIMEMultipartmsg.attach(mime)# 未指定用户别名则客户端会自动提取邮件地址中的名称作为邮件的用户别名msg[From] _format_addr(from_addr)# msg[To] _format_addr(to_addrs)msg[To] %s % ,.join([_format_addr( % to_addr)for to_addr in to_addrs])msg[Subject] Header(str(subject), utf-8).encode()msg[Date] formatdate()## 发送邮件#try:# SMTP服务器设置(地址,端口):server smtplib.SMTP_SSL(smtp_server, 465)# server.set_debuglevel(1)# 连接SMTP服务器(发件人地址, 客户端授权密码)server.login(from_addr, passwd)# 发送邮件server.sendmail(from_addr, to_addrs, msg.as_string())print(邮件发送成功)except smtplib.SMTPException as e:print(e)print(邮件发送失败)finally:# 退出SMTP服务器server.quit()