import smtplib
from email.mime.text import MIMEText
from email.header import Header
import base64
class Mail:
def __init__(self):
self.mail_host = "smtp.qq.com"
self.mail_pass = 'xxxxxxxxx'
self.sender = 'senderxxx@qq.com'
self.receivers = ['xxxxx@qq.com']
def send(self,txt):
subject = '预订成功'
content = str(txt)
message = MIMEText(content, 'plain', 'utf-8')
message['From'] = Header(f'=?utf-8?B?{base64.b64encode("python自动发送".encode()).decode()}=?= <senderxxx@qq.com>')
message['To'] = Header("python自动发送", 'utf-8')
message['Subject'] = Header(subject, 'utf-8')
try:
smtpObj = smtplib.SMTP_SSL(self.mail_host, 465)
smtpObj.login(self.sender, self.mail_pass)
smtpObj.sendmail(self.sender, self.receivers, message.as_string())
smtpObj.quit()
print('邮件发送成功!!')
except smtplib.SMTPException as e:
print(e.__traceback__.tb_lineno,e)
print('邮件发送失败!!')
if __name__ == '__main__':
mail = Mail()
mail.send('发送内容')