zoukankan      html  css  js  c++  java
  • spring 发送邮件代码示例(带附件和不带附件的)

    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(@RequestParam String mail){
    
            simpleMailMessage.setSubject("~-Test-~");
            simpleMailMessage.setText("test");
            simpleMailMessage.setFrom("xxxxy@xxxxy.com");

              if(mail.indexOf(",")>0){
              String[] tos=mail.split(",");
              simpleMailMessage.setTo(tos);
              }else{
              simpleMailMessage.setTo(mail);
              }

            mailSender.send(simpleMailMessage);
    
            return "Mail Sent";
    
        }
        
        @RequestMapping(value = "/sendMessageWithAttachment", method = RequestMethod.GET)
        @ResponseBody
        public String sendMessageWithAttachment(@RequestParam String mail){
    
            simpleMailMessage=new SimpleMailMessage();
            simpleMailMessage.setFrom("xxxxy@xxxxy.com");

          if(mail.indexOf(",")>0){
          String[] tos=mail.split(",");
          simpleMailMessage.setTo(tos);
          }else{
          simpleMailMessage.setTo(mail);
          }

            simpleMailMessage.setSubject("xxxxy" );
            simpleMailMessage.setText("dear davidwangwei456"+"
     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";
        }
  • 相关阅读:
    vue 表格组件分享
    原创-整理了下常用的js数组 、对象、数字、字符串的操作方法
    h5 plus/h5+规范使用,模块索引,教你如何去看h5+的手册
    vue 右键菜单插件 简单、可扩展、样式自定义的右键菜单
    vuecli3 引入script 针对没有cmd amd require等方式的js
    vue新手入门指导,一篇让你学会vue技术栈,本人初学时候的文档
    node搭建本地服务器
    利用nodeJs anywhere搭建本地服务器环境
    vue封装组件的正确方式-封装类似elementui的组件
    微信小程序自定义模态框(字体图标)
  • 原文地址:https://www.cnblogs.com/davidwang456/p/6905532.html
Copyright © 2011-2022 走看看