PHP で UTF-8 のメールを送信するには?

ショコラ
ショコラ

PHP で UTF-8 のメールを送信するには?

「Content-Transfer-Encoding」を「8bit」でキメマス。
〔ポイント〕
①mb_language(‘Japanese’);
②$body は UTF-8 のまま。
③$headers[‘Subject’] = mb_encode_mimeheader($subject);
④$headers[‘Content-Transfer-Encoding’] = ‘8bit’;
⑤$headers[‘Content-Type’] = ‘text/plain; charset=”utf-8″‘;

もっさん先輩
もっさん先輩

以下のソースが開発のヒントになるはずです。

mb_language('Japanese');
$headers['Subject'] = mb_encode_mimeheader($subject);
$headers['Content-Transfer-Encoding'] = '8bit';
$headers['Content-Type'] = 'text/plain; charset="utf-8"';

$mail_object = Mail::factory('smtp',$params);
$result = $mail_object->send($recipients,$headers,$body);

シチュエーション

この前 base64 で韓国語のメールを送ることができたのですが、base64 のメールだとサンダーバードのフィルター・検索に引っかからないという不具合がありましたので、8bitメールについて調査しました。

以上

Scroll to Top