PHPのPEARメールの質問です。 只今PHPでPEARメールの送信テストを行っております。
PHPのPEARメールの質問です。 只今PHPでPEARメールの送信テストを行っております。 送信はできてメッセージ内容も正しく表示できるようになったのですが、 なぜかメーラ-Thunderbirdのディスプレイ右下に出るポップアップの本文だけが文字化けしてしまいます。 原因を調べましたが、よくわからなかったのでどなかた知っていられる方教えていただけると幸いです。 ソースコードは下記のとおりです。 <?php class SendMail { /** * メール送信関数 * * @param string $to * @param string $subject * @param string $body * @return boolean */ public function mailSender($to, $subject, $body) { require_once 'Mail.php'; mb_language('ja'); mb_internal_encoding('UTF-8'); // SMTP接続設定 $settings = array( 'host' => 'smtp.gmail.com', 'port' => 587, 'auth' => true, 'username' => 'xxxxx@xxxxx.xxx', 'password' => 'xxxxxxxxxx', 'debug' => false ); $to_address = $to; $from_address = 'xxxxx@xxxxx.xxx'; $subject = mb_encode_mimeheader(mb_convert_encoding($subject, 'iso-2022-jp')); $to_header = mb_encode_mimeheader(mb_convert_encoding('宛先', 'iso-2022-jp')) . "<{$to_address}>"; $from_header = mb_encode_mimeheader(mb_convert_encoding('差出人', 'iso-2022-jp')) . "<{$from_address}>"; // メールヘッダ設定 $headers = array( 'To' => $to_header, 'From' => $from_header, 'Subject' => $subject ); $body = mb_convert_encoding($body, 'iso-2022-jp'); $smtp = Mail::factory('smtp', $settings); // 送信処理 $result = $smtp->send( $to_address, $headers, $body ); if (PEAR::isError($result)) { return false; } return true; } }
ご回答ありがとうございます。 Thunderbirdディスプレイ右下に出るポップアップの本文は、 他メールだと正しく表示されているのにPEARメールから送信した場合のみ本文が文字化けしてしまいます。 Thunderbirdの文字コードの確認もしましたが、「iso-2022-jp」になっていたので 問題ないかと思われます。
PHP・394閲覧・50