您也可以在邮件中内嵌图片,在内嵌图片时要给定一个"cid"值,直接来看程式的示范:
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();
// 设定 Mail Server
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"值的指定是用来显示附加档案的名称,一个实例如下:
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();
// 设定 Mail Server
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("邮件传送成功...");
}
}