本站消息

  本站每日ip已达10000,出租广告位,位置价格可谈,需要合作请联系站长


+关注
已关注

分类  

暂无分类

标签  

暂无标签

日期归档  

2019-07(2)

2019-08(105)

2019-09(104)

2019-10(5)

2019-11(7)

用python发送邮件(带html格式的邮件、附件)

发布于2020-03-30 21:53     阅读(311)     评论(0)     点赞(2)     收藏(3)


1.导入各种库
import smtplib
from smtplib import SMTP_SSL #是用来加密邮件内容的防止中间被人截获
from email.mime.text import MIMEText #用来构造邮件的正文
from email.mime.multipart import MIMEMultipart #这是邮件的主体
from email.header import Header #邮件的头部,包括邮件的标题,收件人等
from email.mime.application import MIMEApplication #专门用来添加附件的
2.获取服务器、收件人、发件人信息
host_server = ‘smtp.163.com’#sina邮箱smtp服务器
pwd = “xxxxx” #pwd为邮箱的密码
sender_mail = ‘xxxxx@163.com’ #发件人的邮箱
receiver_mail =‘xxxxx@163.com’ #收件人的邮箱
#发送有html格式的文件
下面的语句变换了格式,在这里粘帖一张图片
mail_content = “你好,

这是使用python登录163邮箱发送HTML格式邮件的测试:

<a href=https://cn.bing.com/’>Python


#发送没有格式的文字
msg.attach(MIMEText(mail_content,‘plain’,‘utf-8’)) #邮件正文内容,以无格式的方式添加到整个邮件主体中
#发送带有附件的邮件
attachment = MIMEApplication(open(r"C:\Users\Polyxena\Desktop\untitled1\长恨歌替换.docx",‘rb’).read())
#重命名文件
attachment.add_header(‘Content-Disposition’,‘attachment’,filename=‘长恨歌.docx’)
msg.attach(attachment)
#邮件的正文内容
mail_title = ‘python办公自动化的邮件’ #邮件标题

3.准备发送的主体、内容
msg = MIMEMultipart() #邮件主体
msg[“Subject”] = Header(mail_title,‘utf-8’)
msg[“From”] = sender_mail
msg[“To”] = receiver_mail #固定格式,没有为什么
msg.attach(MIMEText(mail_content,‘html’,‘utf-8’)) #邮件正文内容,以html格式的方式添加到整个邮件主体中

4.连接服务器,开始发送
try:

smtp = SMTP_SSL(host_server) #ssl登录,连接到邮件的服务器
#关闭smtp的debug是0,否则是1
smtp.set_debuglevel(0)
#和服务器打个招呼我们要连接,最好加上
smtp.ehlo(host_server)  
smtp.login(sender_mail,pwd)
smtp.sendmail(sender_mail,receiver_mail,msg.as_string()) #发件人,收件人,邮件主体
smtp.quit()
print('邮件发送成功')

except smtplib.SMTPException:

print("无法发送邮件")


所属网站分类: 技术文章 > 博客

作者:我就是喜欢你

链接: https://www.pythonheidong.com/blog/article/290357/

来源: python黑洞网

任何形式的转载都请注明出处,如有侵权 一经发现 必将追究其法律责任

2 0
收藏该文
已收藏

评论内容:(最多支持255个字符)