四十三 python 封裝郵件傳送附件(文字)內容

2021-08-27 18:53:12 字數 1699 閱讀 6028

取名 send_email.py  **如下:

#coding:utf-8

import smtplib

from email.mime.text import mimetext

from email.mime.multipart import mimemultipart

import os

def send_email():

smtpserver = "smtp.163.com" #傳送伺服器

port = 0 #埠

sender = "13****[email protected]" #寄件人賬號

psw = "c****x6" #授權碼密碼(在郵箱設定裡面設定)

receiver = ['17***6*[email protected]','1****[email protected]'] #接受者

subject= "主題:這是乙個自動化測試報告"

#建立乙個帶附件的例項

msg = mimemultipart()

msg['from'] = sender

msg['to'] =';'.join(receiver) #多人接受時寫法

msg['subject'] =subject

#構造附件:

#先讀附件

test_report = os.path.join(os.path.dirname(os.path.realpath(__file__)),"result.html")

with open(test_report, "rb") as fp:

mail_body = fp.read()

# 郵件正文內容:

# msg.attach(mimetext("這是乙個帶附件的郵件", 'plain', 'utf-8')) #正文是以文字存在時

msg.attach(mimetext(mail_body, 'html', 'utf-8')) #正文以html存在時

#以下是寫附件的格式:

att = mimetext(mail_body,"base64",'utf-8')

att["content-disposition"]='attachment;filename="report_test.html"' #filename是重名附件名字

msg.attach(att)

#同事相容163和qq郵箱的登入方法

try:

smtp=smtplib.smtp()

smtp.connect(smtpserver)

smtp.login(sender,psw) #登入

except:

smtp = smtplib.smtp_ssl(smtpserver,port)

smtp.login(sender,psw)

#smtp.login(sender,psw) #登入

smtp.sendmail(sender,receiver,msg.as_string()) #傳送 as_string 作為字串型別傳送msg['to'].split(",")

smtp.quit()

if __name__=="__main__":

send_email()

python第四十三課 封裝性

1.物件導向的三大特性 封裝性 繼承性 多型性 封裝 封裝使用的領悟 1 生活層面 食品 快遞 計算機 明星.2 計算機層面 模組 類 函式.屬性資料的封裝與隱藏 許可權修飾符的概念 public 公共的,範圍最大 protected 收保護的 default 預設,預設 private 私有的,範...

資訊函式(四十三)

下面我們來看一下資訊函式,在資訊函式當中,有下面幾個比較常見的 下面我們乙個乙個來給大家簡單演示一下。1 connection id 函式 比如我們輸入select connection id 當然不同的使用者連線id肯定是不一樣的,因為肯定是多執行緒的。2 database 函式 返回當前資料庫,...

python四十三 靜態屬性,類方法

靜態屬性 property 既可以訪問類屬性,也可以訪問例項屬性 class phone def init self,brand,color,version self.brand brand self.color color self.version version 相當於把函式屬性編變成了資料屬性...