Python 初学日记2016.03.17 邮件发送
2016-03-17 本文已影响0人
Zeck
这两天看了下邮件发送这块的文章,写了demo学习简单的邮件发送。
python脚本地址
https://github.com/Achilles-Z/python-learn/blob/master/sendMailSMTP.py
顺带安利下廖大大的教程
http://www.liaoxuefeng.com/wiki/001374738125095c955c1e6d8bb493182103fac9270762a000/001386832745198026a685614e7462fb57dbf733cc9f3ad000
smtplib库的核心部分
# 初始化
smtp = smtplib.SMTP()
# 连接服务器 参数是smtp服务器地址
smtp.connect(smtpserver)
smtp.ehlo()
smtp.starttls()
smtp.ehlo()
# 账号密码登录
smtp.login(username, password)
# 发送邮件,第一个参数是发件人,第二个参数是收件人,第三个是邮件正文内容
smtp.sendmail(msg['From'],receiverlist,msg.as_string())
# 打完收工:)
smtp.quit()
email库主要是拼接邮件正文和邮件内容
可以将邮件拼成html发送,样式和格式会好看很多,但是需要注意收件人的邮箱那边是否支持html,因为有些的厂商是不支持的。
然后还有发件人的邮箱设置问题,发件人的邮箱需要设置smtp/pop3的设选项。
--
记录下这两天踩过的坑
坑1:浮点运算(可能其他语言也会有)
例子 x = 1/2 print x
结果不是0.5 是0!
我在跑脚本计算一个统计值的时候踩的坑。
解决方法:
x = 1/2.0 print x
特别是在 使用 x == y 这样的运算的时候一定需要注意
坑2:文件读取的readline()
例子 line = file.readline() print line
打印出来的时候好好的,但是如果line的内容是需要split然后最后一个就会带上\n
被坑的不要不要的
解决方法:
line = file.readline().replace('\n','') print line