springboot之发送邮件带附件

667 阅读1分钟

本次只配置了QQ邮箱发送

工具类

 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.mail.javamail.JavaMailSender;
 import org.springframework.mail.javamail.MimeMessageHelper;
 import org.springframework.stereotype.Component;
 import org.springframework.stereotype.Service;
 
 import javax.mail.MessagingException;
 import javax.mail.internet.MimeMessage;
 import java.io.File;
 import java.util.Map;
 
 
 @Component
 public class MailService {
     @Autowired
     JavaMailSender javaMailSender ;
     public void sandAttachMail(String from, String to, String subject, String content, File file)
     {
         try {
             MimeMessage message = javaMailSender.createMimeMessage();
             MimeMessageHelper helper = new MimeMessageHelper(message, true);
             helper.setFrom(from);
             helper.setTo(to);
             helper.setSubject(subject);
             helper.setText(content);
             helper.addAttachment(file.getName(),file);
             javaMailSender.send(message);
         }catch (MessagingException e)
         {
             e.printStackTrace();
         }
     }
 
 }

测试类

  
 import org.junit.Test;
 import org.junit.runner.RunWith;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.boot.test.context.SpringBootTest;
 import org.springframework.test.context.junit4.SpringRunner;
 
 import java.io.File;
 
 @RunWith(SpringRunner.class)
 @SpringBootTest
 public class MailApplicationTests {
     @Autowired
     MailService mailService;
     @Test
     public void sendAttachMail()
     {
         mailService.sandAttachMail("3344234234234@qq.com",
                 "432432423423@163.com","测试邮件主题",
                 "测试邮件内容",new File("要发送的附件"));
     }
 }