我送與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也許? –