# 这里干货满满
# -*- coding: utf-8 -*-
import os
import email
import smtplib
from email.mime.text import MIMEText
from email.mime.multipart import MIMEMultipart
# 收件人列表
mailto_list = ['xxx@xx.com'] # 这里是收件人的邮箱地址,可以写多个
# 使用的邮箱的SMTP服务器地址
mail_host = 'smtp.163.com' # 这里我用163邮箱的举例
# 用户名,密码
mail_user = 'xxx' # 发件人的邮箱登录用户名
mail_pass = '******' # 发件人的邮箱登录密码
# 邮箱的后缀
mail_postfix = '163.com' # 发件人的邮箱后缀
# 定义发送邮箱的方法
def send_mail(to_list, sub, content):
me = 'xxx' + '<' + mail_user + '@' + mail_postfix + '>' # xxx发件人的名称
msg = MIMEMultipart()
# 下面是两种方法
# 1、借助MIMEMultipart,将邮件封装到容器中,以附件的形式发送。
# att = MIMEText(content, 'base64', 'utf-8')
# att['Context-Type'] = 'application/octet-stream'
# att['Content-Disposition'] = 'attachment;filename="test.html"'
# msg.attach(att)
# 2、将附件中的内容读出来之后,以邮件的形式进行发送内容
msg.attach(MIMEText(content,'html','utf-8'))
msg['Subject'] = sub
msg['From'] = me
msg['To'] = ';'.join(to_list) # 将收件人列表以;分隔
try:
server = smtplib.SMTP()
server.connect(mail_host) # 连接服务器
server.login(mail_user, mail_pass) # 登录操作
server.sendmail(me, to_list, msg.as_string())
server.close()
return True
except Exception:
return False
# 实现发送带附件的邮件
send_file = open("D:/拼多多/图片/ectExportFile.html", "rb").read() # 你要发送的文件路径和名称
if send_mail(mailto_list, 'xxx', send_file): # xxx是你发送的文件的名字,可以随意命名
print('done!')
else:
print('false')
# 推荐一本书,实现自动化
# 有需要这本书电子版的可以联系我。