所用系统windows7,python版本3.4.2,如果是2.x的话需要将print()修改为print
# -*- coding: utf-8 -*-
import smtplib,sys
from email.mime.multipart import MIMEMultipart
from email.mime.text import MIMEText
from email.mime.application import MIMEApplication
User = 'ak_neo101@163.com'
Pwd = 'Avr96.'
To = ['ak_neo102@163.com','1265921100@qq.com','ak_neo102@sina.com']
SMTP = 'smtp.163.com'
msg = MIMEMultipart()
msg['Subject'] = 'Python Test' #邮件标题
msg['From'] = User #发件人
msg['To'] = To[0] #收件人
#发送HTML数据
HTML = MIMEText("""
HTML表格部分
<table border="1">
<tr>
<th>第一行</th>
<th>元素1</th>
<th>元素2</th>
</tr>
<tr>
<th>第二行</th>
<th>元素1</th>
<th>元素2</th>
</tr>
</table>
HTML文字
""",'html','utf-8')
msg.attach(HTML)
#发送文字部分,当与HTML一块发送时这部分会当做附件,可以考虑在html中嵌入文字
#Text = MIMEText('Python2.x-3.x测试文字')
#msg.attach(Text)
#发送附件
#try:
# bina = MIMEApplication(open('test.xlsx','rb').read())
# bina.add_header('Content-Disposition', 'attachment', filename="test.xlsx")
# msg.attach(bina)
#except Exception:
# print('Open File Error!')
# sys.exit()
try:
server = smtplib.SMTP(SMTP,port=25,timeout=15)
except Exception:
print('SMTP Address Error!')
sys.exit()
#开启TLS安全传输,非必须
try:
server.starttls
except Exception:
print('Start TLS Error!')
sys.exit()
try:
server.login(User,Pwd)
except Exception:
print('Login Error!' )
sys.exit()
ToList = len(To)
for i in range(ToList):
try:
server.sendmail(User,To[i],msg.as_string())
except Exception:
print('Send Mail Error! The address is',To[i])
continue
print('Send SUCCESSFUL!')
server.quit()
本文介绍如何使用Python的smtplib和email模块发送包含HTML表格的邮件,包括邮件的基本设置、HTML数据的创建与附加、附件的发送及SMTP服务器的配置。
1345

被折叠的 条评论
为什么被折叠?



