精华内容
下载资源
问答
  • 遇到一个需求 需要发送带有图片邮件 于是参考:http://www.cnblogs.com/zengchunyun/p/9485444.html 完成了带图片附件的邮件发送功能 但是!! 产品竟然说 图片需要正文里!!正文!! 个人觉得附件里很好...

    背景

    遇到一个需求 需要发送带有图片的邮件
    于是参考:http://www.cnblogs.com/zengchunyun/p/9485444.html
    完成了带图片附件的邮件发送功能
    但是!!
    产品竟然说 图片需要在正文里!!正文!! 个人觉得在附件里很好呀0.0



    **尝试**

    产品说什么就是什么吧。。
    于是疯狂尝试怎么把图片从附件里显示到正文当中

    multipart类型,有三种子类型:mixed、alternative、related
    multipart/mixed可以包含附件。
    multipart/related可以包含内嵌资源。
    multipart/alternative 纯文本与超文本共存
    multipart可以发送若干个内容 并使用boundary来分割

    一开始以为是mixed的缘故 改成了related
    但是一点都没用。。该在附件里的还是出现在了附件了

    最后自己本地发邮件抓包 发现了原来可以发送html格式的邮件 把图片放到‘’img‘’中来实现正文中添加图片的功能

    废话不多说 上代码



    **代码** ```golang package main

    import (
    “bytes”
    “encoding/base64”
    “fmt”
    “io/ioutil”
    “net/smtp”
    “strings”
    “time”
    )

    type SendMail struct {
    user string
    password string
    host string
    port string
    auth smtp.Auth
    }

    type Attachment struct {
    name []string
    contentType string
    withFile bool
    }

    type Message struct {
    from string
    to []string
    cc []string
    bcc []string
    subject string
    body string
    contentType string
    attachment Attachment
    }

    func (mail *SendMail) Auth() {
    mail.auth = smtp.PlainAuth("", mail.user, mail.password, mail.host)
    }

    func (mail SendMail) Send(message Message) error {
    mail.Auth()
    buffer := bytes.NewBuffer(nil)
    boundary := “GoBoundary”
    Header := make(map[string]string)
    Header[“From”] = message.from
    Header[“To”] = strings.Join(message.to, “;”)
    Header[“Cc”] = strings.Join(message.cc, “;”)
    Header[“Bcc”] = strings.Join(message.bcc, “;”)
    Header[“Subject”] = message.subject
    Header[“Content-Type”] = “multipart/related;boundary=” + boundary
    Header[“Date”] = time.Now().String()
    mail.writeHeader(buffer, Header)

    var imgsrc string
    if message.attachment.withFile {
    	//多图片发送
    	for _, graphname := range message.attachment.name {
    		attachment := "\r\n--" + boundary + "\r\n"
    		attachment += "Content-Transfer-Encoding:base64\r\n"
    		attachment += "Content-Type:" + message.attachment.contentType + ";name=\"" + graphname + "\"\r\n"
    		attachment += "Content-ID: <" + graphname + "> \r\n\r\n"
    		buffer.WriteString(attachment)
    		
    		//拼接成html
    		imgsrc += "<p><img src=\"cid:" + graphname + "\" height=200 width=300></p><br>\r\n\t\t\t"
    
    		defer func() {
    			if err := recover(); err != nil {
    				fmt.Printf(err.(string))
    			}
    		}()
    		mail.writeFile(buffer, graphname)
    	}
    }
    
    //需要在正文中显示的html格式
    var template = `
    <html>
    	<body>
    		<p>text:%s</p><br>
    		%s			
    	</body>
    </html>
    `
    var content = fmt.Sprintf(template, message.body, imgsrc)
    body := "\r\n--" + boundary + "\r\n"
    body += "Content-Type: text/html; charset=UTF-8 \r\n"
    body += content
    buffer.WriteString(body)
    
    buffer.WriteString("\r\n--" + boundary + "--")
    fmt.Println(buffer.String())
    smtp.SendMail(mail.host+":"+mail.port, mail.auth, message.from, message.to, buffer.Bytes())
    return nil
    

    }

    func (mail SendMail) writeHeader(buffer *bytes.Buffer, Header map[string]string) string {
    header := “”
    for key, value := range Header {
    header += key + “:” + value + “\r\n”
    }
    header += “\r\n”
    buffer.WriteString(header)
    return header
    }

    func (mail SendMail) writeFile(buffer *bytes.Buffer, fileName string) {
    file, err := ioutil.ReadFile(fileName)
    if err != nil {
    panic(err.Error())
    }
    payload := make([]byte, base64.StdEncoding.EncodedLen(len(file)))
    base64.StdEncoding.Encode(payload, file)
    buffer.WriteString("\r\n")
    for index, line := 0, len(payload); index < line; index++ {
    buffer.WriteByte(payload[index])
    if (index+1)%76 == 0 {
    buffer.WriteString("\r\n")
    }
    }
    }

    func main() {
    mail := &SendMail{user: “mailaddr1@qq.com”, password: “password”, host: “smtp.qq.com”, port: “25”}
    message := Message{
    from: “mailaddr1@qq.com”,
    to: []string{“mailaddr2@qq.com”},
    cc: []string{},
    bcc: []string{},
    subject: “test”, //邮件标题
    body: “msg body!”, //正文内容
    contentType: “text/plain;charset=utf-8”,
    attachment: Attachment{
    name: []string{“1.png”}, //可以放入多张图片
    contentType: “image/png”,
    withFile: true,
    },
    }
    mail.Send(message)
    }

    
    
    下面再附上最终组合成的发送格式:
    
    

    From:mailaddr1@qq.com
    To:mailaddr2@qq.com
    Cc:
    Bcc:
    Subject:test
    Content-Type:multipart/related;boundary=GoBoundary
    Date:2018-08-22 14:42:04.529271 +0800 CST m=+0.006003700

    –GoBoundary
    Content-Transfer-Encoding:base64
    Content-Type:image/png;name=“1.png”
    Content-ID: <1.png>

    //图片base64编码内容 太长就不显示了

    –GoBoundary
    Content-Type: text/html; charset=UTF-8

    <html>
    	<body>
    		<p>text:msg body!</p><br>
    		<p><img src="cid:1.png" height=200 width=300></p><br>
    					
    	</body>
    </html>
    

    –GoBoundary–

    
    ----------
    <br>
    <font size=5>**总结**</font>
    
    以上代码可以实现在正文中添加多张图片的功能
    当然只要修改template 想怎么发送就怎么发送~~~
    
    因为使用的是QQ邮箱 在password中填入QQ邮箱的授权码
    ![这里写图片描述](https://img-blog.csdn.net/20180822154151834?watermark/2/text/aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L3prdDI4NjQ2ODU0MQ==/font/5a6L5L2T/fontsize/400/fill/I0JBQkFCMA==/dissolve/70)
    
    这个方法是将图片按原先附件的方法添加
    关键就是在之后的html中通过 <font color=red>**img src="cid:1.png"**</font>  来引用附件中的图片 从而在正文中显示
    ![这里写图片描述](https://img-blog.csdn.net/20180822154233620?watermark/2/text/aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L3prdDI4NjQ2ODU0MQ==/font/5a6L5L2T/fontsize/400/fill/I0JBQkFCMA==/dissolve/70)
    
    
    这只是我通过抓包发现的一种方法 总感觉有点麻烦
    感觉应该存在其它更优的方法  希望能够一起交流 谢谢!!
    
    展开全文
  • python发邮件详解,smtplib和email模块详解

    万次阅读 多人点赞 2018-09-06 18:20:56
    介绍具体的实现python发邮件的具体操作之前,我觉得有必要介绍下SMTP,更有助于理解python发邮件的实现原理。SMTP协议属于TCP/IP协议簇,即简单邮件传输协议,它是一组用于由源地址到目的地址传送邮件的规则,由它...

    在介绍具体的实现python发邮件的具体操作之前,我觉得有必要介绍下SMTP,更有助于理解python发邮件的实现原理。SMTP协议属于TCP/IP协议簇,即简单邮件传输协议,它是一组用于由源地址到目的地址传送邮件的规则,由它来控制信件的中转方式,python实现发邮件也是基于此基础上进行封装的。

    1.python发邮件所需要的基础包

    python发送邮件需要用到python自带的两个模块,smtplib和email。直接import导入,无需下载。
    python的smtplib提供了一种很方便的途径发送电子邮件,它对smtp协议进行了简单的封装。

    2.smtplib的用法

    smtplib用法相对来说很简单,就是分为两步。

    • 创建SMTP的操作对象并连接smtp目标服务器,可以是163、QQ等
    • 根据自己的账号登录目标服务器(自己的邮箱地址和邮箱授权码)
    • 调用对象中的方法,发送邮件到目标地址

    python与smtp服务器之间的具体交互的通用代码:

    import smtplib
    server = smtplib.SMTP(mailserver, port)  # 发件人邮箱中的SMTP服务器,端口是25
    server.login(sender, passwd)  # 发件人邮箱账号、邮箱授权码
    # msg.as_string()中as_string()是将msg(MIMEText或MIMEMultipart对象)变为str。
    server.sendmail(sender, receive, msg.as_string())  
    server.quit()

    具体的python连接目标服务器的代码如下:注:本文章用的是qq的smtp服务器。
    常用邮箱的smtp服务器地址:
    新浪邮箱:smtp.sina.com,搜狐邮箱:smtp.sohu.com,qq邮箱:smtp.qq.com

    sender_maile='80617252@qq.com' # 发送方的邮箱地址
    sender_pass = 'lsjdfsljdfk' # 邮箱提供的授权码,可在第三方登录,我这个是随便打的。
    sftp_obj =smtplib.SMTP('smtp.qq.com', 25)
    sftp_obj.login(sender_mail, sender_pass)
    #三个参数分别是:发件人邮箱账号,收件人邮箱账号,发送的邮件体
    sftp_obj.sendmail(sender_mail, receiver_mail, msg_root.as_string())
    sftp_obj.quit()
    3.email模块的详细理解和使用

    email模块下的mime模块下有常用的三个模块,三个模块中有三个大类。其实就是下边这三个了,说的很绕,下边为导入方式,一目了然。

    from email.mime.text import MIMEText    
    from email.mime.image import MIMEImage
    from email.mime.multipart import MIMEMultipart    

    简单说下他们的关系,如果构造一个MIMEText对象,就表示一个文本邮件对象,如果构造一个MIMEImage对象,就表示一个作为附件的图片对象,要把多个对象组合起来,就用MIMEMultipart对象,他代表的是整个邮件。这样说应该还不是很清晰,下边就分开来说,最后会总的总结,在最后边就是完整的代码(可以发送一切内容的代码)。

    A.MIMEText对象中有三个需要我们设置的参数,一个是正文内容,一个是正文内容的类型,例如:”text/plain”和”text/html”,一个是正文内容的编码。

    构造普通文本:

    text_info = 'hello world '
    text_sub = MIMEText(text_info,'plain', 'utf-8')  

    构造超文本:

    url = "https://blog.csdn.net/chinesepython"
    html_info = """
        <p>点击以下链接,你会去向一个更大的世界</p>
        <p><a href="%s">click me</a></p>
        <p>i am very glasses for you</p>
        """ % url
    html_sub = MIMEText(html_info, 'html', 'utf-8')  
    # 如果不加下边这行代码的话,上边的文本是不会正常显示的,会把超文本的内容当做文本显示
    html_sub["Content-Disposition"] = 'attachment; filename="csdn.html"'

    构造base64数据流,用于发送文件的时候使用,构造附件代码:

    txt_file = open(r'D:\python_files\files\hello_world.txt', 'rb').read()
    txt = MIMEText(txt_file, 'base64', 'utf-8')
    txt["Content-Type"] = 'application/octet-stream'
    # 命名发送的附件
    txt.add_header('Content-Disposition', 'attachment', filename='hello_world.txt')
    B.MIMEImage对象中只需要把读取的文件传入就行

    构造图片:

    image_file = open(r'D:\python_files\images\test.png', 'rb').read()
    image = MIMEImage(image_file)
    image.add_header('Content-ID', '<image1>')
    # 命名发送的图片
    image["Content-Disposition"] = 'attachment; filename="red_people.png"'
    C.MIMEMultipart对象创建的类型有三种,此模块主要是通过attach方法把上边构造的内容传入到邮件的整体内容中。
    • 邮件类型为”multipart/alternative”的邮件正文中包括纯文本正文(text/plain)和超文本正文(text/html)。
    • 邮件类型为”multipart/related”的邮件正文中包括图片,声音等内嵌资源。
    • 邮件类型为”multipart/mixed”的邮件包含附件,图片,文本等都可以添加,所以发的内容多的话一般是用这个的,选择mixed类型,什么内容都可以发。
    3.邮件头添加内容

    直接上示例代码:

    from email.mime.multipart import MIMEMultipart
    
    
    msg_root = MIMEMultipart('mixed')
    # 发件人
    msg_root['From'] = 'aaa@qq.com<aaa@qq.com>'
    # 收件人
    msg_root['To'] = '666666@qq.com'
    # 邮件主题
    subject = 'python sendemail test successful'
    msg_root['subject'] = Header(subject, 'utf-8')
    
    4.特别的用法说明:

    注:以下的msg_root为:
    msg_root = MIMEMultipart(‘mixed’)

    msg_root.as_string()是将msg_root对象变为str。
    msg_root.attach(MIMEText或者MIMEImage对象),因为MIMEMultipart对象代表邮件本身,其他连个是代表邮件正文,所以这个方法还是很强大的,把其他的构造内容添加到MIMEMultipart对象中就可以把文本,html,附件等一起发送了。

    5.发送各种内容的具体代码实现:

    所有代码合到一块,发送文本,html,图片,txt内容,用的时候你可以把需要的部分摘出来,也就是把没有加入到msg_root的对象拿出来,直接通过下边命令发送,例如只发送文本。
    sftp_obj.sendmail(sender_mail, receiver_mail, text_sub.as_string())。

    import smtplib
    from email.header import Header
    from email.mime.text import MIMEText
    from email.mime.image import MIMEImage
    from email.mime.multipart import MIMEMultipart
    
    
    def send_email_by_qq(to):
        sender_mail = '80617252@qq.com'
        sender_pass = 'aljflsjdf'#同样是乱打的
    
        # 设置总的邮件体对象,对象类型为mixed
        msg_root = MIMEMultipart('mixed')
        # 邮件添加的头尾信息等
        msg_root['From'] = '80617252@qq.com<80617252@qq.com>'
        msg_root['To'] = to
        # 邮件的主题,显示在接收邮件的预览页面
        subject = 'python sendemail test successful'
        msg_root['subject'] = Header(subject, 'utf-8')
    
        # 构造文本内容
        text_info = 'hello world'
        text_sub = MIMEText(text_info, 'plain', 'utf-8')
        msg_root.attach(text_sub)
    
        # 构造超文本
        url = "https://blog.csdn.net/chinesepython"
        html_info = """
        <p>点击以下链接,你会去向一个更大的世界</p>
        <p><a href="%s">click me</a></p>
        <p>i am very galsses for you</p>
        """% url
        html_sub = MIMEText(html_info, 'html', 'utf-8')
        # 如果不加下边这行代码的话,上边的文本是不会正常显示的,会把超文本的内容当做文本显示
        html_sub["Content-Disposition"] = 'attachment; filename="csdn.html"'   
        # 把构造的内容写到邮件体中
        msg_root.attach(html_sub)
    
        # 构造图片
        image_file = open(r'D:\python_files\images\test.png', 'rb').read()
        image = MIMEImage(image_file)
        image.add_header('Content-ID', '<image1>')
        # 如果不加下边这行代码的话,会在收件方方面显示乱码的bin文件,下载之后也不能正常打开
        image["Content-Disposition"] = 'attachment; filename="red_people.png"'
        msg_root.attach(image)
    
        # 构造附件
        txt_file = open(r'D:\python_files\files\hello_world.txt', 'rb').read()
        txt = MIMEText(txt_file, 'base64', 'utf-8')
        txt["Content-Type"] = 'application/octet-stream'
        #以下代码可以重命名附件为hello_world.txt  
        txt.add_header('Content-Disposition', 'attachment', filename='hello_world.txt')
        msg_root.attach(txt)
    
        try:
            sftp_obj =smtplib.SMTP('smtp.qq.com', 25)
            sftp_obj.login(sender_mail, sender_pass)
            sftp_obj.sendmail(sender_mail, to, msg_root.as_string())
            sftp_obj.quit()
            print('sendemail successful!')
    
        except Exception as e:
            print('sendemail failed next is the reason')
            print(e)
    
    
    if __name__ == '__main__':
        # 可以是一个列表,支持多个邮件地址同时发送,测试改成自己的邮箱地址
        to = '666666@qq.com'
        send_email_by_qq(to)
    6.总结

    为了让不是很理解发邮件的朋友能更好的理解,在这里是把所有的参数都写死了,比如说发送文件的具体内容,在真正开发使用过程中,可以把具体的内容通过预留出来参数去传入之后发送你想要发送的内容。
    发邮件功能还是很实用的,在真正的开发中或者大多数场合都能用到,比如说项目中一个重要的模块如果出问题了,你需要第一时间知道,就可以加入这个功能,把项目出问题报的具体内容发到你的邮箱,也可以第一时间想下处理的对策。
    下面以我通过此程序发送的邮件内容的截图做结尾吧。
    这里写图片描述

    展开全文
  • Java数组倒置 简单 Java图片加水印,支持旋转和透明度设置 摘要:Java源码,文件操作,图片水印 util实现Java图片水印添加功能,有添加图片水印和文字水印,可以设置水印位置,透明度、设置对线段锯齿状边缘处理、水印...
  • 一般除了要求将PPT报告文件作为附件发给用户,同时希望将报告内容在邮件中直观展示。 一份统计报告经常包含柱状图、饼图、好看的图表,这些信息要直接Email展示比较复杂。本文推荐一种方式:将PPT图表内容转换...

    通过Email推送统计报告。一般除了要求将PPT报告文件作为附件发给用户,同时希望将报告内容在邮件中直观展示。 一份统计报告中经常包含柱状图、饼图、好看的图表,这些信息要直接在Email中展示比较复杂。本文推荐一种方式:将PPT图表内容转换为高保真的图片,将图片放到Email中发送,在不丢失用户体验的前提下,工作量尽可能小。

    一、 将PPT报告转换为PNG图片文件。

    **有两种方式:**一种是采用POI组件将图片绘制到剪切板再输出为图片文件;另一种方式是通过COM接口调用PowerPoint的接口,使用PPT自身的”另存为”功能,将PPT内容另存为图片文件。
    优劣比较:

    1. POI组件:不依赖于Office, 再linux下也可以执行;不好的地方是保存的图片效果太差,文字模糊,图表存在重影。参考代码:http://blog.csdn.net/jsudavid/article/details/10387959。输出图片文件效果如博客中描述。本人POI组件应用经验比较少,不清楚如何优化,有经验的同行可以给点建议。

    2. COM接口:依赖于Office,需要安装Office,只能部署在Windows平台,性能比较低,不支持并发操作(注意添加同步锁);导出的图片效果很好,功能强大,代码简单。

    这里写图片描述

    参考代码:

    public static void main(String[] args)
        {
            new PPT2Image().SaveAsImage("D:\\TEMP\\ppt\\xxx.pptx", 
                                        "D:\\TEMP\\ppt\\20151201");
        }
        
        /**
         * 
         * 保存PPT为图片文件,每一个Slide保存为一个图片文件。
         * 
         * @param pptFilePath ppt文件路径。
         * @param savePath 保存图片文件目录,生成的图片文件放该目录下。
         */
        public synchronized void SaveAsImage(String pptFilePath, String savePath)
        {
            // 启动 office PowerPoint程序
            ActiveXComponent pptApp = new ActiveXComponent("PowerPoint.Application");
            Dispatch.put(pptApp, "Visible", new Variant(true));   
            
            Dispatch presentations = pptApp.getProperty("Presentations").toDispatch();  
            
            // 打开PPT文件
            Dispatch presentation = Dispatch.call(presentations, "Open", pptFilePath, false,  
                    false, true).toDispatch();
            
            // 另存储为PNG图片文件。SaveAs支持将PPT保存为各种格式的文件。
            // PpSaveAsFileType:18-保存为PNG格式的图片。MsoTriState:1-转换状态
            // 完整的枚举定义参见MicroSoft说明文档:
            // https://technet.microsoft.com/zh-cn/windows/bb251061(v=msdn.10).aspx 
            // https://technet.microsoft.com/zh-cn/aa432714(v=office.12)
            Dispatch.call(presentation, "SaveAs", savePath, 18, 1);
            
            // 保存,关闭文件。退出power point程序。
            Dispatch.call(presentation, "Save");
            Dispatch.call(presentation, "Close");
            Dispatch.call(pptApp, "Quit");
        }
    

    如果POI能否做一些调优,效果达到COM接口输出的图片效果。优先使用POI组件,否则选择COM接口的方式。毕竟需要优先保证用户体验。

    二、 将图片添加到邮件正文

    2.1 原理描述

    将PPT转换后的图片文件存储在Tomcat的Web应用路径下,提供域名(或者IP地址)下载该图片文件。用户打开收到的邮件时会通过http协议请求加载图片文件。需要注意的是中文版本的PPT转换后的PNG图片名中包含中文,要将Tomcat的资源定位编码设置为UTF-8。Conf\ server.xml。
    图片文件在服务器上按日期、按类型长期保存,提供下载服务。如果Tomcat服务器关闭了,用户打开邮件就看不到图片。
    
    <!-- A "Connector" represents an endpoint by which requests are received
             and responses are returned. Documentation at :
             Java HTTP Connector: /docs/config/http.html (blocking & non-blocking)
             Java AJP  Connector: /docs/config/ajp.html
             APR (HTTP/AJP) Connector: /docs/apr.html
             Define a non-SSL HTTP/1.1 Connector on port 8080
        -->
        <Connector URIEncoding="utf-8" connectionTimeout="20000" port="8080" protocol="HTTP/1.1" redirectPort="8443"/>
        <!-- A "Connector" using the shared thread pool-->
        <!--
        <Connector executor="tomcatThreadPool"
                   port="8080" protocol="HTTP/1.1"
                   connectionTimeout="20000"
                   redirectPort="8443" />
    

    2.2 参考代码

    email.setMailHeader("Email推送报告技术说明及样例代码");
                mailContext += "创建人: Elon";
                mailContext += "<br />"
                            + "<br />"
                            + "本文档主要解决报告转换为图片, 添加到Email正文发送的问题。"
                            + "<br />"
                            + "<br />";
                
                mailContext += "<img src=http://192.168.1.1:80/app/images/report/幻灯片3.PNG />";
                
                mailContext += "<br />"
    
    
    展开全文
  • qt 添加并使用资源文件-以图片为例

    千次阅读 2018-11-16 00:00:46
    1、邮件项目名,选择添加新文件 2、选择模版QT的Qt Resource File,...7、这时添加下面的添加文件按钮就可以用了,点击 8、选择一个图片 打开 9、第一个资源文件就被添加了 添加第二个资源文件 1、右键你...

    1、邮件项目名,选择添加新文件

    2、选择模版QT中的Qt Resource File,点击choose

    3、输入名称,点击下一步

    4、点击完成

    5、双击qt界面左下角 xxx.qrc

    6、点击添加 -- 添加前缀   可以对前缀名字进行修改

    7、这时添加下面的添加文件按钮就可以用了,点击

    8、选择一个图片  打开

    9、第一个资源文件就被添加了

    添加第二个资源文件

    1、右键你的xxx.qrc文件,选择 Open in Editor

    2、在qt界面的下方再次选择添加文件就可以了

    资源文件的使用--以图片为例

    在代码中写

    相对路径为 ":/new/Blue.jpg"

    有个简单的方法:打开任意一个控件的styleSheet属性,选择一张图片,就会出现图片的相对路径了

    展开全文
  • 发送文本邮件,html邮件图片文件和复杂邮件的实现 先来个公共类:SMTPHelp.java package com.hstc.bean; import javax.mail.Session; import java.util.Properties; public class SMTPHelp { static String...
  • 问题来源 最近帮村里统计村民信息时,需要每个人制作一张信息表格,...邮件合并的前提是将所有的人员信息制作成表格,如果需要批量插入图片的话,那么就需要excel表格加入图片在电脑上的地址。其中特别需要注...
  • 1、发送普通文本文件 #coding=utf-8 import smtplib from email.mime.text import MIMEText from email.header import Header host = 'smtp.126.com' # 设置发件服务器地址 port = 25 # 设置发件服务器端口号。...
  • JavaMail发送带图片,带附件的邮件

    千次阅读 2019-05-28 15:39:59
    JavaMail发送带图片,带附件的邮件 简介 上一篇文章讲到了使用JavaMail来实现简单邮件的发送,这篇文章是在上一篇文章的基础上来完成的。 导入jar包 <dependency> <groupId>javax.activation<...
  • 前言:使用发邮件这个功能不难,但是也有一些坑,下面我把开发邮件功能总结了一下分享给大家,同时为了避免篇幅过长,导致大家看的不仔细或看一半不想看了,我将...下面通过实例看看如何Spring Boot使用 JavaMa...
  • javamail正文中添加图片和附件

    千次阅读 2017-02-04 22:35:56
    //------------注意:MimeMultipartpart是小写,而MimeBodyPartPart是大写----------- //邮件的组合MIME消息,邮件体。 MimeMultipart msgMultipart = new MimeMultipart("mixed"); msg.setContent...
  • userName:发件人邮箱 password:发件人邮箱密码 fromAddress:发件人邮箱 toAddress:收件人邮箱 //关键地方,图片显示的时候是 src="cid:logo",而logo又是setContentID指明的~
  • 最近要做一个流程发送邮件的事情。发送的对象不一样。邮件内容不一样。...因为发送邮件中包涵图片所以需要引入文件传输依赖。 maven依赖如下: <dependency> <groupId>org.apache.commons</groupId>
  • VBA 发送邮件的正文图片插入方法——HTML引用附件法 {"作者":"Antoniothefuture" "关键词":["VBA","Outlook","发送邮件","HTML"...近期做一个批量发送邮件的VBA程序,文本可以发,但是插入图片时遇到了难题...
  • 利用Python发送带图片和附件的邮件

    千次阅读 多人点赞 2019-08-04 20:28:46
    # 将图片显示在邮件正文 msgimage = MIMEImage(f.read()) msgimage.add_header('Content-ID', '<image1>')# 指定文件的Content-ID,,HTML中图片src将用到 self.message.attach(msgimage) except Exception ...
  • /* 创建一个表示图片的MimeBodyPart对象,并将它加入到前面的创建的MimeMultipart对象 */ MimeBodyPart pictureBodyPart = new MimeBodyPart(); // FileDataSource用于读取文件数据,并返回代表...
  • Java Mail的邮件发送,所有的邮件客户端都显示正常,但Mac OS邮件客户端无法正常显示图片,仅仅显示一个蓝色的问号图片。首先按照BS模式与HTML的思维判定问题可能是没有指定图片的类型,于是添加了相应的图片...
  • ①获取本地的文件图片资源(电脑真实存在的资源) ②使用form表单将图片上传到servlet ③servlet复制到你设置的路径(一般都复制到你的项目) ④然后再把图片地址存储到数据库 具体步骤 ①下载commons-...
  • ●MailMessage类,用于构造电子邮件 ●MailAttachment类,用于构造电子邮件附件 ●SmtpMail类,用于发送电子邮件及其附件 1、MailMessage类构造电子邮件  此类主要有以下属性和方法  ★From 发件人的地址  ★...
  • #添加文件附件 att1 = MIMEText(open(annex_path,"rb").read(),"base64","utf-8") att1["Content-Type"] = "application/octet-stream" att1["Content-Disposition"] = "attachment;filename=" + annex_name ...
  • 包含发送普通文本邮件、包含图片附件的邮件,包含其他文件附件的邮件。可设置邮件的收发人,主题,内容。并以163邮件为例,分别python2.7和python3.6下进行试验。python2.7代码#coding:utf-8 print('生成三种不同...
  • 测试开发笔记

    万次阅读 多人点赞 2019-11-14 17:11:58
    测试开发笔记 第一章 测试基础 7 什么是软件测试: 7 ...验收测试:(系统测试之后) 11 回归测试: 11 4.测试过程(干什么,怎么干) 12 5.各阶段输入、输出标准以及入口、出口准则:(测试阶段过程要素) 1...
  • 如果我们要发送HTML邮件,而不是普通的纯文本文件怎么办?方法很简单,构造MIMEText对象时,把HTML字符串传进去,再把第二个参数由plain变为html就可以了: 发送附件 如果Email要加上附件怎么办?带附件的邮件...
  • 基于SSM的校园二手交易平台的设计与实现

    万次阅读 多人点赞 2018-05-06 14:24:44
    数据创建名为c2c的数据库,使用Navicat for MySQL运行 c2c.sql文件创建表和导入数据 将图片解压到任意一个盘,然后配置Tomcat,将图片路径引用到本地配置的图片路径下。 设置访问路径 3.2 实现过程 3.2.1 商品...
  • 当您必须通过电子邮件向某人发送大图像文件时,最好发送前调整图像文件的大小以使其更小。 Outlook使此操作变得简单,并允许您发送图像文件时调整其大小。 Some companies and email services still have small...
  • C#基础教程-c#实例教程,适合初学者

    万次阅读 多人点赞 2016-08-22 11:13:24
    由于不需要注册表注册,软件的安装也变得容易了,一般将运行程序及库文件拷贝到指定文件夹就可以了。  完全面向对象:不象C++语言,即支持面向过程程序设计,又支持面向对象程序设计,C#语言是完全面向对象...
  • JAVA上百实例源码以及开源项目

    千次下载 热门讨论 2016-01-03 17:37:40
     util实现Java图片水印添加功能,有添加图片水印和文字水印,可以设置水印位置,透明度、设置对线段锯齿状边缘处理、水印图片的路径,水印一般格式是gif,png,这种图片可以设置透明度、水印旋转等,可以参考代码...
  • header('content-type:text/html;charset=utf-8'); ... //实例化邮件发送类 $mail = new PHPMailer(); // 使用SMTP方式发送 $mail->IsSMTP(); // 设置邮件的字符编码 $mail->CharSet='UTF-8'; // 企业邮
  • iphone压缩图片Khamosh PathakKhamosh PathakHistorically, Apple made it quite difficult to work with Zip files on iPhone and iPad. Now, starting with iOS 13 and iPadOS 13, Apple has integrated native ...
  • 1、邮件发送原理 发送方发送的信件内容经过SMPT协议上传到smpt服务器,转送给远方的smpt服务器,存储到存储设备,然后通过POP/IMAP协议从pop服务器上获取内容发给接收方。 2、常用服务器的名称、地址与端口: ...

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 68,098
精华内容 27,239
关键字:

如何在邮件中添加文件图片