首頁 >後端開發 >Python教學 >Python與163郵箱授權碼發送郵件的分析與實作(代碼)

Python與163郵箱授權碼發送郵件的分析與實作(代碼)

不言
不言轉載
2018-10-10 16:03:142638瀏覽

這篇文章帶給大家的內容是關於Python和163郵箱授權碼發送郵件的分析與實現(代碼),有一定的參考價值,有需要的朋友可以參考一下,希望對你有所幫助。

背景

前段時間寫了個自動打卡的腳本,但是腳本不夠完善,我需要知道,打卡到底成沒成功,因此,我想到了用Python執行完程式碼之後,再執行一段發送郵件的程式碼。需求開始明確了,就開始分析寫程式碼實作吧。

分析

SMTP(Simple Mail Transfer Protocol),即簡單郵件傳輸協議,它是一組用於由來源位址到目的地址傳送郵件的規則,由它來控制信件的中轉方式。
python的smtplib提供了一個很方便的途徑來發送電子郵件。它對smtp協定進行了簡單的封裝。

程式碼實作

import smtplib
from email.mime.text import MIMEText  
# 引入smtplib和MIMEText
from time import sleep

def sentemail():
    host = 'smtp.163.com'  
    # 设置发件服务器地址
    port = 465  
    # 设置发件服务器端口号。注意,这里有SSL和非SSL两种形式,现在一般是SSL方式
    sender = 'a419914150@163.com'  
    # 设置发件邮箱,一定要自己注册的邮箱
    pwd = 'SGJEKFBFK322'  
    # 设置发件邮箱的授权码密码,根据163邮箱提示,登录第三方邮件客户端需要授权码
    receiver = '419914150@qq.com' 
    # 设置邮件接收人,可以是QQ邮箱
    body = &#39;<h1>你已成功打卡</h1><p>zhongfs</p>&#39; 
    # 设置邮件正文,这里是支持HTML的
    msg = MIMEText(body, &#39;html&#39;) 
    # 设置正文为符合邮件格式的HTML内容
    msg[&#39;subject&#39;] = &#39;打卡通知&#39; 
    # 设置邮件标题
    msg[&#39;from&#39;] = sender  
    # 设置发送人
    msg[&#39;to&#39;] = receiver  
    # 设置接收人
    try:
        s = smtplib.SMTP_SSL(host, port)  
        # 注意!如果是使用SSL端口,这里就要改为SMTP_SSL
        s.login(sender, pwd)  
        # 登陆邮箱
        s.sendmail(sender, receiver, msg.as_string())
        # 发送邮件!
        print (&#39;Done.sent email success&#39;)
    except smtplib.SMTPException:
        print (&#39;Error.sent email fail&#39;)
        
if __name__ == &#39;__main__&#39;:
    sentemail()

執行情況

程式執行截圖:

Python與163郵箱授權碼發送郵件的分析與實作(代碼)

收到郵件截圖:

Python與163郵箱授權碼發送郵件的分析與實作(代碼)

總結

#本文簡單介紹如何利用python透過163信箱傳送郵件,並附上了代碼。由於比較簡單,不再過多闡述。已上傳github程式碼,連結如下:

https://github.com/rootzhongfengshan/python_practical/blob/master/SentMail/SentMail.py

以上是Python與163郵箱授權碼發送郵件的分析與實作(代碼)的詳細內容。更多資訊請關注PHP中文網其他相關文章!

陳述:
本文轉載於:cnblogs.com。如有侵權,請聯絡admin@php.cn刪除