質問をすることでしか得られない、回答やアドバイスがある。

15分調べてもわからないことは、質問しよう!

新規登録して質問してみよう
ただいま回答率
85.48%
PHP

PHPは、Webサイト構築に特化して開発されたプログラミング言語です。大きな特徴のひとつは、HTMLに直接プログラムを埋め込むことができるという点です。PHPを用いることで、HTMLを動的コンテンツとして出力できます。HTMLがそのままブラウザに表示されるのに対し、PHPプログラムはサーバ側で実行された結果がブラウザに表示されるため、PHPスクリプトは「サーバサイドスクリプト」と呼ばれています。

PEAR

PEAR (PHP Extension and Application Repository)はPHPで利用する事ができるライブラリです。

Q&A

解決済

1回答

5324閲覧

php pear mail 文字化け

nerd

総合スコア37

PHP

PHPは、Webサイト構築に特化して開発されたプログラミング言語です。大きな特徴のひとつは、HTMLに直接プログラムを埋め込むことができるという点です。PHPを用いることで、HTMLを動的コンテンツとして出力できます。HTMLがそのままブラウザに表示されるのに対し、PHPプログラムはサーバ側で実行された結果がブラウザに表示されるため、PHPスクリプトは「サーバサイドスクリプト」と呼ばれています。

PEAR

PEAR (PHP Extension and Application Repository)はPHPで利用する事ができるライブラリです。

0グッド

0クリップ

投稿2017/09/28 09:58

編集2017/09/28 10:00

php pear mail を用いてメール送信テストを行っております。
その際に、日本語メールにてメールをSMTP経由で送信をしております。
その中で、メール送信はできており、メールも無事届いております。
1点文字化けが起こっている部分があり、ここはどこの部分が原因なのかわからないのでご質問させていただきます。

WINDOWS10
php 7.1.8
pear 1.10.1
メーラー thunderbird

新規メールを受け取るとWINDOWSの右下POPUPする部分で文字化けをしております。(通知)
添付がその際の画像になります。
文字化けの様子
ですが、メーラーのほうで確認をすると、件名、本文ともに無事に表示されております。

お手数ですがご教授お願いいたします。

require_once("Mail.php"); mb_internal_encoding("UTF-8"); mb_language("Ja"); $params = array( "host" => "xxxx.xxxx.jp", // SMTPサーバー名 "port" => 587, // ポート番号 "auth" => true, // SMTP認証を使用する "username" => "xxxx", // SMTPのユーザー名 "password" => "xxxx" // SMTPのパスワード ); $mailObject = Mail::factory("smtp", $params); // 送信先のメールアドレス $recipients = "xxx@xxxx.com"; // メールヘッダ情報を連想配列としてセット $headers = array( "To" => "xxx@xxxx.com", // →ここで指定したアドレスには送信されない "From" => "info@xxxx.com", "Subject" => mb_encode_mimeheader("メール件名") // 日本語の件名を指定する場合、mb_encode_mimeheaderでエンコード ); // メール本文 $body = "日本語メールの本文。"; // 日本語なのでエンコード $body = mb_convert_encoding($body, "ISO-2022-JP", "auto"); // sendメソッドでメールを送信 $mailObject->send($recipients, $headers, $body);

気になる質問をクリップする

クリップした質問は、後からいつでもMYページで確認できます。

またクリップした質問に回答があった際、通知やメールを受け取ることができます。

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

guest

回答1

0

ベストアンサー

Thunderbird 使っていないので、解決するかわかりませんが・・・

文字コードを示すメールヘッダが不足していますので、日本語メールの場合、$headers に MIME-Version, Content-Type, Content-Transfer-Encoding もあった方がいいかと思います。

$headers = array( "MIME-Version" => "1.0", "Content-Type" => "text/plain; charset=ISO-2022-JP", "Content-Transfer-Encoding" => "7bit", "To" => "xxx@xxxx.com", "From" => "info@xxxx.com", "Subject" => mb_encode_mimeheader("メール件名") );

可能であれば、’ Return-Path’ (エラーメールの返送先)ヘッダもつけた方がいいかも...

投稿2017/09/28 10:29

CHERRY

総合スコア25171

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

nerd

2017/09/28 10:31

ご回答誠にありがとうございます。 今、ご指摘の部分のヘッダーを追加いたしましたところ、無事thunderbirdの新規メールポップアップにも 表示されました!!!
guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

15分調べてもわからないことは
teratailで質問しよう!

ただいまの回答率
85.48%

質問をまとめることで
思考を整理して素早く解決

テンプレート機能で
簡単に質問をまとめる

質問する

関連した質問