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

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

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

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

PEAR

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

メール

メールは、コンピュータネットワークを利用し、 情報等を交換する手段のことです。

Q&A

0回答

369閲覧

utf-8でのメール送信について

annderber

総合スコア98

PHP

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

PEAR

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

メール

メールは、コンピュータネットワークを利用し、 情報等を交換する手段のことです。

0グッド

1クリップ

投稿2018/04/11 10:28

編集2022/01/12 10:55

お世話になります。

phpでメール送信処理を書いています。
pearのmailライブラリを使用しています。

メールのエンコードをutf-8にして送信しようと考えています。

環境

 OS・・・windows2012R2
Apache・・・2.4
PHP・・・5.6
SMTPサーバー・・・melon

下記がメール送信処理です(一部抜粋)。

php

1setlocale(LC_ALL, 'ja_JP.UTF-8'); 2 3mb_language("ja"); 4mb_internal_encoding("UTF-8"); 5 6$to = 'test1@gmail.com'; 7$from = 'test2@gmail.com'; 8$subject = '件名'; 9$text = '本文'; 10 11$mime = new Mail_Mime(); 12 13$mime->setTxtBody($text); 14 15$setbody['head_charset'] = 'UTF-8'; 16$setbody['text_charset'] = 'UTF-8'; 17 18$headers['To'] = $to; 19$headers['From'] = $from; 20$headers['Subject'] = $subject; 21 22 23$body = $mime->get($setbody); 24$headers = $mime->headers($headers); 25 26$smtp = Mail::factory("smtp", array("host"=>"localhost", "port" => 25)); 27 28 29$smtp->send($to, $headers, $body); 30

質問

質問は2つあります。

1. 「件名」をmb_encode_mimeheaderでエンコードせずメール送信しても、受信したメールは正常に表示されます。これは送信時メールサーバー側で変換してくれているからでしょうか。

2. 「件名」をmb_encode_mimeheaderでエンコードした場合、コマンド上でメール処理を走らせると文字化けせずに表示されますが、Apacheサーバーからメール処理を行った場合文字化けしてしまいます。どのような原因が考えられますでしょうか

php

1mb_encode_mimeheader('件名');

よろしくお願いいたします。

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

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

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

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

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

tonkun4os

2018/09/10 02:32

php.ini,http.confの内容が分からないので推測ですがosの文字コードはsjisなので問題無く行くが、ウエーブではAddDefaultCharsetがUTF-8に設定してるから文字化けとか?
guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

まだ回答がついていません

会員登録して回答してみよう

アカウントをお持ちの方は

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

ただいまの回答率
85.50%

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

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

質問する

関連した質問