歡迎您光臨本站 註冊首頁

Python基於smtplib模塊發送郵件代碼實例

←手機掃碼閱讀     sl_ivan @ 2020-06-03 , reply:0

smtplib模塊負責發送郵件:是一個發送郵件的動作,連接郵箱服務器,登錄郵箱,發送郵件(有發件人,收信人,郵件內容)。

email模塊負責構造郵件:指的是郵箱頁面顯示的一些構造,如發件人,收件人,主題,正文,附件等。

email模塊下有mime包,mime英文全稱為“Multipurpose Internet Mail Extensions”,即多用途互聯網郵件擴展,是目前互聯網電子郵件普遍遵循的郵件技術規範。

該mime包下常用的有三個模塊:text,image,multpart。

 import smtplib from email.mime.text import MIMEText from email.mime.multipart import MIMEMultipart from email.header import Header #郵件服務器信息 smtp_server = "smtp.qq.com" port = 465 # For starttls sender_email = "12345689@qq.com" password="" #get password from mailsetting #發送郵件信息,可以發送給多個收件人 receivers=["12345689@163.com","12345689@qq.com"] subject="This is import Python SMTP 郵件(文件傳輸) 多媒體測試" # message = MIMEText(text, "plain", "utf-8") #文本郵件 message = MIMEMultipart() message["Subject"] = Header(subject, "utf-8") message["from"] = sender_email message["to"] = ",".join(receivers) # 郵件正文內容 text=""" Dear Sir: how are you ? for detail information pls refer to attach1。 The files you need are as followed. If you have any concern pls let me known. enjoy your weekend. BEST REGARDS """ # message.attach(MIMEText('for detail information pls refer to attach1。 The files you need are as followed. If you have any concern pls let me known. enjoy your weekend', 'plain', 'utf-8') message.attach(MIMEText(text,'plain','utf-8')) # 構造附件1 attach_file1='IMG1965.JPG' attach1 = MIMEText(open(attach_file1, 'rb').read(), 'base64', 'utf-8') attach1["Content-Type"] = 'application/octet-stream' attach1["Content-Disposition"] = 'attachment; filename={0}'.format(attach_file1) message.attach(attach1) # 構造附件2 attach_file2='YLJ.jpg' attach2 = MIMEText(open(attach_file2, 'rb').read(), 'base64', 'utf-8') attach2["Content-Type"] = 'application/octet-stream' attach2["Content-Disposition"] = 'attachment; filename={0}'.format(attach_file2) message.attach(attach2) # Try to log in to server and send email # server = smtplib.SMTP_SSL(smtp_server,port) server = smtplib.SMTP_SSL(smtp_server,port) try: server.login(sender_email, password) server.sendmail(sender_email,receivers,message.as_string()) print("郵件發送成功!!!") print("Mail with {0} & {1} has been send to {2} successfully.".format(attach_file1,attach_file2,receivers)) except Exception as e: # Print any error messages to stdout print("Error: 無法發送郵件") print(e) finally: server.quit()


結果

郵件發送成功!!!

Mail with IMG1965.JPG & IMG1963.jpg has been send to ['12345689@xx.com', '12345689@xx.com'] successfully.


[sl_ivan ] Python基於smtplib模塊發送郵件代碼實例已經有222次圍觀

http://coctec.com/docs/python/shhow-post-236812.html