import smtplib
from email.mime.text import MIMEText
from email.header import Header
# come_from 是本身的郵箱,password是郵箱的受權碼
come_from = '2577452716@qq.com'# who 用戶是誰 ,至關於用戶名。
password = 'jgodszkzfkrqebeb' # 祕鑰串 ,至關於密碼。
# to_email 是接收的郵箱
to_email = '2435224077@qq.com' # 我要發送給誰
# 郵件服務器
smtp_server = 'smtp.qq.com' #咱們本身不搭建了,有免費的還穩定,出了事情都能找服務商, QQ郵箱的服務域名
# infos = "你是大傻子" # 咱們要發送的內容
# 裏邊寫須要發送的html內容
infos = '<html><body><h1>my name is liuhui</h1><a href="https://www.baidu.com">這是一個鏈接</a></body></html>'
# 郵箱正文,第一個參數爲內容,第二個參數爲格式,默認爲純文本,第三個參數是編碼
# 這裏我用把發送內容賦值給變量infos
# msg = MIMEText(infos, 'plain', 'utf-8')
# 這裏我用把發送內容賦值給變量infos 發送html須要把第二個參數改成html
msg = MIMEText(infos, 'html', 'utf-8')
# 郵件頭部信息
msg['From'] = Header(come_from)
# 發送給誰
msg['To'] = Header(to_email)
# 郵件主題
msg['Subject'] = Header('1908大實訓')
# 建立實例
server = smtplib.SMTP_SSL(smtp_server)
# QQ郵箱SMTP的端口號是465或587
server.connect(smtp_server, 465)
# 登陸郵箱
server.login(come_from, password)
# 發送郵件
server.sendmail(come_from, to_email, msg.as_string())
print("發送完成")
# 退出郵箱
server.quit()
import smtplibfrom email.mime.text import MIMETextfrom email.header import Headerfrom email.mime.multipart import MIMEMultipartfrom email.mime.base import MIMEBasefrom email import encodersclass SendEmail(object): # 構建函數, 初始化基本信息 def __init__(self, host, user, password): # 郵箱按照@分隔 infos = user.split("@") # 把user賦值給_user self._user = user # 取qq號 self._account = infos[0] # 來自誰 拼接郵箱 self._me = self._account + "<" + self._user + ">" # 建立對象 server = smtplib.SMTP() self._server = server # 創建發送對象 server.connect(host) # 登陸郵箱 server.login(self._account, password) def sendMail(self, to_email, sub, content, subtype='plain'): msg = MIMEText(content, _subtype=subtype, _charset='utf-8') # 郵件主題 msg['Subject'] = sub # 郵件頭部信息 msg['From'] = self._me # 發給誰 msg['To'] = ';'.join(to_email) try: self._server.sendmail(self._me, to_email, msg.as_string()) return True except Exception as e: print(str(e)) return False def __del__(self): self._server.quit() self._server.close()if __name__ == '__main__': mail = SendEmail('smtp.qq.com', '2577452716@qq.com', 'jgodszkzfkrqebeb') to_mail = ['2577452716@qq.com', '2435224077@qq.com'] if mail.sendMail(to_mail, "測試郵件", "hello world!<br><br><h1>你好,發送文本文件測試<h1>"): print("發送成功") else: print("發送失敗")