1. 程式人生 > >python+smtp郵件

python+smtp郵件

前言

使用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年末於廣州。