`
cuisuqiang
  • 浏览: 3960738 次
  • 性别: Icon_minigender_1
  • 来自: 北京
博客专栏
3feb66c0-2fb6-35ff-968a-5f5ec10ada43
Java研发技术指南
浏览量:3670462
社区版块
存档分类
最新评论

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

    博客分类:
  • SSH
阅读更多

用到的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("邮件发送成功");
	}
}

  

关于使用JavaMail发送邮件的其他示例:

JavaMail邮件发送-发送非纯文本邮件http://cuisuqiang.iteye.com/admin/blogs/1585186

JavaMail邮件发送-发送一个文本邮件和一些问题说明http://cuisuqiang.iteye.com/admin/blogs/1585167

JavaMail邮件发送-将邮件保存到本地和发送一封本地邮件http://cuisuqiang.iteye.com/admin/blogs/1586785

JavaMail邮件发送-发送带附件的邮件http://cuisuqiang.iteye.com/admin/blogs/1586023

JavaMail邮件发送-为你的邮件增加背景音乐和背景图片http://cuisuqiang.iteye.com/admin/blogs/1585856

JavaMail邮件发送-能发送附件和带背景音乐的邮件的小系统http://cuisuqiang.iteye.com/admin/blogs/1750866

JavaMail 553 You are not authorized to send mail http://cuisuqiang.iteye.com/admin/blogs/713991 

 

请您到ITEYE网站看 java小强 原创,谢谢!

http://cuisuqiang.iteye.com/ 

自建博客地址:http://www.javacui.com/ ,内容与ITEYE同步!

分享到:
评论

相关推荐

    Spring进阶—如何用Java代码实现邮件发送

    使用Spring发送邮件的基本步骤如下: 1. 添加Spring核心库和相关的邮件发送库(如JavaMail API)到项目依赖中。 2. 在Spring配置文件(如`email-163.xml`)中配置邮件服务器的相关信息,如用户名、密码、SMTP服务器...

    spring整合freemarker发送邮件例子

    这个服务能够发送HTML格式的邮件,其中包含内嵌的图片,并且能够处理附件,同时解决字符编码可能导致的乱码问题。以下是详细的知识点讲解: 1. **Spring Framework**:Spring 是一个广泛使用的 Java 应用开发框架,...

    spring-boot-mail邮件发送服务 v1.0.zip

    《Spring Boot Mail邮件发送服务详解》 在现代的软件开发中,邮件服务作为一个重要的通信渠道,被广泛应用于用户注册验证、系统通知、客户服务等场景。Spring Boot作为Java领域的一个热门框架,提供了便捷的方式来...

    Spring之Email<封装了常用的四种发送Email的方法(TEXT,HTML,IMG,FILE)>

    Spring框架的邮件服务模块(Spring Mail)允许开发者方便地发送电子邮件,包括TEXT、HTML、带有图片(IMG)和附件(FILE)等不同类型的邮件。本篇文章将详细介绍如何利用Spring封装的这些方法来实现各种类型的邮件...

    java发送电子邮件代码

    - 类似于HTML邮件的创建过程,但额外支持内嵌资源(如图片),这通常用于邮件中的图片不会作为附件而是直接显示在邮件正文中。 - 需要在`MimeMessageHelper`中使用`addInline`方法添加内嵌资源。 #### 四、扩展...

    spring javamail 来发送动态生成的3D图象.doc

    这里的关键是利用JavaMail的特性,将3D图像作为邮件附件或内嵌在HTML邮件内容中直接发送。 首先,让我们了解Spring配置。在XML配置文件中,我们定义了一个`JavaMailSenderImpl` bean,它负责发送邮件。配置包括SMTP...

    springboot搭建demo和spring cloud基础搭建demo

    7. **邮件服务(Email Services)**:集成JavaMailSender接口,可以方便地发送电子邮件,包括HTML内容、附件等。 8. **模板引擎(Template Engines)**:如Thymeleaf或Freemarker,用于生成动态HTML页面,它们可以...

    spring-boot-examples-master.zip

    4. **邮件服务示例**:使用Spring Boot发送邮件,包括HTML邮件、附件等。 5. **定时任务示例**:利用Spring Boot的TaskScheduler或Quartz实现定时任务。 6. **云服务示例**:如Docker化部署、服务发现(如Eureka、...

    kaylink_springBoot

    4. 邮件发送:Spring Boot集成JavaMailSender接口,可以方便地发送邮件,支持HTML内容和附件。 5. 模板引擎:Spring Boot支持Thymeleaf、FreeMarker等模板引擎,方便生成动态网页内容。 6. 微服务架构:Spring ...

    springboot经典资源2

    11. **邮件服务**:通过集成JavaMailSender接口,Spring Boot可以轻松发送邮件,支持HTML格式和附件。 12. **缓存机制**:Spring Boot支持各种缓存技术,如Ehcache、Hazelcast、Infinispan等,可以显著提升应用性能...

    SpringBoot 2.1.1.RELEASE 集成Email 开发demo

    SpringBoot提供了Spring JavaMailSender接口,用于发送电子邮件。集成电子邮件服务需要在项目中添加相关的依赖。在`pom.xml`文件中,我们需要引入`spring-boot-starter-mail`依赖: ```xml &lt;groupId&gt;org....

    如何使用Java的mail的jar包查看邮件收信箱(简单易懂)

    - 图片附件 3. **MailFile**:用于表示邮件中的附件。 - 文件名 - 文件地址 #### 获取邮件 接下来是最关键的部分——如何获取邮件。这部分代码需要特别注意,因为涉及到与邮件服务器的交互。 ```java /** * ...

Global site tag (gtag.js) - Google Analytics