Python发送qq邮件
第一步: 打开QQ邮箱设置了POP3/SMTP/IMAP的开关。
http://service.mail.qq.com/cgi-bin/help?subtype=1&&id=28&&no=166
第二步: 查询QQ邮箱的POP3与SMTP服务器
http://service.mail.qq.com/cgi-bin/help?subtype=1&no=167&id=28
QQ邮箱 POP3 和 SMTP 服务器地址设置如下:
邮箱 | POP3服务器(端口995) | SMTP服务器(端口465或587) |
qq.com | pop.qq.com | smtp.qq.com |
SMTP服务器需要身份验证。
需要注意的是,各个邮箱的smtp服务器是不一样的。
比如
#qq
smtp.qq.com
#163
smtp.163.com
#gmail
smtp.gmail.com
#126
smtp.126.com
第三步: 参考网上代码
[python] view plaincopy
1. import smtplib
2. from email.mime.text import MIMEText
3. _user = "sigeken@qq.com"
4. _pwd = "***"
5. _to = "402363522@qq.com"
6.
7. #使用MIMEText构造符合smtp协议的header及body
8. msg = MIMEText("hi frank")
9. msg["Subject"] = "don't panic"
10.msg["From"] = _user
11.msg["To"] = _to
12.
13.s = smtplib.SMTP("smtp.qq.com", timeout=30)#连接smtp邮件服务器,端口默认是25
14.s.login(_user, _pwd)#登陆服务器
15.s.sendmail(_user, _to, msg.as_string())#发送邮件
16.s.close()
第四步: 报错的处理
比如以上代码,如果报错:Asecure connection is requiered(such as ssl)。
把代码
smtplib.SMTP("smtp.qq.com", timeout=30)
换成:
smtp = smtplib.SMTP_SSL("smtp.qq.com", timeout=30)。
参考:
http://blog.csdn.net/handsomekang/article/details/9785411