Python讀取本地文檔內容並發送郵件


當需要將本地某個路徑下的文檔內容讀取后並作為郵件正文發送的時候可以參考該文,使用到的模塊包括smtplib,email。

#! /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文本里的內容。


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM