首页 > 其他分享 >带附件和图片的邮件发送脚本

带附件和图片的邮件发送脚本

时间:2023-09-16 17:34:44浏览次数:30  
标签:Content 发送 mail 附件 import message com 邮件

 1 import smtplib
 2 from email.mime.text import MIMEText
 3 from email.mime.multipart import MIMEMultipart
 4 from email.mime.image import MIMEImage
 5 from email.header import Header
 6 
 7 #第三方SMTP服务器
 8 mail_host = "mail.163.com" #服务器
 9 mail_user = "[email protected]"
10 mail_pass = "123456"
11 sender = "[email protected]"
12 receivers = ["[email protected]","[email protected]"]
13 
14 message = MIMEMultipart()
15 message["From"] = sender
16 message["To"] = ";".join(receivers)
17 message["Subject"] = "这是邮件主题(SMTP测试)"
18 #邮件正文内容:
19 message.attach(MIMEText(
20     """
21     <p>这是正文:图片及附件发送测试</p>
22     <p>图片演示:</p>
23     <p><img src='cid:image1'</p>
24     """,
25     "html",
26     "utf-8",
27 ))
28 #指定图片路径,如果当前目录图片,直接写图片名即可
29 fp = open(r"D:\temp\2.jpg","rb")
30 msgImage = MIMEImage(fp.read())
31 fp.close()
32 #定义图片ID,在HTML文本中引用
33 msgImage.add_header("Content-ID","<image1>")
34 message.attach(msgImage)
35 #添加附件1
36 att1 = MIMEText(open(r"D:\temp\test1.txt","rb").read(),"base64","utf-8")
37 att1["Content-Type"] = "application/octet-stream"
38 #这里的filename写什么,邮件中显示的是什么
39 att1["Content-Disposition"] = 'attachment;filename="mytest.txt"'
40 message.attach(att1)
41 #添加附件2
42 att2 = MIMEText(open(r"D:\temp\测试.txt","rb").read(),"base64","utf-8")
43 att2["Content-Type"] = "application/octet-stream"
44 #这里的filename写什么,邮件中显示的是什么
45 att2.add_header("Content-Disposition","attachment",filename=("gbk","","我的测试.txt"))
46 message.attach(att2)
47 
48 try:
49     smtpObj = smtplib.SMTP()
50     smtpObj.connect(mail_host,25)
51     smtpObj.login(mail_user,mail_pass)
52     smtpObj.sendmail(sender,receivers,message.as_string())
53     print("邮件发送成功")
54 except smtplib.SMTPException as e:
55     print(f"邮件发送失败,错误原因:{e}")

 

标签:Content,发送,mail,附件,import,message,com,邮件
From: https://www.cnblogs.com/donfag/p/17707004.html

相关文章

  • 简单的邮件发送脚本
    1importsmtplib2fromemail.mime.textimportMIMEText34#第三方SMTP服务器5mail_host=""#服务器6mail_user=""7mail_pass=""8sender="[email protected]"9receivers=["[email protected]","bcd@chi......
  • 华为云OBS配置-远程附件
    使用此服务前请先注册并绑定华为云官方合作伙伴账号,享受VIP服务和优惠价格(新购和续费都有专属折扣),更能领取大额代金券!  立即注册/已有账号绑定=>>! 如果不能绑定,请联系售前商务或工单联系售后处理!  创建华为云存储OBS步骤: 一、进入OBS控制台:https://storage.huawei......
  • 阿里云OSS配置-远程附件
    阿里云OSS配置-远程附件远程附件-阿里云OSS配置 12345服务器地址:Bucket名称:EndPoint:Access Key ID:Access Key Secret: 登录阿里云,进入控制台 左侧菜单产品与服务,搜索OSS,选择对象存储OSS 新建bucket  输入你的bucket名称,域名下......
  • 腾讯云COS配置-远程附件
    腾讯云COS配置-远程附件为方便使用腾讯云服务器的客户做附件分离,官方最新集成了腾讯云存储COS(https://cloud.tencent.com/product/cos),如需使用,请提前购买好资源包! 以下为开通和配置教程: 一、创建存储桶: 进入存储桶列表,点击创建存储桶: 输入必填项:注意:所属地域请选......
  • Discuz如何存储远程附件到OSS
    网站远程附件功能是指通过FTP方式将用户上传的附件直接存储到远程的FTP服务器,目前Discuz论坛、PHPWind论坛、WordPress个人网站等都支持远程附件功能。本文介绍如何基于Discuz论坛存储远程附件。前提条件已创建公共读权限的存储空间。具体操作,请参见创建存储空间。本文以华东1......
  • 将 Discuz! 论坛远程附件存储到 COS
    简介Discuz!论坛可以通过配置远程附件功能将论坛的附件保存在腾讯云对象存储(CloudObjectStorage,COS)上,腾讯云对象存储可为论坛附件提供更高的可靠性和数据持久性。注意:本实践适用于Discuz!V3.4/3.5版本,其他版本可能存在兼容问题,无法使用。前提条件已有COS存储桶......
  • 如何实现论坛中的远程附件功能
    简介: 目前Discuz论坛、phpwind论坛、Wordpress个人网站等都支持远程附件功能。将附件远程存储到oss后,用户访问附件时将直接从oss下载,一方面可以减少网站的流量,同时附件本身的可用性也将提高。背景网站远程附件功能是指将用户上传的附件直接存储到远端的存储服务器,一般是通过F......
  • 阿里云远程附件OSS设置
    一、登录阿里云账号,进入控制面板,打开“对象存储OSS”二、点击页面左上角的新建按钮,新建存储空间三、填写Bucket名称,读写权限那里选择“公共读”,然后“确定”提交四、选择刚创建的Bucket,点击对应的“域名管理”,绑定用户域名,五、这里我们以images.znanews.com为例,选择“自动添加CNAM......
  • 如何使用华为云对象存储OBS托管Discuz!论坛图片和附件
    Discuz!论坛默认支持通过FTP的方式上传远程附件,自然能够想到在S3fs的基础上,加上一个简单的FTP服务器(无须对公网开放FTP端口)。总体是这么个架构:这里以CentOS7下的vsftpd为例安装vsftpd:-------------这里是重点------------为了让桶中的文件可以让用户直接访问到,需要修改桶......
  • obs上传文件到服务器,附件同步到华为云OBS存储备份实践(服务端API应用)
    usingSystem;usingSystem.Collections.Generic;usingSystem.Linq;usingSystem.Text;usingSystem.Threading.Tasks;usingGrapeCity.Forguncy.ServerApi;usingOBS;usingOBS.Model;namespaceFileToHuaweiOBS{publicclassFileToHuaweiOBS:Forgunc......