有 Java 编程相关的问题?

你可以在下面搜索框中键入要查询的问题!

spring如何在java中将MimerReader的内容转换成字符串?

对于SimpleEmailMessage,您只需执行以下操作:

SimpleMailMessage msg = new SimpleMailMessage()
msg.setFrom(..)
msg.setTo(..)
msg.setCc(..)
msg.setSubject(..)
msg.setText(..)

msg.toString()

结果是:

SimpleMailMessage: from=test@email.com; replyTo=null; to=test@email.com; ... text=Test Body;

这是一种很好的方式,可以轻松查看SimpleEmailMessage的内容,但这是在不发送附件的情况下。我有一个我使用的附件功能

MimeMessage message = javaMailSender.createMimeMessage();
MimeMessageHelper helper = new MimeMessageHelper(message, true);
helper.setFrom(from);
helper.setTo(to);
helper.setCc(InternetAddress.parse(cc));
helper.setSubject(subject);
helper.setText(body);
FileSystemResource file = new FileSystemResource(attachmentPath);
helper.addAttachment(fileName, file);

但是当执行helper.toString()message.toString()时,它只返回java类文本

有没有一种像SimpleEmailMessage那样以字符串格式显示MimeMessage内容的好方法


共 (1) 个答案

  1. # 1 楼答案

    我可以考虑的一个选项是使用Jackson的ObjectMapper将对象转换为JSON并打印,如下所示:

    MimeMessage message = javaMailSender.createMimeMessage();
    MimeMessageHelper helper = new MimeMessageHelper(message, true);
    helper.setFrom(from);
    helper.setTo(to);
    helper.setCc(InternetAddress.parse(cc));
    helper.setSubject(subject);
    helper.setText(body);
    FileSystemResource file = new FileSystemResource(attachmentPath);
    helper.addAttachment(fileName, file);
    
    ObjectMapper mapper = new ObjectMapper();
    String helperAsJson= mapper.writeValueAsString(helper);