人力検索はてな
モバイル版を表示しています。PC版はこちら
i-mobile

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

●質問者: ht88888888
●カテゴリ:コンピュータ ウェブ制作
○ 状態 :終了
└ 回答数 : 1/1件

▽最新の回答へ

1 ● ぱこち
ベストアンサー

メールヘッダの区切り文字 (\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 に変更すると、正常に動作する可能性があります。

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


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

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

◎質問者からの返答

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

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

関連質問

●質問をもっと探す●



0.人力検索はてなトップ
8.このページを友達に紹介
9.このページの先頭へ
対応機種一覧
お問い合わせ
ヘルプ/お知らせ
ログイン
無料ユーザー登録
はてなトップ