Python 使用office365郵箱的示例
一、概述
最近遇到一個(gè)需求,需要使用office365郵箱發(fā)送郵件,使用SSL發(fā)送會(huì)失敗,必須使用TLS加密協(xié)議才能發(fā)送成功。
二、完整代碼
使用類封裝了一下,功能如下:
1. 支持附件
2. 支持多個(gè)發(fā)件人
3. 執(zhí)行TLS
MailTools.py
#!/usr/bin/env python3 # coding: utf-8 import smtplib # 加載smtplib模塊 from email.mime.text import MIMEText from email.utils import formataddr from email.mime.multipart import MIMEMultipart from email.mime.application import MIMEApplication import time class SendMail(object): def __init__(self,sender,title,content): self.sender = sender #發(fā)送地址 self.title = title # 標(biāo)題 self.content = content # 發(fā)送內(nèi)容 self.sys_sender = 'xx@office365.com' # 系統(tǒng)賬戶 self.sys_pwd = '123456' # 系統(tǒng)賬戶密碼 def send(self,file_list): """ 發(fā)送郵件 :param file_list: 附件文件列表 :return: bool """ try: # 創(chuàng)建一個(gè)帶附件的實(shí)例 msg = MIMEMultipart() # 發(fā)件人格式 msg['From'] = formataddr(["", self.sys_sender]) # 收件人格式 msg['To'] = formataddr(["", self.sender]) # 郵件主題 msg['Subject'] = self.title # 郵件正文內(nèi)容 msg.attach(MIMEText(self.content, 'plain', 'utf-8')) # 多個(gè)附件 for file_name in file_list: print("file_name",file_name) # 構(gòu)造附件 xlsxpart = MIMEApplication(open(file_name, 'rb').read()) # filename表示郵件中顯示的附件名 xlsxpart.add_header('Content-Disposition','attachment',filename = '%s'%file_name) msg.attach(xlsxpart) # SMTP服務(wù)器 server = smtplib.SMTP("smtp.office365.com", 587,timeout=10) server.ehlo() server.starttls() # 登錄賬戶 server.login(self.sys_sender, self.sys_pwd) # 發(fā)送郵件 server.sendmail(self.sys_sender, [self.sender, ], msg.as_string()) # 退出賬戶 server.quit() return True except Exception as e: print(e) return False if __name__ == '__main__': # 發(fā)送地址 sender = "12345678@qq.com" # 標(biāo)題 title = "測(cè)試告警" # 開始時(shí)間 start_time = time.strftime('%Y-%m-%d %H:%M:%S') ip = "xx.xx.xx.xx" # 發(fā)送內(nèi)容 content = "{} ip: {} 掉線".format(start_time,ip) # 附件列表 file_list = [] ret = SendMail(sender, title, content).send(file_list) print(ret,type(ret))
注意:請(qǐng)根據(jù)實(shí)際情況,修改郵件賬號(hào)和密碼。
以上就是Python 使用office365郵箱的示例的詳細(xì)內(nèi)容,更多關(guān)于python 使用office郵箱的資料請(qǐng)關(guān)注腳本之家其它相關(guān)文章!
相關(guān)文章
python爬蟲利器之requests庫的用法(超全面的爬取網(wǎng)頁案例)
這篇文章主要介紹了python爬蟲利器之requests庫的用法(超全面的爬取網(wǎng)頁案例),本文通過實(shí)例代碼給大家介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友可以參考下2020-12-12Python正則表達(dá)式字符串的匹配、替換、分割、查找方式
這篇文章主要介紹了Python正則表達(dá)式字符串的匹配、替換、分割、查找方式,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教2023-07-07python 編寫簡(jiǎn)單網(wǎng)頁服務(wù)器的實(shí)例
今天小編就為大家分享一篇python 編寫簡(jiǎn)單網(wǎng)頁服務(wù)器的實(shí)例,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過來看看吧2018-06-06