通过一个实例来了解smtplib的使用,这里使用网易邮箱来向QQ邮箱发送邮件。
由于发件人需要连接邮件服务器才能发送邮件,下面提供163邮箱常用的收件、发件服务器的地址和端口:
类型 | 服务器名称 | 服务器地址 |
SSL协议端口号 | 非SSL协议端口号 |
收件服务器 |
POP | pop.163.com | 995 | 110 |
收件服务器 | IMAP | imap.163.com | 993 | 143 |
发件服务器 | SMTP | smtp.163.com | 465/994 | 25 |
Ok,SMTP的经测试可以使用,其它的有需要的也可以试试。
1.邮件发送实例代码与测试
参考了刘天斯老师书本上的代码,自己也做了一些修改,方便自己理解和记忆,如下:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
|
#!/usr/bin/env python
# -*- coding:utf-8 -*-
import
smtplib
Server
=
"smtp.163.com"
# 163邮箱的SMTP服务器地址
Subject
=
"Test email from Python"
# 邮件主题
To
=
"429191942@qq.com"
# 收件人
From
=
"xpleaf@163.com"
# 发件人
Text
=
"This is the email send by xpleaf, from xpleaf@163.com!"
# 邮件内容
Body
=
'\r\n'
.join((
"From: %s"
%
From,
"To: %s"
%
To,
"Subject: %s"
%
Subject,
"",
Text))
s
=
smtplib.SMTP()
# 实例化一个SMTP类
s.connect(Server,
'25'
)
# 连接SMTP服务器
s.starttls()
# 开启TLS(安全传输)模式
s.login(
'xpleaf@163.com'
,
'********'
)
# 登陆到163邮件服务器
s.sendmail(From, [To], Body)
# 发送邮件
s.quit()
# 退出
|
执行上面的脚本,在QQ邮箱中会收到下面这样一封邮件:
2.下一步要做什么
从上面收到的邮件可以看到,邮件的内容比较简陋,都是纯文本的,可以考虑定制邮件的格式从而使邮件的内容更加多样化。
本文转自 xpleaf 51CTO博客,原文链接:http://blog.51cto.com/xpleaf/1903279,如需转载请自行联系原作者