首页 > 编程语言 > 详细

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

时间:2017-05-25 20:11:39      阅读:343      评论:0      收藏:0      [点我收藏+]
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 发送邮件代码示例(带附件和不带附件的)

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

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!