這兩天看了下郵件發(fā)送這塊的文章割择,寫了demo學(xué)習(xí)簡單的郵件發(fā)送缸托。
python腳本地址
https://github.com/Achilles-Z/python-learn/blob/master/sendMailSMTP.py
順帶安利下廖大大的教程
http://www.liaoxuefeng.com/wiki/001374738125095c955c1e6d8bb493182103fac9270762a000/001386832745198026a685614e7462fb57dbf733cc9f3ad000
smtplib庫的核心部分
# 初始化
smtp = smtplib.SMTP()
# 連接服務(wù)器 參數(shù)是smtp服務(wù)器地址
smtp.connect(smtpserver)
smtp.ehlo()
smtp.starttls()
smtp.ehlo()
# 賬號密碼登錄
smtp.login(username, password)
# 發(fā)送郵件,第一個(gè)參數(shù)是發(fā)件人,第二個(gè)參數(shù)是收件人,第三個(gè)是郵件正文內(nèi)容
smtp.sendmail(msg['From'],receiverlist,msg.as_string())
# 打完收工:)
smtp.quit()
email庫主要是拼接郵件正文和郵件內(nèi)容
可以將郵件拼成html發(fā)送谎仲,樣式和格式會好看很多,但是需要注意收件人的郵箱那邊是否支持html逞频,因?yàn)橛行┑膹S商是不支持的进泼。
然后還有發(fā)件人的郵箱設(shè)置問題,發(fā)件人的郵箱需要設(shè)置smtp/pop3的設(shè)選項(xiàng)竖共。
--
記錄下這兩天踩過的坑
坑1:浮點(diǎn)運(yùn)算(可能其他語言也會有)
例子 x = 1/2 print x
結(jié)果不是0.5 是0!
我在跑腳本計(jì)算一個(gè)統(tǒng)計(jì)值的時(shí)候踩的坑蝙叛。
解決方法:
x = 1/2.0 print x
特別是在 使用 x == y 這樣的運(yùn)算的時(shí)候一定需要注意
坑2:文件讀取的readline()
例子 line = file.readline() print line
打印出來的時(shí)候好好的,但是如果line的內(nèi)容是需要split然后最后一個(gè)就會帶上\n
被坑的不要不要的
解決方法:
line = file.readline().replace('\n','') print line