摘要:郵箱傳輸協議簡單郵件傳輸協議由源地址到目的地址的傳輸規則郵箱服務器默認端口生成第三方登錄郵箱的密鑰,這樣從第三方登錄郵箱,不能輸入密碼,只需要輸入第三方密鑰就行需要使用到的庫主要是負責發送郵件,連接郵箱服務器,登錄郵箱構造郵件,郵件顯示的內
QQ郵箱傳輸協議
SMTP:簡單郵件傳輸協議(由源地址到目的地址的傳輸規則)
smtp.qq.com :QQ郵箱服務器
默認端口:25
生成第三方登錄QQ郵箱的密鑰,這樣從第三方登錄QQ郵箱,不能輸入密碼,只需要輸入第三方密鑰就行
需要使用到的庫smtplib :主要是負責發送郵件,連接郵箱服務器,登錄郵箱
email :構造郵件,郵件顯示的內容,收件人,發件人
import smtplib from email.mime.text import MIMEText # 發送文本 from email.mime.image import MIMEImage # 發送圖片 from email.mime.multipart import MIMEMultipart # 將多個對象結合起來 from email.utils import formataddr from email.header import Header發送郵件簡單代碼
sender_from = "604421385@qq.com" # 發件人郵箱 sender_to="icessun@qq.com" # 收件人郵箱 # 定義一個函數,接收傳入的郵件主題,郵件內容為參數 def send_email(eamil_subject:str,email_content:str)->int: try: # 構造郵件的內容 plain:表示發送的是文本;HTML:表示發送的超文本 message = MIMEText(email_content, "plain", "utf-8") # 主題 message["Subject"] = Header(eamil_subject, "utf-8") message["From"] = formataddr(["icessun", sender_from]) message["To"] = formataddr(["604421385", sender_to]) # 構造發送郵件的對象smtp,實例化SMTP() smtp = smtplib.SMTP() # 連接郵箱服務器 host 和 port smtp.connect("smtp.qq.com", 25) # 可以簡寫 smtp=smtplib.SMTP("smtp.qq.com",25) # 登陸郵箱 第二個參數是qq郵箱授權碼 smtp.login(sender_from, "xxxxxxxx") # 發送方,接收方(可以有多個["接收地址1","接收地址2",....]),發送的消息(字符串類型,使用郵件格式) # message.as_string() 將MIMEText對象變為str smtp.sendmail(sender_from, sender_to, message.as_string()) # 退出郵箱,結束SMTP會話 smtp.quit() return 0 except: return -1email中的 MIMEText
plain:表示發送的文本,基本的
# 構造郵件的內容 plain:表示發送的是文本;HTML:表示發送的超文本 email_content = "這是發送的文本消息" message = MIMEText(email_content, "plain", "utf-8")
html:表示發送的超文本
base64:表示添加附件
# 打開文件所在的位置 send_file=open(r"F:password.txt").read() # 二進制文件 message = MIMEText(send_file, "base64", "utf-8") message["Content-Type"] = "application/octet-stream" # 內容展示的方式:attachment ,中文名字顯示不成功 aaa.txt 英文才能正常顯示 # message["Content-Disposition"] = "attachment;filename="aaa.txt"" message.add_header("Content-Disposition","attachment",filename="aaaa.txt")email中的 Header 和 formataddr
發送的郵件發送方和接收方全部使用 Header;不會顯示具體的發件人和收件人的郵箱地址
message["From"] = Header("python","utf-8") message["To"] = Header("參數", "utf-8")
發送的郵件發送方和接收方全部使用 formataddr;顯示具體的發件人和收件人的郵箱地址,和為其設置的別名
# 默認字符編碼為 utf-8,第一個參數傳入列表[發件人的名字,郵箱地址] message["From"] = formataddr(["hhhh", sender_from]) message["To"] = formataddr(["604421385", sender_to])email中的MIMEMultipart
mixed:郵件包含附件,向上兼容
related:郵件正文包含圖片,聲音等內嵌資源
alternative:郵件只是純文本,超文本
message = MIMEMultipart("mixed") # 然后把 郵件的 Subject From To 添加到 message中 message["Subject"] = Header(email_subject,"utf-8") message["From"] = formataddr(["test",sender_from]) message["To"] = formataddr(["接收者",sender_to])
將其他文本添加到 Multipart 中
message.attach(text_plain) # MIMEText 對象 message.attach(text_html) # 超文本 message.attach(text_att) # 附件 message.attach(image) # MIMEImage 對象
發送郵件的多功能代碼:
發送文本
發送圖片
發送超文本
發送附件
代碼地址
回復:QQ郵箱 獲取
文章版權歸作者所有,未經允許請勿轉載,若此文章存在違規行為,您可以聯系管理員刪除。
轉載請注明本文地址:http://specialneedsforspecialkids.com/yun/42944.html
摘要:使用腳本發送郵件并不復雜。以下為思路導圖模塊與發送郵件相關的模塊是關于簡單郵件傳輸協議的操作模塊,在發送郵件的過程中起到服務器之間互相通信的作用。 0. 前言 發送電子郵件是個很常見的開發需求。比如你寫了個監控天氣的腳本,發現第二天要下雨,或者網站上關注的某個商品降價了,就可以發個郵件到郵箱來提醒自己。 使用 Python 腳本發送郵件并不復雜。不過由于各家郵件的發送機制和安全策略不同...
摘要:自動發送郵件我們把報表做出來以后一般都是需要發給別人查看,對于一些每天需要發的報表或者是需要一次發送多份的報表,這個時候可以考慮借助來自動發送郵件。一份郵件的組成下圖是中發送一份郵件的界面,主要包含發件人收件人抄送人主題正文附件這幾部分。 ...
摘要:是發送郵件的協議,內置對的支持模塊和模塊可以發送純文本郵件郵件以及帶附件的郵件簡單郵件傳輸協議,是從源地址到目的地址傳送郵件的規則,由該協議控制信件的中轉方式的提供了一種很方便的途徑傳遞電子郵件,對進行了簡單的封裝發送純文本郵件導入模塊 SMTP是發送郵件的協議,Python內置對SMTP的支持(smtplib模塊和email模塊),可以發送純文本郵件、HTML郵件以及帶附件的郵件 S...
摘要:本米撲博客先介紹幾個最簡單的發送郵件方式記錄下,像郵件,附件等也是支持的,需要時查文檔即可。特別注意命令發送郵件,默認用端口號,由于阿里云騰訊云等封禁了端口號,因此本示例需在開通端口機器上測試執行命令收件結果 Python發送email的三種方式,分別為使用登錄郵件服務器、使用smtp服務、調用sendmail命令來發送三種方法 本文原文自米撲博客:Python 發送 email 的三...
摘要:程序人員對于郵件自動化的日常需求還是很高的。更是自帶一套模塊實現郵件發送。正是為了實現這個而生的,一句話就可以完成所有的登錄發送文字附件等功能。參考一句話發送郵件正常一點的發送郵件 程序人員對于郵件自動化的日常需求還是很高的。但是入過了Linux的命令行郵件客戶端如Sendmail, Mutt, Alpine等坑之后,發現現代其實很少人真的在用它們實現郵件自動化,根據搜索引擎里相關文章...
閱讀 1986·2019-08-30 15:54
閱讀 3539·2019-08-30 15:52
閱讀 1827·2019-08-29 17:20
閱讀 2520·2019-08-29 17:08
閱讀 2349·2019-08-26 13:24
閱讀 790·2019-08-26 11:59
閱讀 2785·2019-08-23 14:50
閱讀 617·2019-08-23 14:20