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%情况下的邮件格式了。
