1.实现邮件的发送功能
2.基础使用
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
|
import
smtplib
##导入模块
import
string
HOST
=
"smtp.163.com"
##定义远程smtp主机
SUBJECT
=
" TEST"
##定义发送主题
TO
=
"1287112485@qq.com"
##定义接收主机
FROM
=
"18502942450@163.com"
##定义发送主机
text
=
"python"
## ##定义邮件内容
BODY
=
string.join((
##定义发送格式内容
"From: %s"
%
FROM,
"To : %s"
%
TO,
"Subject: %s "
%
SUBJECT,
"",
text
),
"\r\n"
)
server
=
smtplib.SMTP()
##实例化
server.connect(HOST,
"25"
)
##连接远程主机
server.starttls()
##启用TLS(安全传输)模式
server.login(
"18502942450@163.com"
,
"ws128711"
)
##校验远程主机
server.sendmail(FROM,[TO],BODY)
##邮件发送功能[发送人,接收人,内容]
server.quit()
|
## 出现550错误时,打开邮箱客户端授权码
测试
3.个性化邮件
MIME类:它是一个互联网标准,扩展了电子邮件标准,使其能够支持,非ASCII字符文本;非文本格式附件(二进制、声音、图像等),由多部分(multiple parts)组成的消息体,包含非ASCII字符的头信息。
实例:发送html文件
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
|
import
smtplib
from
email.mime.text
import
MIMEText
##导入MIMEText类
import
string
HOST
=
"smtp.163.com"
SUBJECT
=
" TEST"
TO
=
"1287112485@qq.com"
FROM
=
"18502942450@163.com"
msg
=
MIMEText(
""" ##创建MIME对象,制定HTML内容,类型,字符编码等
<html>
<head>
<meta http-equiv="Content-Type"
content="text/html; charset=ISO-8859-1" />
<title></title>
<style type="text/css">
table.diff {font-family:Courier; border:medium;}
.diff_header {background-color:#e0e0e0}
td.diff_header {text-align:right}
.diff_next {background-color:#c0c0c0}
.diff_add {background-color:#aaffaa}
.diff_chg {background-color:#ffff77}
.diff_sub {background-color:#ffaaaa}
</style>
</head>
<body>
<table class="diff" id="difflib_chg_to0__top"
cellspacing="0" cellpadding="0" rules="groups" >
<colgroup></colgroup> <colgroup></colgroup> <colgroup></colgroup>
<colgroup></colgroup> <colgroup></colgroup> <colgroup></colgroup>
<tbody>
<tr><td class="diff_next" id="difflib_chg_to0__0"><a href="#difflib_chg_to0__0">f</a></td><td class="diff_header" id="from0_1">1</td><td nowrap="nowrap"></td><td class="diff_next"><a href="#difflib_chg_to0__0">f</a></td><td class="diff_header" id="to0_1">1</td><td nowrap="nowrap"></td></tr>
<tr><td class="diff_next"><a href="#difflib_chg_to0__top">t</a></td><td class="diff_header" id="from0_2">2</td><td nowrap="nowrap">wwwwdwed</td><td class="diff_next"><a href="#difflib_chg_to0__top">t</a></td><td class="diff_header" id="to0_2">2</td><td nowrap="nowrap">wwwwdwed<span class="diff_add">efwe</span></td></tr>
<tr><td class="diff_next"></td><td class="diff_header" id="from0_3">3</td><td nowrap="nowrap"><span class="diff_sub">wwwdwqed </span></td><td class="diff_next"></td><td class="diff_header" id="to0_3">3</td><td nowrap="nowrap"><span class="diff_add">wwdwqedewf</span></td></tr>
<tr><td class="diff_next"></td><td class="diff_header" id="from0_4">4</td><td nowrap="nowrap">wwefwe</td><td class="diff_next"></td><td class="diff_header" id="to0_4">4</td><td nowrap="nowrap">wwefwe</td></tr>
<tr><td class="diff_next"></td><td class="diff_header" id="from0_5">5</td><td nowrap="nowrap">wwgwte</td><td class="diff_next"></td><td class="diff_header" id="to0_5">5</td><td nowrap="nowrap">wwgwte</td></tr>
<tr><td class="diff_next"></td><td class="diff_header" id="from0_6">6</td><td nowrap="nowrap">wtgq</td><td class="diff_next"></td><td class="diff_header" id="to0_6">6</td><td nowrap="nowrap">wtgq</td></tr>
</tbody>
</table>
<table class="diff" summary="Legends">
<tr> <th colspan="2"> Legends </th> </tr>
<tr> <td> <table border="" summary="Colors">
<tr><th> Colors </th> </tr>
<tr><td class="diff_add"> Added </td></tr>
<tr><td class="diff_chg">Changed</td> </tr>
<tr><td class="diff_sub">Deleted</td> </tr>
</table></td>
<td> <table border="" summary="Links">
<tr><th colspan="2"> Links </th> </tr>
<tr><td>(f)irst change</td> </tr>
<tr><td>(n)ext change</td> </tr>
<tr><td>(t)op</td> </tr>
</table></td> </tr>
</table>
</body>
</html>
"""
,"html",
'utf-8'
)
msg[
"Subject"
]
=
SUBJECT
##邮件主题
msg[
"From"
]
=
FROM
msg[
"to"
]
=
TO
try
:
server
=
smtplib.SMTP()
server.connect(HOST,
"25"
)
server.starttls()
server.login(
"18502942450@163.com"
,
"ws128711"
)
server.sendmail(FROM,[TO],msg.as_string())
server.quit()
##断开连接
print
"ok"
except
Exception,e:
print
"error:"
+
str
(e)
|
测试
本文转自 red777 51CTO博客,原文链接:http://blog.51cto.com/12314711/1971457