Spring发送邮件如何内嵌图片增加附件

用到的JAR包:

spring.jar
mail.jar
activation.jar
commons-logging.jar
log4j-1.2.15.jar

内嵌图片,给定一个CID值即可,增加附件,使用MimeMessageHelper的addAttachment即可

现在一般不会做内嵌图片,因为这样邮件会很大,容易对服务器造成压力,一般做法是使用图片链接

另外,如果要做内嵌或发送图片,你应该使用信用较高的邮箱帐户,否则会报错:

554 DT:SPM 发送的邮件内容包含了未被许可的信息,或被系统识别为垃圾邮件。请检查是否有用户发送病毒或者垃圾邮件

对于163邮箱服务器会产生的其他问题,参见:http://help.163.com/09/1224/17/5RAJ4LMH00753VB8.html

以下是示例代码:

package test;

import java.util.Properties;
import javax.mail.Session;
import javax.mail.internet.MimeMessage;
import org.springframework.core.io.ClassPathResource;
import org.springframework.mail.javamail.JavaMailSenderImpl;
import org.springframework.mail.javamail.MimeMessageHelper;

/**
 * 这里不做异常处理
 */
public class SendMail {
	public static void main(String[] args) throws Exception{
		// 发送器
		JavaMailSenderImpl sender = new JavaMailSenderImpl();
		sender.setHost("smtp.163.com");
		sender.setPort(25); // 默认就是25
		sender.setUsername("用户@163.com");
		sender.setPassword("密码");
		sender.setDefaultEncoding("UTF-8");

		// 配置文件对象
    Properties props = new Properties();
    props.put("mail.smtp.auth", "true"); // 是否进行验证
		Session session = Session.getInstance(props);
		sender.setSession(session); // 为发送器指定会话

		MimeMessage mail = sender.createMimeMessage();
		MimeMessageHelper helper = new MimeMessageHelper(mail, true);
		helper.setTo("用户@163.com"); // 发送给谁
		helper.setSubject("强哥邀请,谁敢不从!"); // 标题
		helper.setFrom("用户@163.com"); // 来自
		// 邮件内容,第二个参数指定发送的是HTML格式
		helper.setText("<font color='red'>强哥邀请你访问我的博客:http://cuisuqiang.iteye.com/!</font><br><img src='cid:myImg'>",true);
		// 增加CID内容
		ClassPathResource img = new ClassPathResource("abc.jpg");
		helper.addInline("myImg", img);
		// 增加附件
		ClassPathResource file = new ClassPathResource("abc.zip");
		helper.addAttachment("abc.zip", file);

		sender.send(mail); // 发送

		System.out.println("邮件发送成功");
	}
}

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持我们。

(0)

相关推荐

  • SpringBoot实现发送邮件任务

    本文实例为大家分享了SpringBoot实现发送邮件任务的具体代码,供大家参考,具体内容如下 1.pom中引入spring-boot-starter-mail <dependencies> <!--邮件--> <dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-mail</artifactId> &

  • Springboot实现邮件发送功能

    本文实例为大家分享了Springboot实现邮件发送具体代码,供大家参考,具体内容如下 需求:用户注册账号绑定邮箱之后,下次登录时忘记密码,需要通过邮箱找回密码 1.创建springboot项目 2.pom导入依赖 <dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-mail</artifactId> </depen

  • springboot实现发送邮件(QQ邮箱为例)

    本文实例为大家分享了springboot实现发送邮件的具体代码,供大家参考,具体内容如下 1.引入依赖 <dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-mail</artifactId> </dependency> 2.找到qq邮箱,开启smtp服务,这里生成你的密码,复制第三步用 3.password里输

  • SpringBoot实现发送邮件功能

    背景 有个小伙伴问我你以前发邮件功能怎么弄的.然后我就给他找了个demo,正好在此也写一下,分享给大家. 理清痛点 发送邮件,大家可以想一下,坑的地方在哪? 我觉得是三个吧. 第一:邮件白名单问题. 第二:邮件超时问题. 第三:邮件带附件问题. 我下面的demo都会介绍这些问题及解决. 实现方案 准备工作 我们先要准备一个可以发送的邮箱,我这里以我的163邮箱为例,现在发送邮件的规则,要求你输入一种叫做授权码的东西,注意这个东西不是密码. 获取授权码的步骤: 当选择开启,通过验证之后就可以获取到

  • 基于Spring的Maven项目实现发送邮件功能的示例

    问题分析 现在我们有这样一个需求,就是当我们系统出现问题或bug的时候,让系统通过邮件发送日志信息给相关人员,那么此时,我们就需要实现一个让系统发送邮件的功能 解决步骤 1.pom jar包导入 <dependency> <groupId>javax.mail</groupId> <artifactId>mail</artifactId> <version>1.4.1</version> </dependency&g

  • SpringBoot实现发送邮件功能过程图解

    首先创建一个邮箱账号,建议@126.com,@163.com,@qq.com 都可以 开启smtp,以下是使用图解: 创建SpringBoot项目导入依赖 <dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-web</artifactId> </dependency> <!-- 支持发送邮件 -->

  • SpringBoot发送邮件功能 验证码5分钟过期

    springBoot发送邮件(验证码,5分钟过期)超级详细,供大家参考,具体内容如下 自己百度了很久,终于成功了,这里记录一下过程 1.选择邮箱(这里选用163邮箱) 首先在网页登录在设置里面打开POP3/SMTP服务 在application.yaml中配置 要注意的就是这里的password是授权码而不是密码!!!如果使用qq邮箱把host改为smtp.qq.com 2.关于验证码的工具类 private static final String SYMBOLS = "0123456789&q

  • Spring Boot Admin邮件警报整合过程解析

    一.前言 在Spring Boot Admin Server 中撒送预警邮件通知是很简单的,只需要简单的几个配置就可以了. 二.代码演示 1.microservice-monitor-server-> pom.xml <?xml version="1.0" encoding="UTF-8"?> <project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi=&quo

  • 基于SpringBoot实现定时发送邮件过程解析

    前提: 1.Springboot项目 2.引入maven 依赖 <dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-mail</artifactId> </dependency> 以下代码中涉及到的maven依赖有日志依赖,但是springboot都有集成,不用重新引入依赖 Application(程序入口)

  • Spring发送邮件如何内嵌图片增加附件

    用到的JAR包: spring.jar mail.jar activation.jar commons-logging.jar log4j-1.2.15.jar 内嵌图片,给定一个CID值即可,增加附件,使用MimeMessageHelper的addAttachment即可 现在一般不会做内嵌图片,因为这样邮件会很大,容易对服务器造成压力,一般做法是使用图片链接 另外,如果要做内嵌或发送图片,你应该使用信用较高的邮箱帐户,否则会报错: 554 DT:SPM 发送的邮件内容包含了未被许可的信息,或

  • JavaMail发送(带图片和附件)和接收邮件实现详解(四)

    好了,进入这个系列教程最主要的步骤了,前面邮件的理论知识我们都了解了,那么这篇博客我们将用代码完成邮件的发送.这在实际项目中应用的非常广泛,比如注册需要发送邮件进行账号激活,再比如OA项目中利用邮件进行任务提醒等等.我们这里所讲的就是利用 JavaMail 完成邮件的发送和接收功能. PS:本篇博客源码下载链接:https://github.com/YSOcean/cnblogs 1.JavaMail 介绍 JavaMail 是sun公司(现以被甲骨文收购)为方便Java开发人员在应用程序中实现

  • java发送内嵌图片邮件

    整体效果: 发送端:网易邮箱:接收端:qq邮箱. 1.web前端 2.在网易邮箱"已发送"中可以看见通过java代码发送的邮件 3.同样在qq邮箱中也可以看到这样的效果 实现过程: 1.web前端(bootstrap布局) <form action="mailAction!sendMail" method="post" name="mailForm" id="mailFormId"> <u

  • python邮件中附加文字、html、图片、附件实现方法

    关于python写邮件各种功能我们已经介绍过很多,大家有兴趣可以参考: python自动化发送邮件实例讲解 python实现发送QQ邮件(可加附件) 下面我们看下本次介绍的全部代码实例 import smtplib from email.mime.multipart import MIMEMultipart from email.mime.text import MIMEText from email.mime.image import MIMEImage from email.header i

  • 使用Zxing实现二维码生成器内嵌图片

    使用Zxing实现二维码生成器内嵌图片,具有一定的参考价值,具体如下: 基本思路是先使用zxing生成的二维码图片,然后读取图片,在其中插入图标,然后整个输出图片. 最近的项目中需要生成二维码,找了几个例子综合下,做出了最后的效果,二维码可以生成图片格式(jpg等)或者在web页面上显示,此片文章仅作记录,雷同之处多多,包涵.... 注:需要Zxing包装的工具类,大概的流程是读取内嵌的图片,将内容转化成二维码,将图片内嵌到二维码中,出图. 下面是完整代码: import Java.awt.Ba

  • C#在图片增加文字的实现代码

    业务需要动态给图片增加文字(书本的封面图片),修改字体大小.字体.颜色.控制位置 测试代码: string path = @"E:\cover.png"; Bitmap bmp = new Bitmap(path); Graphics g = Graphics.FromImage(bmp); String str = "贤愚经"; Font font = new Font("仿宋_GB2312", 14, FontStyle.Bold);//设置

  • spring boot实战之内嵌容器tomcat配置

    本文介绍了spring boot实战之内嵌容器tomcat配置,分享给大家,具体如下: 默认容器 spring boot默认web程序启用tomcat内嵌容器tomcat,监听8080端口,servletPath默认为 / 通过需要用到的就是端口.上下文路径的修改,在spring boot中其修改方法及其简单: 在资源文件中配置: server.port=9090 server.contextPath=/lkl 启动spring boot 2015-10-04 00:06:55.768 INFO

  • Spring boot集成Go-FastDFS实现图片上传删除等功能实现

    一.背景 工作中接触到需要采集并管理大量图片的需求,本来是用的FastDFS,但是发现实际情况是在项目实施时难以找到linux服务器去安装FastDFS,所以经过调研,选择了可以在windows服务器上安装部署的Go-FastDFS文件服务器 二.Go-FastDFS简介 go-fastdfs是一个基于http协议的分布式文件系统,它基于大道至简的设计理念,一切从简设计,使得它的运维及扩展变得更加简单,它具有高性能.高可靠.无中心.免维护等优点. 三.安装Go-FastDFS文件服务器 1)下载

  • 以Spring Boot的方式显示图片或下载文件到浏览器的示例代码

    以Java web的方式显示图片到浏览器以Java web的方式下载服务器文件到浏览器 以Spring Boot的方式显示图片或下载文件到浏览器 请求例子:http://localhost:8080/image/1564550185144.jpeg 示例代码: import org.springframework.context.annotation.Configuration; import org.springframework.web.servlet.config.annotation.R

  • C#使用Effects给图片增加阴影效果

    今天写一个小程序有一个给图片加上阴影的需求,记得WPF的Effect中就有阴影特效,就打算用它了.代码如下: using (var imageStreamSource = File.OpenRead(@"r:\4.png")) using (Stream fs = File.Create(@"r:\test.png")) { var decoder = BitmapDecoder.Create(imageStreamSource, BitmapCreateOptio

随机推荐