【问题标题】:Remove =?UTF-8?Q? from subject field in codeigniter mail to sms删除 =?UTF-8?Q?从 codeigniter 邮件中的主题字段到短信
【发布时间】:2017-05-25 17:32:34
【问题描述】:

我在 Codeigniter 工作并通过电子邮件发送短信,我收到 =?UTF-8?Q?在某些情况下,我的短信主题行中的其他标签。我想阻止这一切。

观察: 我有一个这样构建的变量:

 $subject = 'Waiting List Update from Test Calendar';

这个变量被发送到电子邮件的主题字段

 $this->email->subject($subject);

当使用 html 发送 $config['mailtype'] = 'html'; 到标准电子邮件时,此方法有效。主题如下:

 "Waiting List Update from Test Calendar"

当发送到 SMS 时,我在主题字段中收到以下信息:

 "Subject: =?UTF-8?Q?Waiting=20List=20Update=20?==?UTF-8?Q?from=20Tes?= =?UTF-8?Q?t=20Calendar?"

但如果我像这样直接将文本放入主题字段:

 $this->email->subject('Waiting List Update from Test Calendar');

结果就是我们想要的:

    "Subject: Waiting List Update from Test Calendar"

如果我将$subject 缩短为 20 个字符,结果将产生:

 "Subject: Waiting List Update"
  1. 为什么将消息放在变量中时会得到 20 个字符的限制,但在主题字段中直接放在引号中时却没有?
  2. 如何克服变量中 20 个字符的限制并停止获取 UTF-8 标记?

【问题讨论】:

    标签: php codeigniter email sms


    【解决方案1】:

    如果您的主题使用图标字符,则会发生这种情况,因此您可以将主题中的 MIME 编码文本转换为 UTF-8。

    imap_utf8($your_subject);
    

    http://php.net/manual/en/function.imap-expunge.php[Php手动][1]

    【讨论】:

      猜你喜欢
      • 2012-10-05
      • 2012-12-25
      • 2014-01-06
      • 2017-08-07
      • 2011-11-26
      • 2015-10-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多