python+smtp郵件
阿新 • • 發佈:2019-01-06
前言
使用smtp傳送郵件是一個很常見的網際網路應用場景,實現smtp協議傳送郵件的方式很多,可以用簡單的Telnet命令列,也可以借用springboot等現有框架構建,當然也可以是python的相關類庫實現。更多smtp相關的參考《Spring-boot-email郵件》,這裡主要記錄一下用python實現smtp傳送郵件。需要注意的是,傳送者郵箱的密碼是授權登入密碼,否則會返回553未認證錯誤碼,授權碼在郵箱設定頁面可以找得到。
Smtp郵件樣例
demo1
#!/usr/bin/python3
import smtplib
import email.mime.multipart
import email.mime.text
msg = email.mime.multipart.MIMEMultipart()
msg['from'] = ' [email protected]'
msg['to'] = '[email protected]'
msg['subject'] = 'sincely from 2019 greeting'
content = 'python email'
'''''
您好,
這是來自2019最親切的問候,by python!
'''
txt = email.mime.text.MIMEText(content)
msg.attach(txt)
smtp = smtplib
smtp = smtplib.SMTP()
smtp.connect('smtp.163.com') # 連線smtp伺服器
smtp.login(' [email protected]', 'yourpassword') #郵件賬號,登入密碼為郵箱授權碼
smtp.sendmail('[email protected]', '[email protected]', str(msg))
smtp.quit()
demo2
#!/usr/bin/python3
import smtplib
from email.mime.text import MIMEText
from email.utils import formataddr
my_sender='[email protected]'
my_pass = 'yourpassword' # 郵箱登入授權碼
my_user=' [email protected]'
def mail():
ret=True
try:
msg=MIMEText('dosthing','plain','utf-8')
msg['From']=formataddr(["dosthing",my_sender])
msg['To']=formataddr(["FK",my_user])
msg['Subject']="來自2019的最親切的問候by dosting!"
server=smtplib.SMTP_SSL("smtp.163.com", 465)
server.login(my_sender, my_pass)
server.sendmail(my_sender,[my_user,],msg.as_string())
server.quit()
except Exception:
ret=False
return ret
ret=mail()
if ret:
print("send success")
else:
print("send fail")
總結
Python總能給你帶來一點小驚喜,利用它可以很方便實現一些小應用,程式碼量也很小,但是很高效,這裡整理一下利用python傳送smtp郵件,僅記錄以作備忘,2018年末於廣州。