直接上代碼:
#coding:utf-8 #強制使用utf-8編碼格式 import smtplib #加載smtplib模塊 from email.mime.text import MIMEText from email.utils import formataddr from email.mime.multipart import MIMEMultipart from email.header import Header from email.mime.application import MIMEApplication """
#簡單的郵件發送
my_sender='發件人郵箱賬號' #發件人郵箱賬號,為了后面易於維護,所以寫成了變量 my_user='收件人郵箱賬號' #收件人郵箱賬號,為了后面易於維護,所以寫成了變量 def mail(): ret=True try: msg=MIMEText('你奶奶個爪','plain','utf-8') msg['From']=formataddr(["發件人郵箱昵稱",my_sender]) #括號里的對應發件人郵箱昵稱、發件人郵箱賬號 msg['To']=formataddr(["收件人郵箱昵稱",my_user]) #括號里的對應收件人郵箱昵稱、收件人郵箱賬號 msg['Subject']="大蘇打實打實大" #郵件的主題,也可以說是標題 server=smtplib.SMTP("smtp.xxx.com",25) #發件人郵箱中的SMTP服務器,端口是25 server.login(my_sender,"發件人郵箱密碼") #括號中對應的是發件人郵箱賬號、郵箱密碼 server.sendmail(my_sender,[my_user,],msg.as_string()) #括號中對應的是發件人郵箱賬號、收件人郵箱賬號、發送郵件 server.quit() #這句是關閉連接的意思 except Exception: #如果try中的語句沒有執行,則會執行下面的ret=False ret=False return ret ret=mail() if ret: print("ok") #如果發送成功則會返回ok,稍等20秒左右就可以收到郵件 else: print("filed") #如果發送失敗則會返回filed """ #帶附件的郵件發送 _user = "發件人郵箱賬戶" _pwd = "發件人密碼" _to = "收件人郵箱賬戶" # 如名字所示Multipart就是分多個部分 msg = MIMEMultipart() msg["Subject"] = "don't panic" msg["From"] = _user msg["To"] = _to # ---這是文字部分--- part = MIMEText("生如夏花之絢爛,死如秋葉之靜謐") msg.attach(part) # ---這是附件部分--- # txt類型附件(同文件夾) part = MIMEApplication(open('text.txt', 'rb').read()) part.add_header('Content-Disposition', 'attachment', filename="text.txt") msg.attach(part) """ # jpg類型附件 part = MIMEApplication(open('f1.jpg', 'rb').read()) part.add_header('Content-Disposition', 'attachment', filename="f1.jpg") msg.attach(part) # pdf類型附件 part = MIMEApplication(open('f2.pdf', 'rb').read()) part.add_header('Content-Disposition', 'attachment', filename="f2.pdf") msg.attach(part) # mp3類型附件 part = MIMEApplication(open('f3.mp3', 'rb').read()) part.add_header('Content-Disposition', 'attachment', filename="f3.mp3") msg.attach(part) """ s = smtplib.SMTP("smtp.xxx.com",25, timeout=30) # 連接smtp郵件服務器,端口默認是25 s.login(_user, _pwd) # 登陸服務器 s.sendmail(_user, _to, msg.as_string()) # 發送郵件 s.close()