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("发送失败")