小編這次要給大家分享的是Python如何基于smtplib協(xié)議實現(xiàn)發(fā)送郵件,文章內(nèi)容豐富,感興趣的小伙伴可以來了解一下,希望大家閱讀完這篇文章之后能夠有所收獲。
創(chuàng)新互聯(lián)建站是一家專業(yè)提供崇明企業(yè)網(wǎng)站建設(shè),專注與做網(wǎng)站、成都網(wǎng)站制作、HTML5、小程序制作等業(yè)務(wù)。10年已為崇明眾多企業(yè)、政府機構(gòu)等服務(wù)。創(chuàng)新互聯(lián)專業(yè)網(wǎng)站建設(shè)公司優(yōu)惠進行中。SMTP(Simple Mail Transfer Protocol)即簡單郵件傳輸協(xié)議,它是一組用于由源地址到目的地址傳送郵件的規(guī)則,由它來控制信件的中轉(zhuǎn)方式。
python的smtplib提供了一種很方便的途徑發(fā)送電子郵件。它對smtp協(xié)議進行了簡單的封裝。
Python創(chuàng)建 SMTP 對象語法如下:
import smtplib
smtpObj = smtplib.SMTP( [host [, port [, local_hostname]]] )
參數(shù)說明:
代碼如下
#coding=utf-8 """ =========================== Author:多測師_王sir Time:2020/5/20 17:24 Wechat:15367499889 Company:上海多測師信息有限公司 =========================== """ import os import smtplib from email.mime.text import MIMEText from email.mime.application import MIMEApplication from email.mime.multipart import MIMEMultipart from common.handleconfig import conf def send_email(filename, title): """ 發(fā)送郵件的功能函數(shù) :param filename: 文件的路徑 :param title: 郵件的主題 :return: """ # 第一步:連接郵箱的smtp服務(wù)器,并登錄 smtp = smtplib.SMTP_SSL(host=conf.get("email", "host"), port=conf.getint("email", "port")) smtp.login(user=conf.get("email", "user"), password=conf.get("email", "pwd")) # 第二步:構(gòu)建一封郵件 # 創(chuàng)建一封多組件的郵件 msg = MIMEMultipart() with open(filename, "rb") as f: content = f.read() # 創(chuàng)建郵件文本內(nèi)容 text_msg = MIMEText(content, _subtype="html", _charset="utf8") # 添加到多組件的郵件中 msg.attach(text_msg) # 創(chuàng)建郵件的附件 report_file = MIMEApplication(content) report_file.add_header('content-disposition', 'attachment', filename=os.path.split(filename)[-1]) # 將附件添加到多組件的郵件中 msg.attach(report_file) # 主題 msg["Subject"] = title # 發(fā)件人 msg["From"] = conf.get("email", "from_addr") # 收件人 msg["To"] = conf.get("email", "to_addr") # 第三步:發(fā)送郵箱 smtp.send_message(msg, from_addr=conf.get("email", "from_addr"), to_addrs=conf.get("email", "to_addr"))