Springboot整合javamail发送一般邮件

一般的邮件除了有文字以外,可能还会有超链接,附件如图片、文件啊等等。在前文的配置基础上我们再略改一点就可以。超链接的话我们需要写成代码形式。

@Data
@AllArgsConstructor
@NoArgsConstructor
@Component
@ConfigurationProperties(prefix = "email")
public class Mail {
    private String from;
    private String to;
    private String subject;
    private String text;
}
@Autowired
    private Mail mail;
    @Autowired
    private JavaMailSender javaMailSender;
    @Override
    public void sendMail() throws MessagingException {
        MimeMessage mimeMessage=javaMailSender.createMimeMessage();
        MimeMessageHelper messageHelper=new MimeMessageHelper(mimeMessage,true);    //添加附件需要第二个参数
        messageHelper.setFrom(mail.getFrom());
        messageHelper.setTo(mail.getTo());
        messageHelper.setSubject(mail.getSubject());
        messageHelper.setText(mail.getText(), true);        //需要解析前端代码需要第二个参数
        //只能是项目内的文件,项目外的扫描不到
        File file=new File("你的文件绝对路径");
        messageHelper.addAttachment("源代码.java",file);        //前面的参数是在邮件上显示名字。没有后缀系统不能识别,所以需要加上后缀
        javaMailSender.send(mimeMessage);
    }

这样就可以满足99%情况下的邮件格式了。

经验分享 程序员 微信小程序 职场和发展