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

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

宇文兴言
2023-03-14

我正在尝试使用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个答案

慎懿轩
2023-03-14

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

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发送电子邮件

 类似资料:
  • 我正在使用一个具有许多不同库依赖关系的gradle项目,并使用新的清单合并。在我的

  • 编辑问题以包括所需的行为、特定问题或错误以及重现问题所需的最短代码。这将帮助其他人回答问题。 我有这个练习。为什么不使用reappeAll?我有一个错误:字符串索引超出范围:1

  • 使用的技术: Spring Boot 1.4.2.Release,Spring 4.3.4.Release,Tymeleaf 2.1.5.Release,Tomcat Embeded 8.5.6、Maven 3、Java 8 我创建了这个服务来发送电子邮件

  • 问题内容: 是否可以代替python类替代python类? 可能并不明显,但是如果您使用StringIO处理二进制数据,那么您在使用Python 2.7或更高版本时就不走运了。 问题答案: 尝试。 正如其他人指出的那样,您的确可以在2.7中使用它,但是对于前向兼容性而言,它是一个不错的选择。

  • 我有两个文本文件,并用第二个文件中的实际匹配项替换XXX占位符-按照第二个文件中给出的顺序。 第一个文本是一个文件,在一行中有多行和多个占位符。 欧盟由以下国家组成:XXX、XXX、XXX、XXX、XXX。。。。欧盟内最大的三个国家是XXX,XXX,XXX。 第二个文件是每行一个匹配的列表: 波兰荷兰丹麦西班牙意大利德国法国 我想把它替换如下: 欧洲联盟由下列国家组成:波兰、荷兰、丹麦、西班牙、意

  • 我真的不喜欢这样链接命令。有没有另一种方法在一个做?