`
yingruochen
  • 浏览: 74078 次
  • 性别: Icon_minigender_2
  • 来自: 北京
社区版块
存档分类
最新评论

Spring Multipart email 的基本使用

阅读更多

Multipart Email允许添加附件和内部资源,内部资源可能是你在信件中希望使用的图像或样式表,但又不想把它们作为附件

一、附件:

接口:见MailSender和SimpleMailMessage的基本用法

实现类:

package com.mail.sender;

import com.mail.service.OrderManager;
import org.springframework.core.io.FileSystemResource;
import org.springframework.mail.MailException;
import org.springframework.mail.javamail.JavaMailSender;
import org.springframework.mail.javamail.MimeMessageHelper;
import org.springframework.mail.javamail.MimeMessagePreparator;

import javax.mail.Message;
import javax.mail.MessagingException;
import javax.mail.internet.InternetAddress;
import javax.mail.internet.MimeMessage;
import java.io.File;
import java.lang.management.MonitorInfo;

/** Multipart Email-添加附件
 * Created by IntelliJ IDEA.
 * User: Administrator
 * Date: 12-6-13
 * Time: 上午11:19
 * To change this template use File | Settings | File Templates.
 */
public class MimeHelper implements OrderManager {

    private JavaMailSender javaMailSender;

    public void setJavaMailSender(JavaMailSender javaMailSender) {
        this.javaMailSender = javaMailSender;
    }

    public void placeOrder() throws MessagingException {

        MimeMessage message = javaMailSender.createMimeMessage();
        MimeMessageHelper helper = null;
        try {
            helper = new MimeMessageHelper(message,true); //使用Multipart格式
        } catch (MessagingException e) {
            e.printStackTrace();  //To change body of catch statement use File | Settings | File Templates.
        }

        FileSystemResource file = new FileSystemResource(new File("C:\\Users\\Administrator\\Pictures\\1.png"));

        try {
            helper.setTo("240609256@qq.com");//toXXX邮箱
            helper.setFrom("hanxiaoying@iplamp.com"); //from XXX邮箱
            helper.setSubject("helper");
            helper.setText("hello");
            helper.addAttachment("1.png",file);        //添加附件
            javaMailSender.send(message);
        } catch (MessagingException e) {
            e.printStackTrace();  //To change body of catch statement use File | Settings | File Templates.
        }

    }
}

 配置文件见:MimeMessageHelper的基本用法 的配置文件

测试没有异常就成功了

效果如下:


 

 

二、内部资源

实现类:

package com.mail.sender;

import com.mail.service.OrderManager;
import org.springframework.core.io.FileSystemResource;
import org.springframework.mail.javamail.JavaMailSender;
import org.springframework.mail.javamail.MimeMessageHelper;

import javax.mail.MessagingException;
import javax.mail.internet.MimeMessage;
import java.io.File;

/**
 * Created by IntelliJ IDEA.
 * User: Administrator
 * Date: 12-6-13
 * Time: 下午1:51
 * To change this template use File | Settings | File Templates.
 */
public class InResource implements OrderManager {

    private JavaMailSender javaMailSender;

    public void setJavaMailSender(JavaMailSender javaMailSender) {
        this.javaMailSender = javaMailSender;
    }

    public void placeOrder() throws MessagingException {

        MimeMessage message = javaMailSender.createMimeMessage();
        MimeMessageHelper helper = null;
        try {
            helper = new MimeMessageHelper(message, true); //使用Multipart格式
        } catch (MessagingException e) {
            e.printStackTrace();  //To change body of catch statement use File | Settings | File Templates.
        }

        FileSystemResource file = new FileSystemResource(new File("C:\\Users\\Administrator\\Pictures\\1.png"));

        try {
            helper.setTo("240609256@qq.com");//toXXX邮箱
            helper.setFrom("hanxiaoying@iplamp.com"); //from XXX邮箱
            helper.setSubject("helper");
            helper.setText("hello,看图:<html><body><img src='cid:identifier1234'></body></html>", true);//true 表示启动HTML格式的邮件
            helper.addInline("identifier1234", file);       //添加附件
            javaMailSender.send(message);
        } catch (MessagingException e) {
            e.printStackTrace();  //To change body of catch statement use File | Settings | File Templates.
        }

    }

}
 

配置文件:

<bean id="mailSender" class="org.springframework.mail.javamail.JavaMailSenderImpl">
        <property name="host" value="smtp.exmail.qq.com"/>
        <property name="defaultEncoding" value="UTF-8"/>
        <property name="username" value="hanxiaoying@iplamp.com"/>
        <property name="password" value="hanxiaoying0303"/>
        <property name="javaMailProperties">
            <value>
                mail.smtp.auth=true
            </value>
        </property>
    </bean>
    <bean id="inResource" class="com.mail.sender.InResource">
        <property name="javaMailSender" ref="mailSender"/>
    </bean>

 测试一下,看下有没有成功:

 


 

 

  • 大小: 23.3 KB
  • 大小: 6.5 KB
分享到:
评论

相关推荐

Global site tag (gtag.js) - Google Analytics