【问题标题】:How do i send HTML email containing dynamic link via JAVA如何通过 JAVA 发送包含动态链接的 HTML 电子邮件
【发布时间】:2014-02-08 16:27:10
【问题描述】:

我正在尝试使用以下代码通过电子邮件发送动态链接。

Message messageSSL = new MimeMessage(session);
int hash=1000;

String content="<a href=\"www.abc.com/activation?hash="+i+"\">click here</a>";

messageSSL.setContent(content, "text/html");   

但是,我未能生成动态链接。邮件中的输出为纯文本格式。

输出(在邮件中):

click here

尽管如此,以下代码仍然有效并生成了一个名为“单击此处”的链接。

String content="<a href=\"www.abc.com\">click here</a>";

谢谢!!

【问题讨论】:

  • 这不是重复问题,请完整阅读问题。
  • 您只是在查看格式正确的纯文本电子邮件吗? (即为客户端更改格式)
  • @Keyser 你能再解释一下吗?
  • 您使用的是什么邮件服务器?你用的是什么邮件阅读器?如果您使用邮件阅读器中的“查看源代码”功能查看邮件的原始 MIME 文本,您会看到什么?如果您将“http://”放在 URL 的开头会有帮助吗?
  • @Bill 问题已解决,问题是由于反斜杠造成的。无论如何,谢谢。

标签: java email jakarta-mail


【解决方案1】:

Apache Commons 电子邮件库有一些有用的类,它们负责处理诸如使 HTML 电子邮件正常工作之类的低级细节。看看吧:

http://commons.apache.org/proper/commons-email/

【讨论】:

    【解决方案2】:

    能否请您用html标签附上链接并尝试一次。

     String content="<html><body><a href='www.abc.com\\activation?hash="+i+"\">click here</a> </body></html>";
    

    我正在使用相同的库并且对我来说工作正常。

    请检查下面的线程 How Can I put a HTML link Inside an email body?

    【讨论】:

      【解决方案3】:

      我认为问题出在反斜杠上。我们应该在 url 中使用正斜杠。请更改并尝试一下。

      【讨论】:

        猜你喜欢
        • 2016-04-08
        • 1970-01-01
        • 1970-01-01
        • 2016-11-06
        • 2018-08-28
        • 2014-07-23
        • 1970-01-01
        • 1970-01-01
        • 2022-10-23
        相关资源
        最近更新 更多