import smtplib
from email.mime.text import MIMEText
from email.header import Header
sender="1043566@qq.com"
password="xbvjvxipax"#使用授权码
#收件列表
receive=["123456@qq.com","135678@qq.com"]
text="填写要发送的内容"
message=MIMEText(text)
msg['Subject']='收到邮件的标题名'
msg['From']='谁发送的,即发件人'
msg['To']='收件人'#可以写reveive里面的
try:
'''
#使用163邮箱发送
smtpobj=smtplib.SMTP('SMTP.163.com',25)#ip 和端口
smtpobj.login(sender,password)
#发送
smtpobj.sendmail(sender,receive,message.as_string())
smtpobj.quit()
'''
#使用qq邮箱发送
smtpobj=smtplib.SMTP_SSL()
smtpobj.connect('smtp.qq.com',465)#连接
smtpobj.login(sender,password)#登录
smtpobj.sendmail(sender,receive,message.as_string())#开始发送
smtpobj.quit()#退出
print("发送成功!")
except:
print("失败")
#使用html排版发送
import random
import smtplib
from email.mime.text import MIMEText
from email.header import Header
import time
sender="12345678@qq.com"
password="xbvjvxdc"
receive=["12345678@qq.com"]#
#内容
msg='''
<a href="http://v.douyin.com/XcP9B/"> 给你看抖音</a>
'''
message=MIMEText(msg,'html','utf-8')
message['subject']=''
message['From']="随便输入名字" ##收到时显示的发送者的名字
message['To']=";".join(receive)#这是是使用join
#发送
try:
for i in range(5):#循环发送5次
dataSent=smtplib.SMTP_SSL()
dataSent.connect('smtp.qq.com',465)
dataSent.login(sender,password)
dataSent.sendmail(sender,receive,message.as_string())
dataSent.quit()#退出
print("发送成功!")
time.sleep(30)
except:
print("发送失败")
#添加附件发送
import random
import smtplib
from email.mime.image import MIMEImage
from email.mime.multipart import MIMEMultipart
from email.mime.text import MIMEText
from email.header import Header
import time
sender="12345678@qq.com"
password="xbvjvxdoip"
receive=["123456789@qq.com"]
#内容
msg='''
<p>欢迎使用,咱这个产品真的是个好啊</p>
<p></p>
<a href="http://v.douyin.com/XcP9B/"> 给你看抖音</a>
'''
message=MIMEMultipart()#定义根部分
message['subject']=''
message['From']=sender
message['To']=";".join(receive)#这是是使用join
#邮件正文
message.attach(MIMEText(msg,'html','utf-8'))
#构造附件 传送txt文件
att1=MIMEText(open('./file/1.txt','rb').read(),'base64','utf-8')
att1["content-Type"]="application/octet-stream"#stream流,固定格式
att1["content-Disposition"]='attachment;filename="text.txt"'#filename指定收件时txt的名
message.attach(att1)
#构建附件 图片img
att2=MIMEImage(open('./file/2.jpg','rb').read())
att2["content-Type"]="application/octet-stream"#stream流,固定格式
att2["content-Disposition"]="attachment;filename='img.jpg'"#filename指定文件名
message.attach(att2)
#发送
try:
for i in range(1):
dataSent=smtplib.SMTP_SSL()
dataSent.connect('smtp.qq.com',465)
dataSent.login(sender,password)
dataSent.sendmail(sender,receive,message.as_string())
dataSent.quit()#退出
print("发送成功!")
time.sleep(30)
except:
print("发送失败")
#图文混合排版
import random
import smtplib
from email.mime.image import MIMEImage
from email.mime.multipart import MIMEMultipart
from email.mime.text import MIMEText
from email.header import Header
import time
sender="12345678@qq.com"
password="xbvjvxdoi"
receive = ["12345678@qq.com"] # 偷偷去网页上爬点邮箱
message=MIMEMultipart()#图文混合
message['subject']="名称"
message['From']=sender
message['To']=";".join(receive)#这是是使用join
# 内容
msg = '''
<P>一开始,是这个样子</p>
<p><a href="http://www.baidu.com"> 链接内容 </a></p>
<p>后来用了mm之后</p>
<p><img src="cid:image3"></p>
<p>mm变得有吸引力了</p>
<p><img src="cid:image4"></p>
<p>后来的后来</p>
<p><img src="cid:image5"></p>
<p>我编不下去了恶心到了</p>
<p><img src="cid:image6"></p>
<p>不行要吐</p>
<p><img src="cid:image7"></p>
'''
message.attach(MIMEText(msg,'html','utf-8'))
# 构建图片
for i in range(3,8):#遍历图片发送到html感觉这样比较省事
img = MIMEImage(open('./file/%d.jpg'%i, 'rb').read())
img.add_header('Content-ID', '<image%d>'%i) # 定义图片id在html中使用
message.attach(img)
# 发送
try:
for i in range(1):
dataSent = smtplib.SMTP_SSL()
dataSent.connect('smtp.qq.com', 465)
dataSent.login(sender, password)
dataSent.sendmail(sender, receive, message.as_string())
dataSent.quit() # 退出
print("发送成功!")
time.sleep(30)
except:
print("发送失败")