import smtplib
from email.mime.text import MIMEText
from email.utils import formataddr
from datetime import datetime
# 發件人郵箱賬號
my_sender = '[email protected]'
# my_sender = '[email protected]'
# 收件人郵箱賬號
my_user = ['[email protected]']
# my_user = ['[email protected]']
# 授權碼,不是賬號的密碼
authorization_code = '********'
# authorization_code = '****************'
# 發送人姓名
sender_name = 'After__today'
# 接收人姓名
user_name = ['天晴的時候會下雨']
# 發件服務器
smtp = 'smtp.163.com' #網易163
# smtp='smtp.qq.com' #qq郵箱
def mail(text):
now_time = datetime.now().strftime('%Y-%m-%d %H:%M:%S')
ret = True
for i in range(len(my_user)):
text1 = '您好 '+user_name[i]+'\n現在時間為'+str(now_time)+'\n很抱歉打擾您!\n'+text
try:
msg = MIMEText(text1,'plain','utf-8')
# 括號里的對應發件人郵箱昵稱、發件人郵箱賬號
msg['From'] = formataddr([sender_name,my_sender])
# 括號里的對應收件人郵箱昵稱、收件人郵箱賬號
msg['To'] = formataddr([user_name[i],my_user[i]])
# 郵件的主題,也可以說是標題
msg['Subject'] = "系統提示資訊"
# 發件人郵箱中的SMTP服務器,埠是25
server = smtplib.SMTP(smtp,25)
# 發件人郵箱賬號、郵箱密碼
server.login(my_sender, authorization_code)
# 發件人郵箱賬號、收件人郵箱賬號、發送郵件
server.sendmail(my_sender, [my_user[i],], msg.as_string())
# 關閉連接
server.quit()
except Exception:
ret = False
finally:
next
return ret
text = '發送成功'
mail(text)
很多人學習python,不知道從何學起,
很多人學習python,掌握了基本語法過后,不知道在哪里尋找案例上手,
很多已經做案例的人,卻不知道如何去學習更加高深的知識,
那么針對這三類人,我給大家提供一個好的學習平臺,免費領取視頻教程,電子書籍,以及課程的源代碼!??¤
QQ群:623406465
這里使用的是163郵箱,需要注意要在 “郵箱中心” 設定客戶端授權密碼,否則會報錯(550, b'User has no permission'),authorization_code就是設定的授權碼,如果使用郵箱密碼,會報錯(535, b'Error: authentication failed'),
如果是使用QQ郵箱發送郵件,同樣需要設定授權碼,QQ郵箱——>設定——>賬戶,然后找到如下:
按步驟開啟POP3/SMTP服務,authorization_code改為生成的16位授權碼即可,
使用outlook發送郵件使用的是POP3服務,代碼稍有改動
import win32com.client as win32
from datetime import datetime
now_time = datetime.now().strftime('%Y-%m-%d %H:%M:%S')
sub = 'statistic_result'
body = '現在時間為' + now_time
outlook = win32.Dispatch('outlook.application')
receivers = ['[email protected]']
mail = outlook.CreateItem(0)
mail.To = receivers[0]
mail.Subject = sub
# mail.Attachimage.Add('C:/Users/Administrator/Desktop/work.jpg')
mail.Body = body
mail.Attachments.Add('C:/Users/Administrator/Desktop/work.jpg')
mail.Send()
添加賬戶資訊的程序見https://jingyan.baidu.com/article/e3c78d6496f6d73c4c85f5a2.html,
(想往正文中添加圖片資訊我試了很久都不行,Attachimage方法用不了,希望會的同學能在評論區告知,謝謝(/鞠躬),)
發送的時候可能會提示安全警告,關掉的方法為在outlook的選項中信任中心的設定中,把編程訪問中的從不發送警告勾選上,如果和我截圖一樣是灰白色無法勾選,應該是電腦安全級別過高,在控制面板中可以更改,
轉載請註明出處,本文鏈接:https://www.uj5u.com/houduan/187355.html
標籤:其他
