利用python實現發送郵件
今天跟着視頻學了一個小的知識點,如何利用python寫一個小程序實現自動發送郵件。
首先我們需要有一個163郵箱(什麼郵箱都可以)然後我們登錄自己的郵箱,點擊設置->POP3/SMTP/IMAP出現下圖:
默認畫紅框裏的選項是沒有勾選上的,這就要我們選擇客戶端授權密碼–》開啓如下圖
我這邊可以開啓了,如果點擊開啓時,會跳出這個窗口
然後發送短信設置自己的授權密碼(!注意:不能和自己的登錄密碼一致)
再回到我們的 POP3/SMTP/IMAP頁面
我們等等會用到圖中劃線的部分
前期準備工作已經好了下面就讓我們開始寫代碼吧
首先我們要
導入一個發郵件的庫
import smtplib
郵箱文本庫
from email.mime.text import MIMEText
然後配置自己的SMTP服務器,這裏我們用的是163的SMIP服務,如果你們用其他的郵箱的SMTP服務器也是可以的
SMTPServer ="smtp.163.com"
接着寫發送郵箱的地址,也就是我們自己的163郵箱賬號
Sender = "[email protected]"
再寫發送者郵箱的密碼,也就是我們剛纔配置好的授權郵箱密碼
passwd = "123456a"
我們在設置自己要發送的郵件的內容,這裏我就隨便輸入了一個了。
message = "hockel is a good men "
然後我們要把我們發送的郵件內容轉成郵件文本,這裏我們要用了開頭導入的郵件文本庫MIMEText
msg = MIMEText(message)
我們可以給我發送郵件設置一個標題,操作如下。
msg["Subject"] = "來自帥哥的問候"
創建SMTP服務器smtplib.SMTP(SMTP服務, 端口號)
mailServer = smtplib.SMTP(SMTPServer, 25)
寫登錄郵箱login(郵箱賬戶,授權密碼)
mailServer.login(Sender, passwd)
發送郵件的代碼sendmail(發送者,接受者(這裏有列表,可以有多人接受者),msg:發送消息:郵件內容。一般是msg.as_string():as_string()是將msg(MIMEText對象或者MIMEMultipart對象)變爲str。
)
mailServer.sendmail(Sender, ["[email protected]"],msg.as_string())
退出郵箱
mailServer.quit()
下面就是見證奇蹟的時刻了,我們運行一下程序,然後打開接受者的郵箱如下如
發送郵箱的具體代碼如下,歡迎討論:
# 發郵件的庫
import smtplib
#郵件文本
from email.mime.text import MIMEText
# smtp服務器
SMTPServer ="smtp.163.com"
# 發郵件的地址
Sender = "[email protected]"
#發送者郵箱的密碼
passwd = "123456a"
# 設置發送的內容
message = "hockel is a good men "
# 轉換成郵件文本
msg = MIMEText(message)
# 標題
msg["Subject"] = "來自帥哥的問候"
#發送者
msg["From"] = Sender
# 創建SMTP服務器 服務器 端口號
mailServer = smtplib.SMTP(SMTPServer, 25)
#登錄郵箱
mailServer.login(Sender, passwd)
# 發送郵件
for x in range(1,10):
mailServer.sendmail(Sender, ["[email protected]"],msg.as_string())
x += 1
# 退出郵箱
mailServer.quit()