Categories: IT

mb_send_mail とか mb_encode_mimeheader とか

とりあえず覚書。
扱うプログラムのエンコードはUTF-8。
mb_send_mailを使ってメール送信する。
まず、確認すべきはmb_language();
“ja”を使いたいけど、デフォルトは”neutral”かも。
“ja”じゃなかったらmb_language(“ja”)する。
他への影響が怖いような場合なら、
$def_lan = mb_language();
てな感じで保持して、最後に戻そう。
次、mb_internal_encoding()。
これ重要。特に件名部分。
内部で扱う文字エンコードなので、mb_internal_encoding(‘UTF-8’)としちゃいそうなんだけど、
メール送信時はmb_internal_encoding(‘ISO-2022-JP’)にしないとだめ。
mb_encode_mimeheader()やmb_send_mail()を使う場合、
この内部エンコードが使われるようで、
ISO-2022-JPにしとかないと、
件名の最後の方だけ文字化けしたりする。
本文には影響なしぽい。
で、メール送信した後は、
mb_internal_encoding(‘UTF-8’);
で戻しておこう。

管理者

Recent Posts

Androidにて「Cookieが無効です 」が出る

AndroidスマホのChro…

2か月 ago

GASで半角カナから全角カナへ変換

Googleスプレッドシートに…

3か月 ago

This website uses cookies.