php mb_send_mail関数 outlookで文字化けする
- 作成日 2019.10.15
- 更新日 2020.07.21
- php
- mb_send_mail, php
phpでメール送信時にoutlookで文字化けが発生していたので、その対処方法
環境
PHP Version 5.6.21
.htaccess編集
レンタルされていたサーバーが、直接apacheの編集ができない環境だったので.htaccessに記載する
## 追加
php_value default_charset "UTF-8"
php_value mbstring.language Japanese
ソースコード
以下のメールを送信するソースでメールを送信
mb_language('ja');
mb_internal_encoding("UTF-8");
//宛先、Fromを設定
$from = "hoge@hoge.com";
//件名
$subject = "件名";
//headerを設定
$charset = "UTF-8";
$headers['MIME-Version'] = "1.0";
$headers['Content-Type'] = "text/plain; charset=".$charset;
$headers['Content-Transfer-Encoding'] = "8bit";
$headers['From'] = $from;
//BCC設定
$headers['BCC'] = $from;
//headerを作成
foreach ($headers as $key => $val) {
$arrheader[] = $key . ': ' . $val;
}
$header = implode("\n", $arrheader);
//本文
$body = "本文";
//送信
mb_send_mail($email, $subject, $body, $header);
これで文字化けは解消された
-
前の記事
Windows10にKongaを構築する 2019.10.15
-
次の記事
Mac Skype多重起動する方法 2019.10.15
コメントを書く