邮件主题行中的特殊字符被转换为问号或方框。
我试图将主题行的动态字符串包装在 URLEncodedFormat 中,但结果是徒劳的。
<cfset strSubject= URLEncodedFormat(s)>
<cfmail
from="xxxxx@xx.com"
to="yyyyyyy@yyy.com"
subject="#strSubject#"
type="html"
>
#testText#
</cfmail>
邮件主题行中的特殊字符被转换为问号或方框。
我试图将主题行的动态字符串包装在 URLEncodedFormat 中,但结果是徒劳的。
<cfset strSubject= URLEncodedFormat(s)>
<cfmail
from="xxxxx@xx.com"
to="yyyyyyy@yyy.com"
subject="#strSubject#"
type="html"
>
#testText#
</cfmail>
假设特殊字符是 unicode 字符,您必须将字符串编码为 base64 格式并在主题行中使用它。像这样,
<cfset strSubject="Demande d’chantillons supplémentaires">
<cfset strSubject=ToBase64(strSubject, "utf-8")>
<cfmail from="test@test.com" to="test@test.com" subject="=?utf-8?B?#strSubject#?=" type="html">
#testText#
</cfmail>
主题行必须采用以下格式=?<charset>?<encoding>?<encoded text>?=
?
和=
是必需的。
“ charset ” 可以是在 IANA 注册的任何字符集。通常它与消息正文的字符集相同。
“ encoding ”可以是“Q”,表示类似于引用的可打印编码的 Q 编码,或“B”表示 base64 编码。
“编码文本”是 Q 编码或 base64 编码的文本。
另外:将 charset="utf-8" 添加到 cfmail 标记。如果您在主题中使用 utf-8,您可能还会在正文中使用它。