栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 软件开发 > 后端开发 > Java

springboot mail 发送邮件和附件

Java 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

springboot mail 发送邮件和附件

springboot mail 发送邮件

  1. #QQ邮箱
      mail:
        host: smtp.qq.com
        protocol: smtp
        default-encoding: utf-8
        port: 587
        username: 1234567891@qq.com
        #授权码
        password: abcdefghijklmn
        test-connection: true
        properties:
          mail:
            smtp:
              auth: true
              starttls:
                enable: true
                required: true
    
  2. //spring注入 
    @Autowired
        JavaMailSender javaMailSender;
    //而不是
    //JavaMailSender javaMailSender = new JavaMailSenderImpl();
    
  3.  		// 发件人(是自己)
            simpleMailMessage.setFrom("1234567891@163.com");
            // 收件人
            simpleMailMessage.setTo("9876543219@163.com");
            // 邮件主题
            simpleMailMessage.setSubject("测试");
            // 邮件内容
            simpleMailMessage.setText("测试测试");
             javaMailSender.send(simpleMailMessage);
    
   
    @PostMapping("sendEmail")
    public String enclosureEmail(String email, String  urlPath, String title, String text) {
        try {
            Properties prop = new Properties();
            prop.setProperty("mail.host","smtp.qq.com");
            prop.setProperty("mail.transport.protocol","smtp");
            prop.setProperty("mail.smtp.auth","true");
            MyAuth myAuth = new MyAuth("1311111111@qq.com","abcdefghijk");
            Session session = Session.getInstance(prop, myAuth);
            //附件
            MimeMessage message = new MimeMessage(session);
            //发件人
            message.setFrom("1311111111@qq.com");
            //收件人
            message.setRecipient(Message.RecipientType.TO, new InternetAddress(email));
            //title邮件标题
            message.setSubject(title);
            MimeBodyPart attach = new MimeBodyPart();
            //根据url获取文件
            URL url = new URL(urlPath);
            DataSource dataSource = new URLDataSource(url);
            DataHandler file = new DataHandler(dataSource);
            attach.setDataHandler(file);
            String name = file.getName();
            String fileName = name.substring(name.lastIndexOf("/") + 1);
            //设置附件文件名
            attach.setFileName(fileName);
            MimeMultipart multipart = new MimeMultipart();
            multipart.addBodyPart(attach);
            //正文
            MimeBodyPart content = new MimeBodyPart();
            //正文内容
            content.setText(text);
            multipart.addBodyPart(content);
            multipart.setSubType("mixed");
            message.setContent(multipart);
            message.saveChanges();
            //发送
            Transport ts = session.getTransport();
            ts.send(message);
            ts.close();
          return "200";
        } catch (Exception e) {
            e.printStackTrace();
            return "500";
        }
    }

public class MyAuth extends Authenticator{
   private String username;
   private String password;

   public MyAuth(String username, String password) {
       this.username = username;
       this.password = password;
   }

   public String getUsername() {
       return username;
   }

   public void setUsername(String username) {
       this.username = username;
   }

   public String getPassword() {
       return password;
   }

   public void setPassword(String password) {
       this.password = password;
   }

   @Override
   protected PasswordAuthentication getPasswordAuthentication() {
       return new PasswordAuthentication(username, password);
   }
}
转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/666030.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号