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

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

新規登録して質問してみよう
ただいま回答率
85.35%
MacOS(OSX)

MacOSとは、Appleの開発していたGUI(グラフィカルユーザーインターフェース)を採用したオペレーションシステム(OS)です。Macintoshと共に、市場に出てGUIの普及に大きく貢献しました。

PHP

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

Q&A

解決済

1回答

483閲覧

<html>などのタグがメールソフトでそのまま表示されてしまいます

antaquen

総合スコア3

MacOS(OSX)

MacOSとは、Appleの開発していたGUI(グラフィカルユーザーインターフェース)を採用したオペレーションシステム(OS)です。Macintoshと共に、市場に出てGUIの普及に大きく貢献しました。

PHP

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

0グッド

0クリップ

投稿2020/08/06 06:20

mb_language("ja");

1 mb_internal_encoding("utf-8"); 2 3 $kenmei="テスト"; 4 $honbun="<html><h1>ようこそ</h1><p>メール送信</p>"; 5 6 $moto="From:".mb_encode_mimeheader("サンプル"). 7 "<aaaa@aaa.com>\r\nCc:bbb@bbb.com\r\n 8 Content-type:text/html;charset=iso-2022-jp\r\nX-Mailer:PHP/".phpversion(); 9 10 $check=mb_send_mail("ccc@ccc.com",$kenmei,$honbun,$moto); 11 12 if($check){print("メール完了");}else{print("エラー");} 13 14 ?>

うまく表現できなくて申し訳ないのですが…。

上記コードで、メール受信の表示をさせたいのですが、メールソフトで表示すると、$honbunがそのまま<html><h1>ようこそ</h1><p>メール送信</p>と表示されてしまいます。もちろん表示させたい内容は、<h1><p>が機能した表示です。
送信アドレスを変えても、テキストエディターを変えても、メールソフトをヤフーメールのボックスや、サーバーの管理ページから受信しても変わりありません。

ちなみに使用環境はMacOS10.15.6環境ですが、初めは\r\nも機能せずに、改行できずにそのまま表示していたのですが、それはOSの再インストールとキーボード環境設定改善できました。

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

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

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

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

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

guest

回答1

0

ベストアンサー

ああ、最初の質問に実メールアドレスが書いてあったので削除依頼を出したのですね。
では、こちらにも回答しておきますね。

ええと、実際にこの通りに書いているのだとすると、

PHP

1 $moto="From:".mb_encode_mimeheader("サンプル"). 2 "<aaaa@aaa.com>\r\nCc:bbb@bbb.com\r\n 3 Content-type:text/html;charset=iso-2022-jp\r\nX-Mailer:PHP/".phpversion();

上記の2行目の末尾が"で閉じられていないので、\r\nの直後に実際の改行が入り、ひとつ空行ができますよね。
mb_send_mailの実装を確認していないので推測ですが、その空行がヘッダーの終わりと判断されてしまい、Content-type以下の設定が使われていないのではないかと思います。

試しに、

PHP

1 $moto="From:".mb_encode_mimeheader("サンプル"). 2 "<aaaa@aaa.com>\r\nCc:bbb@bbb.com\r\n". 3 "Content-type:text/html;charset=iso-2022-jp\r\nX-Mailer:PHP/".phpversion();

としてみてください。

投稿2020/08/06 06:29

Daregada

総合スコア11990

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

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

antaquen

2020/08/06 06:33

ひじょうに助かりました。ありがとうございました。
guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

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

ただいまの回答率
85.35%

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

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

質問する

関連した質問