我有一个处理用户注册的servlet。该servlet还向用户发送激活电子邮件。我已经在另一个类中实现了Mail发送,但这里是处理向用户发送邮件的函数:
if(localEjb.createUser(usr) != null)
{
boolean status = true;
EmailSetting emailSetting = localEjb.fetchSetting();
if(emailSetting != null)
{
Mail mail = new Mail();
String message = "Dear " + lastName + " , " +
"Your account has been created on Eventry. " +
"Please click this link '" + emailSetting.getBaseURL() + "activate?" + securityCode + "' to complete the activation process";
status = mail.send(emailSetting, emailSetting.getRecipient(), email, Message.EVENTRY_ACCOUNT_ACTIVATION_INSTRUCTIONS, message, null, null);
}
/*this user has been successfully created on the portal*/
this.respond(response, status, status ? Message.activation_mail_sent : Message.activation_mail_failed,null);
}
else
{
// a technical error occureed, we couldn't create the user (Should never happen)
this.respond(response, true, Message.registration_failed + Message.technical_fault, null);
}
现在,正如您所看到的,我已经以非常简单的方式编写了要发送的消息,并且它可以正常工作。但我现在真正需要的是拥有一个包含CSS和HTML的自定义电子邮件。我已经有了这个,但我无法弄清楚如何将它插入servlet。或者,如果我可以使用JSP,我应该怎么做呢?
感谢。
答案 0 :(得分:0)
您可以forward
使用JSP并提供HttpServletResponseWrapper
来使用StringWriter替换JSP ServletResponse.getWriter
。
但是,电子邮件具有特定属性,需要进行测试,就像HTML的确切外观一样。电子邮件必须是text / html内容类型,也许最好有text / plain的后备。图像必须随邮件一起提供。 CSS仍然是一个温柔的主题。
所以我会把任务分成