springboot发送邮件(3):发送带附件的邮件

springboot实现邮件功能:发送html格式邮件:

1.建springboot项目,导入依赖;application.properties配置文件,看

springboot发送邮件(1):发送简单邮件

2.编写服务接口,实现类:

/**
 * 邮件服务接口
 * Created by ASUS on 2018/5/5
 *
 * @Authod Grey Wolf
 */
public interface MailService {

   
    /**
     * 发送带附件的邮件
     * @param to
     * @param subject
     * @param content
     * @param filePath
     */
    void sendAttachmentsMail(String to,String subject,String content,String filePath);

}
/**
 *
 * 邮件服务类
 * Created by ASUS on 2018/5/5
 *
 * @Authod Grey Wolf
 */

@Service("mailService")
public class MailServiceImpl implements MailService {

    @Autowired
    private JavaMailSender mailSender;

    /**
     * 发送带附件的邮件
     * @param to 接受者
     * @param subject 主题
     * @param content 内容
     * @param filePath 文件路径
     */
    @Override
    public void sendAttachmentsMail(String to, String subject, String content, String filePath) {
        MimeMessage message=mailSender.createMimeMessage();
        try {
            MimeMessageHelper helper=new MimeMessageHelper(message,true);
            helper.setFrom(form);
            helper.setTo(to);
            helper.setSubject(subject);
            helper.setText(content);
            FileSystemResource file=new FileSystemResource(new File(filePath));
            String fileName=filePath.substring(filePath.lastIndexOf(File.separator));
      //添加多个附件可以使用多条
      //helper.addAttachment(fileName,file);
     helper.addAttachment(fileName,file);
            mailSender.send(message);
            System.out.println("带附件的邮件发送成功");
        }catch (Exception e){
            e.printStackTrace();
            System.out.println("发送带附件的邮件失败");
        }
    }


}

3.编写测试类MailTest:

/**
 * 发送邮件测试类
 * Created by ASUS on 2018/5/5
 *
 * @Authod Grey Wolf
 */
@RunWith(SpringRunner.class)
@SpringBootTest
public class MailTest {

    @Autowired
    private MailService mailService;

    @Value("${mail.fromMail.addr}")
    private String form;

    @Test
    public  void sendAttachmentsMail(){
        String filePath="C:\\Users\\ASUS\\Pictures\\SharedImageServer\\contentpic\\2.jpg";
        mailService.sendAttachmentsMail(form,"带附件的邮件","有附件,请查收",filePath);
    }

}

4.看测试结果:


我的座右铭:不会,我可以学;落后,我可以追赶;跌倒,我可以站起来;我一定行。