成人在线亚洲_国产日韩视频一区二区三区_久久久国产精品_99国内精品久久久久久久

您的位置:首頁技術文章
文章詳情頁

基于python SMTP實現自動發送郵件教程解析

瀏覽:4日期:2022-07-23 14:55:49

最近工作中的一個項目需要自動發送一些信息郵件到指定郵箱的需求,那么如何實現Python自動發送郵件的功能呢?接下來我們就來簡單的介紹下如何利用Python來實現自動發送郵件的功能。

Python SMTP發送郵件

SMTP(Simple Mail Transfer Protocol)即簡單郵件傳輸協議 ,說白了就是發送郵件的協議,python的smplib庫對SMTP協議進行了簡單的封裝,提供了對SMTP的支持,可以發送純文本郵件、HTML文件以及帶附件的郵件。

首先我們構建一個SendEmailManager類,也是遵循著面向對象編程的思想來做,大體結構如下:

class SendEmailManager(object): def __init__(self, **kwargs): # 初始化參數 ... def _get_conf(self, key): # 獲取配置參數 ... def _init_conf(self): # 初始化配置參數 ... def _login_email(self): # 登錄郵箱服務器 ... def _make_mail_msg(self): # 構建文本郵件對象 ... def do_send_mail(self): # 郵件發送 ...

def __init__(self, **kwargs)

類的初始化函數,可以用來設置對象屬性,并給予初始值,可以是參數或者固定值 ,其中參數**kwargs是將一個可變的關鍵字參數的字典傳給函數實參,這里里我們主要是對SMTP服務器(這里使用qq郵箱)、發送郵件的代理郵箱、在郵箱中設置的客戶端授權密碼、可變參數進行一些初始化。具體代碼如下:

# SMTP服務器,這里使用qq郵箱,其他郵箱自行百度EMAIL_HOST = ’smtp.qq.com’# 發送郵件的代理郵箱EMAIL_HOST_USER = ’xxxx@xxxx.com’# 在郵箱中設置的客戶端授權密碼, 注意這里不是郵箱密碼,如何獲取郵箱授權碼,請看本文最后教程EMAIL_HOST_PASSWORD = ’xxxxxxxxxxxxx’def __init__(self, **kwargs): # 初始化參數 self.email_host = EMAIL_HOST self.email_host_user = EMAIL_HOST_USER self.email_host_pass = EMAIL_HOST_PASSWORD self.kwargs = kwargs

def _get_conf(self, key)

主要負責通過key讀取 可變參數self.kwargs 字典里的值,供其他函數使用。

def _get_conf(self, key): # 獲取配置參數 value = self.kwargs.get(key) if key != 'attach_file_list' and (value is None or value == ’’): raise Exception('configuration parameter ’%s’ cannot be empty' % key) return value

def _init_conf(self)

該函數主要負責初始化 函數_get_conf 返回的配置參數, 以便接下來的函數可以調用相關配置參數。

def _init_conf(self): # 初始化配置參數 print(self._get_conf(’receives’)) self.receives = self._get_conf(’receives’) self.msg_subject = self._get_conf(’msg_subject’) self.msg_content = self._get_conf(’msg_content’) self.msg_from = self._get_conf(’msg_from’) # attachment self.attach_file_list = self._get_conf(’attach_file_list’)

def _login_email(self)

登錄郵件服務器, 我這里登陸的是qq郵箱的服務器,端口號為465,其他郵箱端口號請自行百度,代碼如下:

def _login_email(self): # 登錄郵箱服務器 try: server = smtplib.SMTP_SSL(self.email_host, port=465) # set_debuglevel(1)可以打印出和SMTP服務器交互的所有信息 server.set_debuglevel(1) # 登錄郵箱 server.login(self.email_host_user, self.email_host_pass) return server except Exception as e: print('mail login exception:', e) raise e

def _make_mail_msg(self)

該函數的功能為構建一個郵件實例對象,來處理郵件的內容。一封正常的郵件一般有收發件者信息,郵件主題,郵件正文,有些郵件還附帶有附件,具體的設置參見如下代碼:

def _make_mail_msg(self): # 構建郵件對象 msg = MIMEMultipart() msg.attach(MIMEText(self.msg_content, ’plain’, ’utf-8’)) # 郵件主題 msg[’Subject’] = Header(self.msg_subject, 'utf-8') # 發件人郵箱信息 msg[’From’] = '<%s>' % self.msg_from # msg[’From’] = Header(self.msg_from + '<%s>' % self.email_host_user, 'utf-8') msg[’To’] = ','.join(self.receives) print('---', self.attach_file_list) if self.attach_file_list: for i, att in enumerate(self.attach_file_list): # 構造附件,傳送當前目錄下的文件 if not att:break att_i = MIMEText(open(att, ’rb’).read(), ’base64’, ’utf-8’) att_i['Content-Type'] = ’application/octet-stream’ # 這里的filename可以任意寫,寫什么名字,郵件中顯示什么名字 att_i['Content-Disposition'] = ’attachment; filename='%s'’ % att msg.attach(att_i) return msg

def do_send_mail(self)

發送郵件,就是把上幾個函數串起來,直接上代碼:

def do_send_mail(self): # 郵件發送 try: self._init_conf() server = self._login_email() msg = self._make_mail_msg() server.sendmail(self.email_host_user, self.receives, msg.as_string()) server.close() print('發送成功!') except Exception as e: print('郵件發送異常', e)

配置參數,測試能否正常發送郵件:

if __name__ == '__main__': mail_conf = { ’msg_from’: ’xxxx@qq.com’, # 郵件發送者的地址 ’receives’: [’xxxx@qq.com’, ’xxxxxxxx@xxxx.com’, ], # 郵件接收者的地址,這是個list,因為郵件的接收者可能不止一個 ’msg_subject’: ’Python 自動發送郵件測試!!’, # 郵件的主題 ’msg_content’: ’人生苦短,我用python!!!’, # 郵件的內容 ’attach_file_list’: {'test_file1.py': 'test.py', 'test_file2.pem': './public.pem'}, # 為附件文件路徑列表,也是個list,也可沒有這項 } manager = SendEmailManager(**mail_conf) manager.do_send_mail()

基于python SMTP實現自動發送郵件教程解析

ok,發送成功,添加附件也是沒問題的。

開始我們講的獲取客戶端郵箱的授權碼,教程如下(以qq郵箱為例):

基于python SMTP實現自動發送郵件教程解析

好了,目標完成。

以上就是本文的全部內容,希望對大家的學習有所幫助,也希望大家多多支持好吧啦網。

標簽: Python 編程
相關文章:
成人在线亚洲_国产日韩视频一区二区三区_久久久国产精品_99国内精品久久久久久久
97超碰欧美中文字幕| 国产自产在线视频一区| 欧美阿v一级看视频| 91麻豆精品91久久久久久清纯| 亚洲愉拍自拍另类高清精品| 精品9999| 国产片一区二区| av中文字幕在线不卡| 91精品黄色片免费大全| 毛片一区二区三区| 久久综合九色综合久99| 亚洲高清视频在线| 国产精品毛片在线| 亚洲卡通动漫在线| 尤物网精品视频| 日韩精品一区二区三区在线播放 | 亚洲综合一区二区三区| 在线观看成人一级片| 国产精品久线在线观看| 亚洲欧美亚洲| 国产蜜臀av在线一区二区三区| 成人av在线影院| 欧美一区二区性放荡片| 国产中文字幕一区| 欧美蜜桃一区二区三区| 玖玖九九国产精品| 在线亚洲一区二区| 久久精品国产精品亚洲精品| 欧美日韩免费在线视频| 久草中文综合在线| 777奇米四色成人影色区| 国产精品资源在线观看| 日韩欧美在线影院| 国产91对白在线观看九色| 国产精品人妖ts系列视频| 狠狠综合久久av一区二区老牛| 日韩一区有码在线| 一区二区动漫| 亚洲国产一区二区三区青草影视| 久久久777| 精品中文av资源站在线观看| 91精品午夜视频| 成人激情黄色小说| 日本一区二区三区高清不卡| 激情综合视频| 一区二区三区av电影| 亚洲综合国产| 日韩激情一区二区| 欧美一级电影网站| 欧美大片专区| 亚洲综合图片区| 色88888久久久久久影院按摩| 国内精品视频666| 91精品国产麻豆国产自产在线 | 韩日视频一区| 亚洲成人午夜电影| 91国在线观看| 懂色av中文字幕一区二区三区| 亚洲精品在线网站| 最新国产拍偷乱拍精品| 日本午夜一区二区| 欧美一区二区三区不卡| 色综合久久中文字幕综合网| 中文字幕在线免费不卡| 免费久久久一本精品久久区 | 这里是久久伊人| 欧美三级不卡| 一区二区三区美女| 欧美日韩免费一区二区三区| 99久久久久久| 亚洲综合色丁香婷婷六月图片| 欧美肥妇bbw| 欧美亚韩一区| 午夜精品爽啪视频| 日韩一级二级三级精品视频| 欧美一区二区| 亚洲自拍偷拍av| 欧美精品久久99| 91免费国产视频网站| 亚洲一区在线看| 91精品在线观看入口| 亚洲丰满在线| 国内精品第一页| 国产三级一区二区三区| 性色一区二区| 99久久免费精品| 亚洲午夜久久久久中文字幕久| 这里只有精品99re| 亚洲三级观看| 国产精品亚洲综合一区在线观看| 欧美激情一区二区三区蜜桃视频 | 日本欧美大码aⅴ在线播放| 欧美成人综合网站| 亚洲精品在线免费| 国内精品第一页| 亚洲色图视频网| 欧美妇女性影城| 在线观看不卡| 国产成人精品亚洲777人妖| 一区二区三区在线播| 欧美一区二区国产| 亚洲视频1区| 国产盗摄女厕一区二区三区| 亚洲丝袜制服诱惑| 91精品在线麻豆| 国产一区二区三区久久久久久久久| 国产丶欧美丶日本不卡视频| 亚洲精品视频在线| 欧美一区二区三区小说| 亚洲综合二区| 欧美精品日本| 国产精品综合视频| 丝袜国产日韩另类美女| 国产日韩欧美综合一区| 欧美性视频一区二区三区| 色综合一区二区三区| 蜜臀a∨国产成人精品| 欧美国产精品中文字幕| 欧美在线播放高清精品| 亚洲视频碰碰| 高清beeg欧美| 人人精品人人爱| 亚洲三级理论片| 国产亚洲自拍一区| 欧美美女激情18p| 亚洲在线国产日韩欧美| 女人天堂亚洲aⅴ在线观看| 久久成人综合网| 一区二区三区日韩在线观看| 2020国产精品自拍| 欧美午夜免费电影| 国产视频一区欧美| 91丝袜美女网| 国产综合久久久久影院| 亚洲在线一区二区三区| 国产婷婷色一区二区三区四区 | 国产婷婷精品av在线| 欧美一区二区三区影视| 色综合激情五月| 日韩午夜高潮| 欧美精品大片| 成人黄色在线网站| 久久精品国产99久久6| 亚洲午夜免费视频| 中文字幕亚洲不卡| 久久精品欧美一区二区三区不卡 | 日韩影视精彩在线| 亚洲精品你懂的| 欧美激情在线观看视频免费| 欧美电视剧免费观看| 欧美在线观看禁18| 久久精品卡一| 国产一区二区三区的电影| 亚洲高清自拍| 欧美 日韩 国产一区二区在线视频 | 日一区二区三区| 一区二区视频在线| 国产精品久久久久影视| 国产欧美一区二区三区在线看蜜臀| 欧美成人伊人久久综合网| 欧美欧美午夜aⅴ在线观看| 久久在线视频| 久久婷婷久久| 久久久精品性| 国产精品综合| 91久久精品国产91久久性色tv| 激情成人综合| 国内久久精品| 亚洲视频一区| 欧美日本在线| 欧美午夜视频在线| 欧美+日本+国产+在线a∨观看| youjizz久久| 不卡在线观看av| 波多野结衣欧美| www.日韩av| 91在线porny国产在线看| av中文字幕一区| 99精品偷自拍| 97精品电影院| 欧美精品导航| 亚洲一二三区精品| 日韩五码在线| 久久国产欧美精品| 一本色道久久综合精品竹菊| 久久一区二区三区av| 色欧美乱欧美15图片| 色乱码一区二区三区88 | 中文字幕欧美日韩一区| 国产欧美日产一区| 国产精品色噜噜| 一区二区视频免费在线观看| 五月天精品一区二区三区| 日韩精品免费专区| 乱一区二区av| 韩国av一区二区三区| 成人午夜伦理影院| 欧美淫片网站| 亚洲欧洲日本mm| 色综合久久久网|