使用python发送邮件

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

 

 

 

 

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值