usr*_*ΛΩΝ 5 java email spring mime velocity
使用Spring 3.0.5,我可以通过调用生成电子邮件VelocityEngineUtils.mergeTemplateIntoString(VelocityEngine velocityEngine, String templateLocation, Map model).此方法生成一个完全符合MIME邮件的字符串.
在Spring 3.2.11中,该方法不受支持:必须使用VelocityEngineUtils.mergeTemplate(VelocityEngine velocityEngine, String templateLocation, String encoding, Map model, Writer writer)附加encoding参数.
作为邮件上下文,我试过org.apache.commons.codec.CharEncoding.US_ASCII(等于US-ASCII),但它完全打破了我的邮件.我尝试的所有客户端(Outlook Web邮件,Outlook 2013,Windows 8的邮件)都看不到主题并显示所有MIME部分,如下所示:
------=_Part_0_1846461141.1413184892265
Content-Type: multipart/related; boundary="----=_Part_1_249771572.1413184892276"
------=_Part_1_249771572.1413184892276
Content-Type: multipart/alternative; boundary="----=_Part_2_861087694.1413184892311"
------=_Part_2_861087694.1413184892311
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: quoted-printable
Run Code Online (Sandbox Code Playgroud)
(看看UTF-8!)
问题是:使用编码参数调用的正确方法是什么mergeTemplateIntoString?