当前位置: 首页 > 知识库问答 >
问题:

javaMail:当需要HTML时以纯文本形式发送MimeMessage?

荆鸿畅
2023-03-14

我的SpringREST Web应用程序中有以下Java代码:

代码:

@Service("Mailer")
public class Mailer {

    private final JavaMailSender mailSender;

    private void send(final Email email){

        MimeMessage mimeMessage = mailSender.createMimeMessage();

        MimeMessageHelper helper = new MimeMessageHelper(mimeMessage);
        helper.setFrom(address);
        helper.setTo(email.to());
        helper.setSubject(email.subject());

        helper.setText(email.content(), true); //is this correct?

        mailSender.send(mimeMessage);

    }

}   
public void setText(String text, boolean html) throws MessagingException {
        Assert.notNull(text, "Text must not be null");
        MimePart partToUse;
        if (isMultipart()) {
            partToUse = getMainPart();
        }
        else {
            partToUse = this.mimeMessage;
        }
        if (html) {
            setHtmlTextToMimePart(partToUse, text);
        }
        else {
            setPlainTextToMimePart(partToUse, text);
        }
    }
<!DOCTYPE html>
<html lang="en">
   <head>
...

如何确保电子邮件发送和呈现为HTML而不是纯文本?

共有1个答案

师冥夜
2023-03-14

尝试像这样直接设置MimeMessage内容。

mimeMessage.setContent(email.content(), "text/html");
mimeMessage.saveChanges();
 类似资料:
  • 我想发送一封电子邮件使用JavaMail与HTML标签没有格式化。 我使用以下代码: 多谢帮忙!

  • 我已经编写了一个代码通过java mail API发送,所有的工作都很好,但是我发送的纯文本以可下载附件的形式被收件人接收,而不是纯文本消息。 我不知道为什么会这样。下面给出的是我运行时的代码及其输出。 我使用过Java Mail API、NetBeans IDE、Glassfish服务器、Enterprise Java Bean。 结果如下: 邮件收件人-看,简单的短信是附件的形式。

  • 我在StackOverflow中看到了许多关于如何同时发送纯文本和html文本的邮件的答案。我的问题是,我如何在html部分中显示某种链接来看到文本部分?(某些并在单击时显示纯文本版本) 多谢了。

  • 我有这个Spring Rest APIendpoint: XML模型。 但没有任何内容打印到控制台中。知道我错在哪里吗?可能这个组件没有注册?

  • 问题内容: 对于本地Apache服务器(与Ubuntu一起运行)上的某个文件夹,我希望所有* php文件都将显示为好像纯文本文件一样。我需要这个,因为我只想查看这些文件的源代码而不运行它们。 在搜索时,我发现大多数人都存在相反的问题:-),并且真的找不到适合我的解决方案。 我需要在文件夹中包含什么? 谢谢! 问题答案: 答案: 在.htaccess文件类型中 感谢布拉德!

  • 我使用javamail通过IMAP协议从exchage帐户读取邮件。这些邮件是纯格式的,内容是XML。 几乎所有这些邮件的大小都很短(通常小于100Kb)。然而,有时我不得不处理大型邮件(大约10Mb-15Mb)。例如,昨天我收到一封13Mb大小的电子邮件。仅仅读它就花了50多分钟。这正常吗?有没有办法提高它的性能?代码是: 花费如此长时间的方法是。我做错了什么?有什么提示吗? 非常感谢,我的英语