码迷,mamicode.com
首页 > 编程语言 > 详细

spring 发送邮件代码示例(带附件和不带附件的)

时间:2017-05-25 20:47:16      阅读:192      评论:0      收藏:0      [点我收藏+]

标签:factor   name   body   filesyste   type   sim   class   row   aging   

import javax.mail.MessagingException;
import javax.mail.internet.MimeMessage;

import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.core.io.FileSystemResource;
import org.springframework.mail.MailParseException;
import org.springframework.mail.SimpleMailMessage;
import org.springframework.mail.javamail.JavaMailSender;
import org.springframework.mail.javamail.MimeMessageHelper;
import org.springframework.stereotype.Controller;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RequestMethod;
import org.springframework.web.bind.annotation.ResponseBody;

@Controller
@RequestMapping("/api")
public class SendMailController {

    @Autowired
    private JavaMailSender mailSender;

    private SimpleMailMessage simpleMailMessage = new SimpleMailMessage();

    @RequestMapping(value = "/sendmsg", method = RequestMethod.GET)
    @ResponseBody
    public String sendMessage(){

        simpleMailMessage.setSubject("~-Test-~");
        simpleMailMessage.setText("test");
        simpleMailMessage.setFrom("xxxxy@xxxxy.com");
        simpleMailMessage.setTo("xxxxy@xxxxy.com");

        mailSender.send(simpleMailMessage);

        return "Mail Sent";

    }
    
    @RequestMapping(value = "/sendMessageWithAttachment", method = RequestMethod.GET)
    @ResponseBody
    public String sendMessageWithAttachment(){

        simpleMailMessage=new SimpleMailMessage();
        simpleMailMessage.setFrom("xxxxy@xxxxy.com");
        simpleMailMessage.setTo("xxxxy@xxxxy.com");
        simpleMailMessage.setSubject("xxxxy" );
        simpleMailMessage.setText("dear davidwangwei456"+"\r\n xxxxy" +",见附件所示");
        
        sendMailWithAttachment("xxxxy.xls",simpleMailMessage);

        return "Mail Sent";

    }
    
    private void sendMailWithAttachment(String fileName,SimpleMailMessage simpleMailMessage) {
        // 发送邮件
        MimeMessage message  = mailSender.createMimeMessage();          
        try {
            MimeMessageHelper helper = new MimeMessageHelper(message , true, "UTF-8");
            helper.setFrom(simpleMailMessage.getFrom());
            helper.setTo(simpleMailMessage.getTo());
            helper.setSubject(simpleMailMessage.getSubject());
            helper.setText(simpleMailMessage.getText());

            FileSystemResource file = new FileSystemResource(fileName);
            helper.addAttachment(file.getFilename(), file);

        } catch (MessagingException e) {
            throw new MailParseException(e);
        }
        mailSender.send(message);
    }

    @RequestMapping(value = "/hello" , method = RequestMethod.GET)
    @ResponseBody
    public String getHello(){
        return "Hello";
    }

 

spring 发送邮件代码示例(带附件和不带附件的)

标签:factor   name   body   filesyste   type   sim   class   row   aging   

原文地址:http://www.cnblogs.com/davidwang456/p/6905532.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!