PHP で文字コード UTF-8 で構築した環境から文字化けさせずに日本語メールを送信する

毎回メール送信機能を作る時にいちいち外部のライブラリを持ってきたり、勉強しなおしていたので、今回書いたコードをそのまま載せておきます。これでしっかりとメールを送信することができます。

1
2
3
4
5
6
7
8
9
10
11
mb_language("japanese");
mb_internal_encoding("UTF-8");
$data = Array(
    'to' => 'info@admin.com'
    'from' => 'info@example.com',
    'name' => 'Tarou Yamada',
    'subject' => 'test mail subkect',
    'body' => 'test mail body',
);
$from = mb_encode_mimeheader(mb_convert_encoding($data['name'], "JIS", "UTF-8")) . "<{$data['from']}>";
mb_send_mail($data['to'], $data['subject'], $data['body'], "From:{$from}");

ちなみに文字コードは環境に合わせて変更しますが、文字コードの設定を間違えると文字化けするので気をつけてください。下記ページも参考になりますので、仕組みや作り方が気になる人は参考にしてください。

コメント

コメントは受け付けていません。