我送与CakePHP的电子邮件和我一直在与followign网站测试它: http://spamcheck.postmarkapp.com/CakePHP的邮件编码对象给出错误的字符
我有几个问题,它们中的哪一个是对象的编码。
现在,一个解决方案,遵循我在互联网上找到的一些解决方案。代码的第一行就是我与主题
这里做什么是我的代码:
$newsubject='=?UTF-8?B?'.base64_encode($subject).'?=';
$email = new Email('aws');
$email->from(['[email protected]' => 'test'])
->template('default','confirmation')
->viewVars([
'user_email' => $emailTo,
])
->emailFormat('both')
->to($emailTo)
->subject($newsubject)
->replyTo('[email protected]')
->helpers(['Html', 'Text'])
//->attachments($attachment->path)
->send($message);
我收到的电子邮件后,受试者显示:“= UTF-的8B SW5zY3Jpw6fDo28gbm8gZXZlbnRvOiBOYXRpb25hbCBDb25mZXJlbmNlIG9uIEh1bWFuIFBhcGlsbG9tYSBWaXJ1cw =??? =?=“
我错过了什么?
编辑:
我使用CakePHP 3.3,这里是我的AWS邮件转运的配置
'aws' => [
'transport' => 'aws',
'from' => '[email protected]',
'charset' => 'utf-8',
'headerCharset' => 'utf-8',
]
这里是我的电子邮件:
http://pastie.org/private/hzcicqrlzx425ucanxyl5a
感谢
我不明白的细节,为什么主体不仅是一个字符串?你base64编码你的字符串,并添加UTF-8字符当然结果就是你得到的结果 –
@YannChabot没有编码,我得到的主题正确的电子邮件(Inscriçono evento:...),但测试该网站上的电子邮件,它说: 1.1 SUBJ_ILLEGAL_CHARS主题:有太多的原始非法字符和0。1 SUBJECT_NEEDS_ENCODING主体被编码但没有指定编码 – Cafn
我想你想要的是utf8_encode也许? –