jsf 2.0 我们使用了 text/html 但它显示为纯 javamail
Posted
技术标签:
【中文标题】jsf 2.0 我们使用了 text/html 但它显示为纯 javamail【英文标题】:jsf 2.0 we used text/html but it is displaying plain for javamail 【发布时间】:2012-08-15 14:06:28 【问题描述】:我在我的 jsf2.0 应用程序中使用 mail1.4.3 jar,我正在尝试在请求新用户时发送电子邮件,如果我们发送邮件,即使我使用 text/html 作为邮件和我的代码,邮件内容也会显示为普通内容是
MimeMessage 消息 = 新的 MimeMessage(session);
// Set From: header field of the header.
message.setFrom(new InternetAddress(from));
// Set To: header field of the header.
message.addRecipient(Message.RecipientType.TO,
new InternetAddress(to));
StringBuilder bld = new StringBuilder();
bld.append("<h2>");
bld.append("New User Request");
bld.append(" for <FONT style='color:#4649FE;'> " + "TALON");
bld.append("</FONT></h2><br/>");
bld.append("<b>Requested By :");
bld.append("<FONT style='color:#4649FE;'>" + "Y.Sanjeeva Reddygggggggggg"
+ "</FONT></b><br/>");
bld.append("<b>Requested on :");
Date dt = new Date();
Calendar cel = new GregorianCalendar();
cel.setTime(dt);
SimpleDateFormat smpl = new SimpleDateFormat();
bld.append(smpl.format(cel.getTime()));
bld.append("<br/>");
bld.append("<b>User Name :<FONT style='color:#4649FE;'>"
+ "Sanjiv" + "</FONT></b><br/>");
bld.append("<b>Password :<FONT style='color:#4649FE;'>"
+ "Sanjiv" + "</FONT></b><br/>");
bld.append("<FONT style='color:#4649FE;'>");
message.setSubject("This is the Subject Line!");
message.setContent(bld.toString(),
"text/html" );
Transport.send(message);
System.out.println("Sent message successfully....");
谁能帮帮我
谢谢, 桑吉夫
【问题讨论】:
顺便问一下,有哪些事实可以说明当前 JDK 中没有使用集成邮件 API? 【参考方案1】:我将您的源代码与我在工作中的工作代码进行了比较,我看不出有任何区别。 当我查看 Internet 时,我发现一个使用 JavaMail 的德国人guide。根据这本书试试这个:
使用message.setContent(bld.toString());
而不是message.setContent(bld.toString(),"text/html" );
。
如果没有帮助,请尝试 this 。然后它不再起作用,从您的服务器检查您的属性。这些也会影响以正确格式接收电子邮件。
【讨论】:
是的,我使用过 message.setContent(bld.toString(),"text/html" );然后它也不起作用,如果我运行上面的程序,正常的 java 邮件内容显示正常,如果我通过 xhtml 调用它说发送邮件,那么只有内容没有正确显示 您的意思是“html”还是“xhtml”?【参考方案2】:你所说的“显示平原”到底是什么意思?它是否显示所有 html 标记?还是显示没有标记的纯文本?如果是后者,则问题出在您的邮件服务器或邮件阅读器,其中之一是将 html 文本转换为纯文本。
【讨论】:
我收到这样的邮件:TALON的新用户请求请求人:Y.Sanjeeva Reddygggggggggg请求时间:2012 年 8 月 20 日下午 6:01用户名:Sanjiv密码:Sanjiv
我正在设置主题 message.setSubject("这是主题行!");但是在邮件中,主题是空的,即没有主题,并且地址是未公开的ID 您使用的是什么版本的 JavaMail?尝试在 Transport.send(message) 之前添加 message.saveChanges()。 我在 Transport.send(message) 之前使用 message.saveChanges() :( 但不起作用,实际上如果我通过 java 发送邮件,如 MailClass mailClass = new MailClass(); mailClass.sendMails() ; 它工作正常,当我通过 .xhtml 页面使用相同的方法时,如以上是关于jsf 2.0 我们使用了 text/html 但它显示为纯 javamail的主要内容,如果未能解决你的问题,请参考以下文章
RichFaces 3.3.3 和 JSF 2.0 工作示例