http://caterpillar.onlyfun.net/Gossip/SpringGossip/AttachedFileMail.html
您也可以在郵件中內嵌圖片,在內嵌圖片時要給定一個"cid"值,直接來看程式的示範:
- AttachedImageDemo.java
java 代码
- package onlyfun.caterpillar;
-
- import java.io.File;
- import org.springframework.mail.javamail.JavaMailSenderImpl;
- import javax.mail.internet.MimeMessage;
- import org.springframework.core.io.FileSystemResource;
- import org.springframework.mail.javamail.MimeMessageHelper;
-
- public class AttachedImageDemo {
- public static void main(String[] args) throws Exception {
- JavaMailSenderImpl senderImpl =
- new JavaMailSenderImpl();
-
-
- senderImpl.setHost("your_mail_server.com");
-
-
- MimeMessage mailMessage =
- senderImpl.createMimeMessage();
- MimeMessageHelper messageHelper =
- new MimeMessageHelper(mailMessage, true);
-
-
- messageHelper.setTo("xxx@your_mail_server.com");
- messageHelper.setFrom("xxx@your_mail_server.com");
- messageHelper.setSubject("Test");
- messageHelper.setText("<html><head></head><body><h1>Hello! Spring!"
+ "</h1><img src=\"cid:caterpillar\">"
+ "</body></html>", true); -
- FileSystemResource img =
- new FileSystemResource(
- new File("C:/upload/caterpillar.jpg"));
- messageHelper.addInline("wish", img);
-
-
- senderImpl.send(mailMessage);
-
- System.out.println("郵件傳送成功...");
- }
- }
在建構MimeMessageHelper類別的實例時所給定的boolean值為true,表示要啟用multipart模式,在setText()中方法指定了"cid"值為"caterpillar",這個設定與addInline()方法中的"cid"值指定對應,addInline()方法可以將您的影像檔案加入至郵件中。
直接將影像檔案加入郵件中有好有壞,好處是您不用像給定連結的方式,必須在伺服器上提供檔案以讓使用者讀取郵件時可以取得所連結的圖片,壞處是有的郵件客戶端對於內嵌圖片的支援會有問題,可能在某些客戶端軟體中會發生無法顯示圖片的情況。
您也可以在郵件中使用附加檔案(Attachment file),只要使用MimeMessageHelper的addAttachment()方法,其中"cid"值的指定是用來顯示附加檔案的名稱,一個實例如下:
java 代码
- package onlyfun.caterpillar;
-
- import java.io.File;
- import org.springframework.mail.javamail.JavaMailSenderImpl;
- import javax.mail.internet.MimeMessage;
- import org.springframework.core.io.FileSystemResource;
- import org.springframework.mail.javamail.MimeMessageHelper;
-
- public class AttachedFileDemo {
- public static void main(String[] args) throws Exception {
- JavaMailSenderImpl senderImpl =
- new JavaMailSenderImpl();
-
-
- senderImpl.setHost("your_mail_server.com");
-
-
- MimeMessage mailMessage =
- senderImpl.createMimeMessage();
- MimeMessageHelper messageHelper =
- new MimeMessageHelper(mailMessage, true);
-
-
- messageHelper.setTo("xxx@your_mail_server.com");
- messageHelper.setFrom("xxx@your_mail_server.com");
- messageHelper.setSubject("Test");
- messageHelper.setText("<html><head></head><body><h1>Hello! Spring!"
- + "</h1></body></html>", true);
-
- FileSystemResource file =
- new FileSystemResource(
- new File("C:/upload/caterpillar.zip"));
- messageHelper.addAttachment("caterpillar.zip", file);
-
-
- senderImpl.send(mailMessage);
-
- System.out.println("郵件傳送成功...");
- }
- }
分享到:
相关推荐
spring邮件抽象层详解,简单的方式发送email
Spring邮件抽象层的主要包为org.springframework.mail。它包括了发送电子邮件的主要接口MailSender,和值对象SimpleMailMessage,它封装了简单邮件的属性如from, to,cc, subject,text。 包里还包含一棵以...
6.8.4. 在Spring应用中使用AspectJ Load-time weaving(LTW) 6.9. 其它资源 7. Spring AOP APIs 7.1. 简介 7.2. Spring中的切入点API 7.2.1. 概念 7.2.2. 切入点实施 7.2.3. AspectJ切入点表达式 7.2.4. ...
6.8.1. 在Spring中使用AspectJ来为domain object进行依赖注入 6.8.1.1. @Configurable object的单元测试 6.8.1.2. 多application context情况下的处理 6.8.2. Spring中其他的AspectJ切面 6.8.3. 使用Spring IoC来...
Spring Framework 开发参考手册 Rod Johnson Juergen Hoeller Alef Arendsen Colin Sampaleanu Rob Harrop Thomas Risberg Darren Davison Dmitriy Kopylenko Mark Pollack ...19.2. 使用Spring JMS ...
6.8.1. 在Spring中使用AspectJ进行domain object的依赖注入 6.8.2. Spring中其他的AspectJ切面 6.8.3. 使用Spring IoC来配置AspectJ的切面 6.8.4. 在Spring应用中使用AspectJ加载时织入(LTW) 6.9. 更多资源 7...
6.8.1. 在Spring中使用AspectJ进行domain object的依赖注入 6.8.2. Spring中其他的AspectJ切面 6.8.3. 使用Spring IoC来配置AspectJ的切面 6.8.4. 在Spring应用中使用AspectJ加载时织入(LTW) 6.9. 更多资源 7...
Spring邮件抽象层的主要包为org.springframework.mail。它包括了发送电子邮件的主要接口MailSender(实现类为org.springframework.mail.javamail.JavaMailSenderImpl,下面会用到改实现类)和封装了简单邮件属性的值...
Spring3.0是Spring在积蓄了3年之久后,隆重推出的一个重大升级版本,进一步加强了Spring作为Java领域第一开源平台的翘楚地位。 Spring3.0引入了众多Java...附录A JavaMail发送邮件 附录B 在Spring中开发Web Service
Spring3.0是Spring在积蓄了3年之久后,隆重推出的一个重大升级版本,进一步加强了Spring作为Java领域第一开源平台的翘楚地位。 Spring3.0引入了众多Java...附录A JavaMail发送邮件 附录B 在Spring中开发Web Service
5.3.3 使用Spring对JDBC的DAO支持类 5.4 在Spring里集成Hibernate 5.4.1 选择Hibernate的版本 5.4.2 使用Hibernate模板 5.4.3 建立基于Hibernate的DAO 5.4.4 使用Hibernate 3上下文会话 5.5 Spring和Java...
5.3.3 使用Spring对JDBC的DAO支持类 5.4 在Spring里集成Hibernate 5.4.1 选择Hibernate的版本 5.4.2 使用Hibernate模板 5.4.3 建立基于Hibernate的DAO 5.4.4 使用Hibernate 3上下文会话 5.5 Spring和Java...
简单邮件 HTML 邮件 内嵌图片或附档 排程 Spring则对 java.util.Timer提供了抽象封装,让您可以善用Spring的容器管理功能,而Spring对Quartz进行了封装,让它在使用上更加方便。 使用 ...
Spring Email抽象核心接口MailSender,其实现类JavaMailSenderImpl,在其中配置邮件 服务器host,pssword,协议等 。。。。。 1.发送简单的消息 SimpleMailMessage:发送简单的消息 2.发送丰富的消息(比如带有附件,内...
你可以使用 IoC容器,在其上使用Struts,但是你也可以选择使用 Hibernate 整合代码或者 JDBC 抽象层。 我们将Spring设计为非侵入式的(并且以后也是如此),这意味着应用基本上不需要依赖框架本身 (或者肯定是最小...
5.3.3使用spring对jdbc的dao支持类 5.4在spring里集成hibernate 5.4.1选择hibernate的版本 5.4.2使用hibernate模板 5.4.3建立基于hibernate的dao 5.4.4使用hibernate3上下文会话 5.5spring和java持久api ...
你可以使用 IoC容器,在其上使用Struts,但是你也可以选择使用 Hibernate 整合代码或者 JDBC 抽象层。 我们将Spring设计为非侵入式的(并且以后也是如此),这意味着应用基本上不需要依赖框架本身 (或者肯定是最小...
1.使用双向一对多关联,不使用单向一对多 2.灵活使用单向一对多关联 3.不用一对一,用多对一取代 4.配置对象缓存,不使用集合缓存 5.一对多集合使用Bag,多对多集合使用Set 6. 继承类使用显式多态 7. 表字段要少,表...
着重介绍SpringBoot的与各大场景的整合使用,内容包括:缓存(整合Redis),消息中间件(整合RabbitMQ),检索(整合ElasticSearch),任务(异步任务,定时任务,邮件任务),安全(整合SpringSecurity),分布式...