當須要將本地某個路徑下的文檔內容讀取後並做爲郵件正文發送的時候能夠參考該文,使用到的模塊包括smtplib,email。python
#! /usr/bin/env python3 # -*- coding:utf-8 -*- # Author: Tdcqma import smtplib,email chst = email.charset.Charset(input_charset = 'utf-8') # header裏分別定義發件人,收件人以及郵件主題。 header = ("From: %s\nTo: %s\nSubject: %s\n\n" % ("sendmail@163.com", "receivemail@163.com", chst.header_encode("Mail Test"))) # 打開目標文檔後讀取並保存至msg這個多行str變量裏。 f = open("./test121.txt",'r',encoding='utf-8') msg = ''' ''' while True: line = f.readline() msg += line.strip()+'\n' if not line: break f.close() # 對header和msg郵件正文進行utf-8編碼,指定發信人的smtp服務器,並輸入郵箱密碼進行登陸驗證,最後發送郵件。 email_con = header.encode('utf-8') + msg.encode('utf-8') smtp = smtplib.SMTP("smtp.163.com") smtp.login("sendmail@163.com","sendmail_passwd") smtp.sendmail('sendmail@163.com','receivemail@163.com',email_con) smtp.quit()
運行以上代碼,收到郵件內容跟以下所示,其中郵件正文的內容即爲./test121.txt文本里的內容。服務器