php初心者ですが質問をさせてください。

メールフォームにて内容等は正常に送受信できるのですが、
その中(上部に)にMime-Version: 1.0
        Content-Type: text/plain; charset=ISO-2022-JP
        Content-Transfer-Encoding: 7bitと、表示されます。
何が問題でどのような解決策があるのか、どなたかご教授いただけませんか?
初心者目線での回答をお願いいたします。

回答の条件
  • URL必須
  • 1人5回まで
  • 13歳以上
  • 登録:2011/09/23 23:01:09
  • 終了:2011/09/25 11:53:04

ベストアンサー

id:pacochi No.1

ぱこち回答回数247ベストアンサー獲得回数1122011/09/24 14:47:28

メールヘッダの区切り文字 (\r\n) が、処理の途中で誤って変換され、その結果区切り文字がメールヘッダの終わり (空行) と誤認されて、区切り文字以降のヘッダが本文に押し出されたのではないかと推測します。

正常に送受信とありますが、必要なヘッダが欠けているはずなので、おそらくメーラーによってはうまく受信できなくなっていると思われます。

(Content-Type: text/plain; charset=ISO-2022-JP, Content-Transfer-Encoding: 7bit というのは日本では割とスタンダードな形式なので、メーラーが気を利かせて自動判定しているのだと思います。)


これは、PHP マニュアルの mail 関数に書かれている問題と同じ問題なのではないかと思います。

メッセージが受信されなかった場合には、LF(\n)のみを使ってみてください。

Unix の MTA の中には、自動的に LF を CRLF に変換してしまう

ものがあります(もし CRLF を利用していた場合、CR が重複してしまいます)。

ただし、これは最後の手段です。というのも、これは

» RFC 2822 に違反しているからです。

PHP: mail - Manual

この場合、メールヘッダの処理をしている部分で \r\n を使っているところを探して \n に変更すると、正常に動作する可能性があります。

(もしこの辺が原因で無かった場合は、変更した部分は元に戻しておいて下さい。)


スクリプトが思ったように動作しないという質問の場合、問題が起きるコードをコメントや返信に貼り付けて下さると、回答する側も原因を推測しやすくなると思います。

(人力検索はてなでは質問文の文字数制限が厳しいので、コメントの方にコードを貼り付けることが多いようです。)

id:ht88888888

表示されることがなくなりました。

本当にありがとうございました。

2011/09/25 11:52:41

コメントはまだありません

この質問への反応(ブックマークコメント)

「あの人に答えてほしい」「この質問はあの人が答えられそう」というときに、回答リクエストを送ってみてましょう。

これ以上回答リクエストを送信することはできません。制限について

絞り込み :
はてなココの「ともだち」を表示します。
回答リクエストを送信したユーザーはいません