您好,登錄后才能下訂單哦!
到昨天課程已經(jīng)完結。但是你是不是你還是覺得沒有成就感。。。。答案肯定的。
作為一名郵件管理員,也是一件有意思的事情。。。。。
我觸發(fā)學習Py的,主要也是用于群發(fā)郵件,解決市場管理部總是找我群發(fā)郵件。。。。。
那時候我使用的是shell......但是還是要要入系統(tǒng)搞,能不能我給工具,你們自己發(fā)送。。。。。。。。。。
所以還是很苦逼,我們 搜索python 發(fā)送郵件,你會發(fā)現(xiàn)2個模塊smtplib,email
1. smtplib是用來發(fā)送郵件用的;( 跟服務器連接,你才能有機會發(fā)送郵件吧)
2. email是用來構建郵件內(nèi)容的。(你發(fā)送的內(nèi)容至少
兩個都是Python內(nèi)置模塊。(這里信息說明,python裝完就有,自帶入網(wǎng),需要pip install xxx)
######################開始之前,我們思考一下發(fā)送郵件過程:
準備好郵件內(nèi)容 -----------連接服務器 -------------點擊發(fā)送。 (3個步驟)
######################開始寫之前,我們要思考一個問題,如何學習python 其他大神的 模塊...用什么學習什么
百度》smtplib python 自己找文檔資料吧。。。以后都是這樣的路線,英文,英文,英文。。(不搞IT,可以不用堅持了。。。)
############################################開始smtplib模塊
import smtplib
server = smtplib.SMTP()
server.connect(host, port)
server.login(username, password)
server.sendmail(from_addr, to_addr, msg.as_string())
server.quit()
說明:實例化;連接服務器;登陸賬號,密碼;發(fā)送郵件給某某。。。
是不是很簡單。。。
msg.as_string()是一個字符串類型:as_string()是將發(fā)送的信息msg變?yōu)樽址愋?br/>msg的位置你寫 '你好,世界' 也可以,就是說要字符串....
PS:
郵件端口比較復雜,自己注意的我這里總結一下,讓你不用白行一趟
--------------------發(fā)送,投遞的
SMTP : 25
SSL SMTP : 465 smtplib.SMTP_SSL() 適當替換
TLS SMTP : 587 starttls() 需要在 smtplib.SMTP_SSL() 或smtplib.SMTP() 后增加開始TLS
---------------------------------接收,驗證的
POP3 : 110
SSL POP3 : 995
IMAP: 143
SSL IMAP : 993
悄悄共享給你。。。。無多少人知道的。。。SSL,TLS 哈哈。。。
#####下面我復制人家的例子。。。
import smtplib
from email.mime.text import MIMEText
from email.header import Header
import csv
from_addr = input('請輸入登錄郵箱:')
password = input('請輸入郵箱授權碼:')
smtp_server = 'smtp.qq.com'
text='''
人生苦短,我用Python
'''
data = [['y ', '123@qq.com'],['x', 4533@qq.com']]
with open('to_addrs.csv', 'w', newline='') as f:
writer = csv.writer(f)
for row in data:
writer.writerow(row)
with open('to_addrs.csv', 'r') as f:
reader = csv.reader(f)
for row in reader:
to_addrs=row[1]
msg = MIMEText(text,'plain','utf-8')
msg['From'] = Header(from_addr)
msg['To'] = Header(to_addrs)
msg['Subject'] = Header('python test')
server = smtplib.SMTP_SSL()
server.connect(smtp_server,465)
server.login(from_addr, password)
server.sendmail(from_addr, to_addrs, msg.as_string())
server.quit()
免責聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點不代表本網(wǎng)站立場,如果涉及侵權請聯(lián)系站長郵箱:is@yisu.com進行舉報,并提供相關證據(jù),一經(jīng)查實,將立刻刪除涉嫌侵權內(nèi)容。