Java邮件嵌入URL
当我将HTML URL添加到电子邮件正文中时,它不会重定向到首选位置。这是片段,请告诉我我做错了什么Java邮件嵌入URL,java,jsp,jakarta-mail,scriptlet,Java,Jsp,Jakarta Mail,Scriptlet,当我将HTML URL添加到电子邮件正文中时,它不会重定向到首选位置。这是片段,请告诉我我做错了什么 #location variable contains the URL StringBuffer body = new StringBuffer("<html><body>Hi, <br/><br/>"); body.append("<p>"+cmts+"</p>"); #both the ways are not wor
#location variable contains the URL
StringBuffer body = new StringBuffer("<html><body>Hi, <br/><br/>");
body.append("<p>"+cmts+"</p>");
#both the ways are not working, how to construct proper URL
body.append("<br/><br/><a href=\"+location+\">" + location + "</a><br/>");
body.append("<br/><br/><a href="+location+">" +location + "</a><br/>");
#this is working as link only in OUTLOOK, but in other mail client it shows as plain text
body.append("<br/><br/>"+location);
#位置变量包含URL
StringBuffer主体=新的StringBuffer(“嗨,
”);
正文.附加(“”+cmts+“”);
#这两种方法都不起作用,如何构造合适的URL
正文.追加(“
”);
正文.追加(“
”);
#此链接仅在OUTLOOK中用作链接,但在其他邮件客户端中显示为纯文本
body.append(“
”+位置);
网址:
可以通过多种方式在javamail中添加href,例如: 1)
InternetHeaders headers=新InternetHeaders();
headers.addHeader(“内容类型”,“文本/html;字符集=UTF-8”);
字符串aHref=“一些文本\n”+文本+
“\n”代码>
2) String aHref=“一些文本”+text+
“\n”;
messageBodyPart.setText(aHref,“UTF-8”,“html”)代码>
更新:
确保内容类型设置为html
或text/html
,因为text/plain
将仅显示为文本引号似乎有问题。尝试:
body.append("<br/><br/><a href=\""+location+"\">" + location + "</a><br/>");
body.append(
);
您能添加一个您正在使用的URL的示例吗?首先检查这个URL,不使用javaMail,也不检查它是否正常工作?我似乎不知道work@Ghayel请参考代码段中的最后一条语句,它就是这样工作的。但当我在outlook以外的其他客户机中查看时,它显示为纯文本bcoz,而不是包含在其中。我希望它在标记中。当我传递静态url时,它工作,但当我传递包含url的变量时,它不工作,我认为我必须正确地使这个语句body.append(
)代码>变量的值是否已以“http://”开头?如果是这样的话,就像上面的例子一样,添加额外的“http://”也不会有帮助。构造消息do message.writeTo(新文件输出流(“msg.txt”))后;并向我们展示msg.txt中的内容。另外,在包含URL之前,请不要对其进行URL编码。很抱歉,回复太晚。这里是休息日,正如您所说,它工作正常,但它正在重定向到变量名,而不是URL。请检查这张图片@GeekExplorer为什么不在没有%2或类似标志的情况下传递URL?要么在代码中提供简单的URL,比如,要么使用java.net.URLEncoded.encode和java.net.URLEncoded.decoded。很抱歉,回复太晚了。今天是休息日,我按照你的建议尝试了。我收到了成功发送的邮件。请点击这里,它将重定向到变量名而不是URL。我猜字符串的引号与HTML中的引号混淆了。尝试在HTML中使用单引号来帮助区分两者,例如:body.append(
);我在pilot7上试过了,没用。我是否必须对URL进行编码,bcoz当我将URL添加到电子邮件正文时,它显示邮件已成功发送,但未发送邮件,如果我注释掉URL,它将发送邮件。在过去的几周里被困在这里无法解决问题:(请在您收到的电子邮件中发布HTML,我会看一看。嗨,
示例消息
如果您想在此仪表板上发表评论/注释,请单击以下链接!!!
谢谢您
超级用户
@pilot7 plz查看一下。