代码如下:
#!/usr/bin/python
# encoding=utf-8
# Filename: send_email.py
from email.mime.image import MIMEImage
from email.mime.multipart import MIMEMultipart
from email.mime.text import MIMEText
import smtplib
class SendEmail:
# 构造函数:初始化基本信息
def __init__(self, host, user, passwd):
lInfo = user.split("@")
self._user = user
self._account = lInfo[0]
self._me = self._account + ""
server = smtplib.SMTP()
server.connect(host)
server.login(self._account, passwd)
self._server = server
# 发送文件或html邮件
def sendTxtMail(self, to_list, sub, content, subtype='html'):
# 如果发送的是文本邮件,则_subtype设置为plain
# 如果发送的是html邮件,则_subtype设置为html
msg = MIMEText(content, _subtype=subtype, _charset='utf-8')
msg['Subject'] = sub
msg['From'] = self._me
msg['To'] = ";".join(to_list)
try:
self._server.sendmail(self._me, to_list, msg.as_string())
return True
except Exception, e:
print str(e)
return False
# 发送带附件的文件或html邮件
def sendAttachMail(self, to_list, sub, content, subtype='html'):
# 创建一个带附件的实例
msg = MIMEMultipart()
# 增加附件1
att1 = MIMEText(open(r'D:\javawork\PyTest\src\main.py','rb').read(), 'base64', 'utf-8')
att1["Content-Type"] = 'application/octet-stream'
# 这里的filename可以任意写,写什么名字,邮件中显示什么名字
att1["Content-Disposition"] = 'attachment; filename="main.py"'
msg.attach(att1)
# 增加附件2
att2 = MIMEText(open(r'D:\javawork\PyTest\src\main.py','rb').read(), 'base64', 'utf-8')
att2["Content-Type"] = 'application/octet-stream'
att2["Content-Disposition"] = 'attachment; filename="main.txt"'
msg.attach(att2)
# 增加邮件内容
msg.attach(MIMEText(content, _subtype=subtype, _charset='utf-8'))
msg['Subject'] = sub
msg['From'] = self._me
msg['To'] = ";".join(to_list)
try:
self._server.sendmail(self._me, to_list, msg.as_string())
return True
except Exception, e:
print str(e)
return False
# 发送带附件的文件或html邮件
def sendImageMail(self, to_list, sub, content, subtype='html'):
# 创建一个带附件的实例
msg = MIMEMultipart()
# 增加邮件内容
msg.attach(MIMEText(content, _subtype=subtype, _charset='utf-8'))
# 增加图片附件
image = MIMEImage(open(r'D:\javawork\PyTest\src\test.jpg','rb').read())
#附件列表中显示的文件名
image.add_header('Content-Disposition', 'attachment;filename=p.jpg')
msg.attach(image)
msg['Subject'] = sub
msg['From'] = self._me
msg['To'] = ";".join(to_list)
try:
self._server.sendmail(self._me, to_list, msg.as_string())
return True
except Exception, e:
print str(e)
return False
# 析构函数:释放资源
def __del__(self):
self._server.quit()
self._server.close()
mailto_list = ['xxx@163.com']
mail = SendEmail('smtp.163.com', 'xxx@163.com', 'xxxxxx')
if mail.sendTxtMail(mailto_list, "测试邮件", "hello world!
你好,发送文本文件测试"):
print "发送成功"
else:
print "发送失败"
print "发送成功"
else:
print "发送失败"
if mail.sendAttachMail(mailto_list, "测试邮件-带两个附件", "hello world!
你好,发送文本文件测试"):
print "发送成功"
else:
print "发送失败"
if mail.sendImageMail(mailto_list, "测试邮件-带一个图片的附件", "hello world!
你好,发送文本文件测试"):
print "发送成功"
else:
print "发送失败"
print "发送成功"
else:
print "发送失败"
if mail.sendImageMail(mailto_list, "测试邮件-带一个图片的附件", "hello world!
你好,发送文本文件测试"):
print "发送成功"
else:
print "发送失败"
print "发送成功"
else:
print "发送失败"

一封电子邮件的旅程是:MUA:MailUserAgent——邮件用户代理。(即类似Outlook的电子邮件软件)MTA:MailTransferAgent——邮件传输代理,就是那些Email服务提供商,比如网易、新浪等等。MDA:MailDeliveryAgent——邮件投递代理。Email服务提供商的某个服务器发件人->MUA->MTA->MTA->若

本篇文章给大家带来了关于Python的相关知识,其中主要介绍了关于Seaborn的相关问题,包括了数据可视化处理的散点图、折线图、条形图等等内容,下面一起来看一下,希望对大家有帮助。

本篇文章给大家带来了关于Python的相关知识,其中主要介绍了关于进程池与进程锁的相关问题,包括进程池的创建模块,进程池函数等等内容,下面一起来看一下,希望对大家有帮助。

本篇文章给大家带来了关于Python的相关知识,其中主要介绍了关于简历筛选的相关问题,包括了定义 ReadDoc 类用以读取 word 文件以及定义 search_word 函数用以筛选的相关内容,下面一起来看一下,希望对大家有帮助。

本篇文章给大家带来了关于Python的相关知识,其中主要介绍了关于数据类型之字符串、数字的相关问题,下面一起来看一下,希望对大家有帮助。

VS Code的确是一款非常热门、有强大用户基础的一款开发工具。本文给大家介绍一下10款高效、好用的插件,能够让原本单薄的VS Code如虎添翼,开发效率顿时提升到一个新的阶段。

本篇文章给大家带来了关于Python的相关知识,其中主要介绍了关于numpy模块的相关问题,Numpy是Numerical Python extensions的缩写,字面意思是Python数值计算扩展,下面一起来看一下,希望对大家有帮助。


Hot AI Tools

Undresser.AI Undress
AI-powered app for creating realistic nude photos

AI Clothes Remover
Online AI tool for removing clothes from photos.

Undress AI Tool
Undress images for free

Clothoff.io
AI clothes remover

AI Hentai Generator
Generate AI Hentai for free.

Hot Article

Hot Tools

SublimeText3 Linux new version
SublimeText3 Linux latest version

WebStorm Mac version
Useful JavaScript development tools

Dreamweaver CS6
Visual web development tools

SAP NetWeaver Server Adapter for Eclipse
Integrate Eclipse with SAP NetWeaver application server.

SublimeText3 Chinese version
Chinese version, very easy to use
