###事象
XAMPPにMailHogを導入してPHPのmb_send_mailで送信してMaikHogで受信すると
「$B$3$l$O%F%9%H$G$9!#J8;z2=$1$7$F$J$$$H$3$s$J$U$&$JJ8>O$K$J$j$^$9!#(B」のような形式で
文字化けしてしまいます。
さくらサーバーでは文字化けせずに正しく日本語で表示されたのですが
XAMPPに導入してMailHogで受信するとになぜか文字化けしてしまいます。
同じ経験された方、SMTPに詳しい方などいましたらよろしくお願いします。
###コード、受信メール情報
〇大雑把なプログラムの流れはこのようになってます。
php
1/*文字コード設定*/ 2mb_language('ja'); 3mb_internal_encoding('UTF-8'); 4 5$mailto = 'xxxxx@abc.co.jp'; 6$subject_order_str = 'メール件名'; 7$mailtext_order_str = 'これは見本です'; 8$returnMail ="customer.corp@aaa.com"; 9$header1 = 'From: ' . mb_encode_mimeheader(h($_SESSION['name1']) . h($_SESSION['name2'])) . ' <xxxxx@abc.co.jp>'; 10/* この時点ですでに文字化けしてる?*/ 11 12/*半角カタカナ対応のためコンバート*/ 13$mailtext_order_str = mb_convert_encoding( $mailtext_order_str, 'ISO-2022-JP-MS', 'UTF-8' ); 14/* ↑ここでも文字化けしてしまう?*/ 15 16mb_send_mail($mailto, $subject_order_str, $mailtext_order_str, $header1, '-f'. $returnMail); 17
MailHog上で受信されたメール
/*おそらく本文*/ $B$3$l$O8+K$G$9(B /*ヘッダ情報?*/ Content-Transfer-Encoding: 7bit Content-Type: text/plain; charset=ISO-2022-JP From: =?ISO-2022-JP?B?GyRCJWQlXiVAJT8lbSUmGyhC?= <xxxxx@abc.co.jp> MIME-Version: 1.0 Message-ID: Tw6zqBYl1i21Mtj_yqJBW7IMW4JGYrgvDgcorktIfEw=@mailhog.example Received: from localhost by mailhog.example (MailHog) id Tw6zqBYl1i21Mtj_yqJBW7IMW4JGYrgvDgcorktIfEw=@mailhog.example; Wed, 27 Jan 2021 10:09:38 +0900 Return-Path: <customer.corp@aaa.com> Subject: =?ISO-2022-JP?B?GyRCJWEhPCVrN29MPhsoQg==?= To: xxxxx@abc.co.jp ```> ###環境 PHP Version 7.4.12
回答3件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
2021/01/27 05:06
2021/01/27 05:37
2021/01/27 06:01