Python基于smtplib協(xié)議實(shí)現(xiàn)發(fā)送郵件
SMTP(Simple Mail Transfer Protocol)即簡(jiǎn)單郵件傳輸協(xié)議,它是一組用于由源地址到目的地址傳送郵件的規(guī)則,由它來控制信件的中轉(zhuǎn)方式。
python的smtplib提供了一種很方便的途徑發(fā)送電子郵件。它對(duì)smtp協(xié)議進(jìn)行了簡(jiǎn)單的封裝。
Python創(chuàng)建 SMTP 對(duì)象語法如下:
import smtplib
smtpObj = smtplib.SMTP( [host [, port [, local_hostname]]] )
參數(shù)說明:
- host: SMTP 服務(wù)器主機(jī)。 你可以指定主機(jī)的ip地址或者域名如: runoob.com,這個(gè)是可選參數(shù)。
- port: 如果你提供了 host 參數(shù), 你需要指定 SMTP 服務(wù)使用的端口號(hào),一般情況下 SMTP 端口號(hào)為25。
- local_hostname: 如果 SMTP 在你的本機(jī)上,你只需要指定服務(wù)器地址為 localhost 即可。
代碼如下
#coding=utf-8 """ =========================== Author:多測(cè)師_王sir Time:2020/5/20 17:24 Wechat:15367499889 Company:上海多測(cè)師信息有限公司 =========================== """ 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"))
以上就是本文的全部?jī)?nèi)容,希望對(duì)大家的學(xué)習(xí)有所幫助,也希望大家多多支持腳本之家。
相關(guān)文章
Pytorch:dtype不一致問題(expected dtype Double but&
這篇文章主要介紹了Pytorch:dtype不一致問題(expected dtype Double but got dtype Float),具有很好的參考價(jià)值,希望對(duì)大家有所幫助。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教2023-02-02解決python中os.listdir()函數(shù)讀取文件夾下文件的亂序和排序問題
今天小編就為大家分享一篇解決python中os.listdir()函數(shù)讀取文件夾下文件的亂序和排序問題,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過來看看吧2018-10-10Python web如何在IIS發(fā)布應(yīng)用過程解析
這篇文章主要介紹了Python web如何在IIS發(fā)布應(yīng)用過程解析,文中通過示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友可以參考下2020-05-05Python標(biāo)準(zhǔn)庫之循環(huán)器(itertools)介紹
這篇文章主要介紹了Python標(biāo)準(zhǔn)庫之循環(huán)器(itertools)介紹,本文講解了無窮循環(huán)器、函數(shù)式工具、組合工具、groupby()、其它工具等內(nèi)容,需要的朋友可以參考下2014-11-11Pycharm中import?torch報(bào)錯(cuò),python中import?torch不報(bào)錯(cuò)的解決
這篇文章主要介紹了Pycharm中import?torch報(bào)錯(cuò),python中import?torch不報(bào)錯(cuò)的解決方案,具有很好的參考價(jià)值,希望對(duì)大家有所幫助,如有錯(cuò)誤或未考慮完全的地方,望不吝賜教2024-01-01python生成隨機(jī)數(shù)、隨機(jī)字符、隨機(jī)字符串的方法示例
這篇文章主要介紹了python生成隨機(jī)數(shù)、隨機(jī)字符、隨機(jī)字符串的方法示例,文中通過示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧2021-04-04詳解OpenCV中直方圖,掩膜和直方圖均衡化的實(shí)現(xiàn)
這篇文章主要為大家詳細(xì)介紹了OpenCV中直方圖、掩膜、直方圖均衡化詳細(xì)介紹及代碼的實(shí)現(xiàn),文中的示例代碼講解詳細(xì),需要的可以參考一下2022-11-11