ColdFusion cfmail 主题行中的特殊字符

发布于 2025-01-07 09:32:46 字数 527 浏览 0 评论 0原文

邮件主题行中的特殊字符将转换为问号或方框。

我尝试将主题行的动态字符串包装在 URLEncodedFormat 中,但最终徒劳无功。

<cfset strSubject= URLEncodedFormat(s)>
<cfmail 
  from="[email protected]" 
  to="[email protected]" 
  subject="#strSubject#"         
  type="html"
>
  #testText#
</cfmail>

Special characters in the subject line of the mail getting converted in to question marks or boxes.

I have tried to wrap the dynamic string of the subject line in URLEncodedFormat , however ended up in vain.

<cfset strSubject= URLEncodedFormat(s)>
<cfmail 
  from="[email protected]" 
  to="[email protected]" 
  subject="#strSubject#"         
  type="html"
>
  #testText#
</cfmail>

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(3

巴黎盛开的樱花 2025-01-14 09:32:46

假设特殊字符是 unicode 字符,您必须将字符串编码为 base64 格式并在主题行中使用它。像这样,

<cfset strSubject="Demande d’chantillons supplémentaires">
<cfset strSubject=ToBase64(strSubject, "utf-8")>

<cfmail from="[email protected]" to="[email protected]" subject="=?utf-8?B?#strSubject#?=" type="html">
    #testText#
</cfmail>

主题行的格式必须为 =????=

?= 为必填项。

MIME - 编码字

字符集”可以是向 IANA 注册的任何字符集。通常
它将与消息正文具有相同的字符集。

编码”可以是“Q”,表示类似的 Q 编码
到引用打印编码,或“B”表示base64编码。

编码文本”是Q编码或base64编码文本。

Assuming the special characters are unicode charactes, you will have to encode the string to a base64 format and use that in the subject line. Like this,

<cfset strSubject="Demande d’chantillons supplémentaires">
<cfset strSubject=ToBase64(strSubject, "utf-8")>

<cfmail from="[email protected]" to="[email protected]" subject="=?utf-8?B?#strSubject#?=" type="html">
    #testText#
</cfmail>

The subject line must be in the format =?<charset>?<encoding>?<encoded text>?=

The ? and = are required.

MIME - Encoded Word

"charset" may be any character set registered with IANA. Typically
it would be the same charset as the message body.

"encoding" can be either "Q" denoting Q-encoding that is similar
to the quoted-printable encoding, or "B" denoting base64 encoding.

"encoded text" is the Q-encoded or base64-encoded text.

风蛊 2025-01-14 09:32:46

另外:将 charset="utf-8" 添加到 cfmail 标记。如果您在主题中使用 utf-8,那么您可能也会在正文中使用它。

Also: add charset="utf-8" to the cfmail tag. If you are using utf-8 in the subject, you will probably also use it in the body.

╰◇生如夏花灿烂 2025-01-14 09:32:46

就我而言,我只需在执行 cfmail 操作的页面顶部包含 即可。使用CF2018。

In my case, I just had to include <cfprocessingdirective pageencoding="utf-8"> at the top of the page doing the cfmailing. Using CF2018.

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文