我的网站是用Java/JSP构建的,需要发送大约5-10封预定义的电子邮件,然后给注册的人发送临时电子邮件。我希望避免‘重新发明车轮’。我更希望电子邮件模板能够简单地使用WYSIWYG类型的gui进行管理。到目前为止,我所读到的所有东西(速度、共济会等等)都可以用于预定义的模板,没有UI,也没有特别的电子邮件帮助。
只是好奇,我最好自己写点东西,还是有什么能帮上忙的?
发布于 2011-02-23 15:39:16
为什么你需要一个GUI来制作你的电子邮件?最好保持电子邮件内容尽可能简单,而不是嵌入HTML标签。如果你的用户决定用纯文本打开电子邮件,那么他们看到的只是一堆难看的标签。
使用模板引擎,如速度或共济会是制作你的电子邮件模板的方法。即使是特别的电子邮件,你也可以使用电子邮件模板来保持页眉和页脚保持不变,并且你可以用你的临时消息交换正文内容。
在我的项目中,我有一个电子邮件模板,它使用的是速比,如下所示:
异常-Email.vm文件
** Please do not reply to this message **
The project administrator has been notified regarding this error.
Remote Host : $remoteHost
Server : $serverName
Request URI : $requestURI
User ID : $currentUser
Exception :
$stackTrace要将构造的电子邮件作为字符串,我执行以下操作:-
private String getMessage(HttpServletRequest request, Throwable t) {
Map<String, String> values = new HashMap<String, String>();
values.put("remoteHost", request.getRemoteHost());
values.put("serverName", request.getServerName());
values.put("requestURI", request.getRequestURI());
values.put("currentUser", ((currentUser != null) ? currentUser.getLanId() : "(User is undefined)"));
StringWriter sw = new StringWriter(500);
t.printStackTrace(new PrintWriter(sw));
values.put("stackTrace", sw.toString());
return VelocityEngineUtils.mergeTemplateIntoString(velocityEngine, "exception-email.vm", values);
}当然,我正在用Spring连接velocityEngine:-
<bean id="velocityEngine" class="org.springframework.ui.velocity.VelocityEngineFactoryBean">
<property name="velocityProperties">
<props>
<prop key="resource.loader">class</prop>
<prop key="class.resource.loader.class">org.apache.velocity.runtime.resource.loader.ClasspathResourceLoader</prop>
</props>
</property>
</bean>https://stackoverflow.com/questions/5092929
复制相似问题