python---網路之郵件發送

來源:互聯網
上載者:User

標籤:開啟   還需要   郵箱   self   包括   需要   設定   from   ade   

在發送郵件之前需要先設定郵件開啟了SMTP等功能,對於163還需要擷取授權碼

這裡設定儲存修改

這裡擷取授權碼

 

 

 

 

 

完整封裝發送郵件類

import smtplibfrom email.mime.text import MIMETextfrom email.header import Headerfrom email.utils import parseaddr,formataddrclass SendEmail:    #設定基本資料,包括髮件人,寄件者密碼,收件者郵箱,以及寄件匣伺服器位址    #發送方    Send_Email = "[email protected]"    #發送方密碼    Send_Pwd = "ld19966257460"#對於163這裡就不是密碼,而是授權碼    #接收方    Recv_Email = "[email protected]"    #設定發件方伺服器位址    SMTP_Server = ‘smtp.sina.cn‘    #設定發件方伺服器連接埠    SMTP_Ser_Port=25    def __int__(self):        pass    @classmethod    def _format_address(cls,text):        #按照空格解析 寄件者發送新浪信 <18904190363@sina.cn>        name, address = parseaddr(text)        return formataddr((Header(name, "utf-8").encode(), address))        #注意formataddr是元組    @classmethod    def send_email_text(cls):        # 第一個參數:郵件內文        # 第二個參數:郵件類型 純文字        # 第三個參數:編碼        msg = MIMEText("測試smtp郵件發送功能", "plain", "utf-8")        #這裡注意了,大多數錯誤出在這裡,當直接使用Header(‘xxx‘,‘utf-8‘)時會出錯,需要進行解析,重組        #=?utf-8?b?5p2l6IeqMTYz55qE5LiA5bCB6YKu5Lu2?= <18904190363@163.com>        msg["From"] = SendEmail._format_address("寄件者發送新浪信 <%s>" % SendEmail.Send_Email)#預留空格,在暱稱和地址間        msg["To"] = SendEmail._format_address("收件者由163接收 <%s>"%SendEmail.Recv_Email)        msg["Subject"] = Header("測試郵箱功能", "utf-8").encode()#主題        try:            server = smtplib.SMTP(SendEmail.SMTP_Server, SendEmail.SMTP_Ser_Port)            server.login(SendEmail.Send_Email, SendEmail.Send_Pwd)            # 登入smtp伺服器            server.sendmail(SendEmail.Send_Email, [SendEmail.Recv_Email], msg.as_string())            # 發送郵件            server.quit()            print("郵件發送成功")        except Exception as e:            print(e)            print("郵件發送失敗")if __name__ =="__main__":    SendEmail.send_email_text()

 

python---網路之郵件發送

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.