您好,登錄后才能下訂單哦!
Python 實現使用office365郵箱的方法?很多新手對此不是很清楚,為了幫助大家解決這個難題,下面小編將為大家詳細講解,有這方面需求的人可以來學習下,希望你能有所收獲。
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 #發送地址 self.title = title # 標題 self.content = content # 發送內容 self.sys_sender = 'xx@office365.com' # 系統賬戶 self.sys_pwd = '123456' # 系統賬戶密碼 def send(self,file_list): """ 發送郵件 :param file_list: 附件文件列表 :return: bool """ try: # 創建一個帶附件的實例 msg = MIMEMultipart() # 發件人格式 msg['From'] = formataddr(["", self.sys_sender]) # 收件人格式 msg['To'] = formataddr(["", self.sender]) # 郵件主題 msg['Subject'] = self.title # 郵件正文內容 msg.attach(MIMEText(self.content, 'plain', 'utf-8')) # 多個附件 for file_name in file_list: print("file_name",file_name) # 構造附件 xlsxpart = MIMEApplication(open(file_name, 'rb').read()) # filename表示郵件中顯示的附件名 xlsxpart.add_header('Content-Disposition','attachment',filename = '%s'%file_name) msg.attach(xlsxpart) # SMTP服務器 server = smtplib.SMTP("smtp.office365.com", 587,timeout=10) server.ehlo() server.starttls() # 登錄賬戶 server.login(self.sys_sender, self.sys_pwd) # 發送郵件 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__': # 發送地址 sender = "12345678@qq.com" # 標題 title = "測試告警" # 開始時間 start_time = time.strftime('%Y-%m-%d %H:%M:%S') ip = "xx.xx.xx.xx" # 發送內容 content = "{} ip: {} 掉線".format(start_time,ip) # 附件列表 file_list = [] ret = SendMail(sender, title, content).send(file_list) print(ret,type(ret))
看完上述內容是否對您有幫助呢?如果還想對相關知識有進一步的了解或閱讀更多相關文章,請關注億速云行業資訊頻道,感謝您對億速云的支持。
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。