提问者:小点点

一串用JavaMailSender替换在href html中不工作


我正在尝试使用JavaMailSender发送电子邮件。我在HTML中的href标记中有一个动态链接,我必须替换它。在我的数据库中,我存储了:

<p>You're file is ready</p>
<p>This is the link:</strong></p>
<p><a href="$link">$link</a></p>

因此,我在Java Spring中的变量文本中检索该字符串,并发送电子邮件:

               text = text.replace("$link",link);
            mimeMessageHelper.setText(text, true);
            //mimeMessageHelper.setText(reportConf.getMailText()+"\n"+link);
            LOGGER.info("Textmail: " + text);
            javaMailSender.send(mimeMessage);

在记录器中,我看到:

<p><a href="mylink.com">mylink.com</a></p>

但在电子邮件中我看到:

You're file is ready
This is the link:
[mylink.com]mylink.com

而且这两个链接都不可点击。这有什么问题吗?替换不是要使用的正确功能?


共1个答案

匿名用户

问题似乎是由于正文内容类型不正确引起的,请尝试按以下方式设置内容:

String msg = "This is my first email using JavaMailer";
MimeBodyPart mimeBodyPart = new MimeBodyPart();
mimeBodyPart.setContent(msg, "text/html; charset=utf-8");
Multipart multipart = new MimeMultipart();
multipart.addBodyPart(mimeBodyPart);

使用Java发送电子邮件