python 傳送郵件 -- 解析配置檔案
阿新 • • 發佈:2019-01-22
昨天做了一個用python傳送郵件的模組。因為是用在專案中,所以寫得比較模組化一點,增加了賬戶的配置檔案,所以其中也用到了Python 配置檔案解析模組。把他們集中在一起,以供新手參考,對有同樣需求的新手,望有所幫助。實現過程中參考了 這兩篇文章,特此感謝 python傳送郵件參考1 和這個 python 配置檔案解析。
傳送郵件模組
import ConfigParser import smtplib from email.mime.text import MIMEText conf = ConfigParser.ConfigParser() conf.read('test.cfg') #sections = conf.sections() #options = conf.options('section_a') mail_to = conf.get('section_a','mail_to') mail_host = conf.get('section_a','mail_host') mail_user = conf.get('section_a','mail_user') mail_passwd = conf.get('section_a','mail_passwd') mail_postfix = conf.get('section_a','mail_postfix') def send_mail(mail_to, subject, content): me = mail_user + '@' + mail_postfix msg = MIMEText(content,_subtype='plain',_charset='utf-8') msg['Subject'] = subject msg['From'] = me msg['To'] = mail_to try: sv = smtplib.SMTP() sv.connect(mail_host) sv.login(mail_user, mail_passwd) sv.sendmail(me,mail_to, msg.as_string()) sv.close() return True except Exception, e: print str(e) return False if __name__ == '__main__': subject = 'Python test' content = 'Nothing in this world is free!' if send_mail(mail_to,subject,content): print 'sent success' else: print 'sent failed'
配置檔案 test.cfg 。當然,上面的例子中 這個檔案是和 .py 檔案是在同一個目錄下的,如果不在,配置路徑就可以。
[section_a]
mail_host = smtp.163.com
mail_user = yourusername
mail_postfix = 163.com
mail_passwd = yourpasswd
mail_to = [email protected]
整個模組就是這樣了,包含了 python 傳送郵件 和 python 配置檔案解析的 主要用法,如果深入學習,可以就裡面出現的具體的部分到 python 的官方文件中閱讀。