在使用Grails的mail plugin的时候发现一个很奇怪的问题:
邮件模板中有<%@ page contentType="text/html;charset=UTF-8" %>,则发出的是plain text,不是html; 而把它改成<%@ page contentType="text/html" %>,就发出html的邮件了。
查看源代码:
class MailMessageBuilder {
private MailMessage message
static PATH_TO_MAILVIEWS = "/WEB-INF/grails-app/views"
static HTML_CONTENTTYPES = ['text/html', 'text/xhtml']
...
if (HTML_CONTENTTYPES.contains(t.metaInfo.contentType)) {
html(out.toString()) // @todo Spring mail helper will not set correct mime type if we give it XHTML
} else {
text(out)
}
...
代码写得不够严谨啊
探讨使用Grails mailplugin时遇到的一个问题:当邮件模板中包含特定的contentType声明时,邮件发送格式出现异常。通过调整contentType设置解决了问题。

被折叠的 条评论
为什么被折叠?



