オーダー用のCGIを作成しましたが、顧客がNNのブラウザを使うと、当方で受け取るsendmailが、FROMがNobodyとなって、先方のアドレス、オーダーシートに書き込まれた内容が空となって送られてきます。

IEでは全くない支障がないのですが、どうしてそうなるのか、わかりません。
サーバーを変更すれば、NNでも支障がありません。考えられる理由を教えてください。

回答の条件
  • URL必須
  • 1人2回まで
  • 登録:
  • 終了:--
※ 有料アンケート・ポイント付き質問機能は2023年2月28日に終了しました。

回答5件)

id:dayofgreen No.1

回答回数40ベストアンサー獲得回数0

ポイント10pt

http://www.hatena.ne.jp/1086664997

オーダー用のCGIを作成しましたが、顧客がNNのブラウザを使うと、当方で受け取るsendmailが、FROMがNobodyとなって、先方のアドレス、オーダーシートに書き込まれた内容が.. - 人力検索はてな

回答ではないのでポイントは結構です。

CGIそのものや「サーバーを変更すれば」の意味がわからないと回答は難しいと思います。

id:rasa_25

レンタルサーバAでは、うまく支障なしに動作するのですが、レンタルサーバBでは上記の問題が発生してしまうのです。

CGIというよりはHTMLの問題だと思っているのですが・・・。

2004/06/08 16:06:58
id:mexia No.2

回答回数19ベストアンサー獲得回数0

ポイント20pt

http://www5e.biglobe.ne.jp/~access_r/hp/html/html_017.html

フォームからメールを出す方法 - HTML

CGIで・・・というのが不思議なのですが。

FORMからメールを送る場合でしたら

NNではフォームからメールの取り出しに対応していないバージョンがあります。

(N3、N4はOKですがN6はNG、N7はSubjectに対応していません)

サーバーを変更すれば・・・と言うのも、単にNNでもN3、N4だったからOKだったという可能性もあります。

CGIでのメールフォームがこのまま書かれていたら・・・という場合ということになりますが。

id:rasa_25

私が初心者なので、わかってない部分があると思うのですが・・・。

FORMに入力されたものを顧客が送信ボタンを押すことによってCGIが動き、未入力がある場合、それを即す画面に切り替わったりします。

FORMからメールを送る場合は、上記の様なワザは使えず、メールを当方が受取るだけだと思われるのですが・・・。

教えていただいた参考アドレスでは、IEもNGとなっていますが、IEでは、レンタルサーバーAとBの両方で支障なく使えます。

しかし、NNでは、レンタルサーバーAでは問題なく、Bでは質問の問題が起こってしまいます。

2004/06/09 10:27:45
id:mexia No.3

回答回数19ベストアンサー獲得回数0

http://watch.impress.co.jp/internet/www/article/1999/1122/specia...

ホームページにメール送信機能をつけてみよう

2回目です。ちゃんと把握できていない状態で勘違いな回答ですみません。

1.メールは届くのに空メール

=CGIは動いているが入力されたデータをちゃんと読みとれていない

2.サーバーによってはちゃんと届く

だけでしたら、

FORMのACTIONの表記の仕方が違う(サーバーによってCGIの呼び出し方が違う)

(例:

  

)

という可能性が考えられるんですけど。

それだと、どちらもIEだけは届くというのが不思議ですよね

逆に

1.文字化けしているだけで、空メールでなければ・・・

2.どちらのサーバーもNNはNGなら・・・

文字コード、メゾット、JavaScriptの関係

だと思うのですが。

この場合も、一方のサーバーではちゃんと届いているというのが不思議。

お役に立てずにすみません・・・

ちなみに参考URLでメールフォームについて詳しく書かれているので、一度チェックされてはいかがでしょうか?

CGIやHTMLのソース、サーバーの状態が良くわからないので

見落としている点があるかもしれません。

1.>オーダー用のCGIを作成

2.>CGIというよりはHTMLの問題だと思っているのですが・・・。

3.>レンタルサーバーAでは問題なく、Bでは質問の問題が起こってしまいます

というのは、

*ご自分で書かれた「Perl言語のCGI」

*HTMLから「FORM ACTION=〜.cgi」で呼び出して「sendmail」で送る

*「全く同じもの」をAサーバーとBサーバーにアップした結果

と、勝手に判断しましたが、よろしかったでしょうか?

CGIやHTMLのソース、サーバーの状態が良くわからないので

見落としている点があるかもしれません。

id:rasa_25

>*ご自分で書かれた「Perl言語のCGI」

>*HTMLから「FORM ACTION=〜.cgi」で呼び出して「sendmail」で送る

>*「全く同じもの」をAサーバーとBサーバーにアップした結果

上記の判断でOKです。

参考URL、ありがとうございました。

もう一度、読んで再確認したいと思います。

2004/06/10 11:29:58
id:aki73ix No.4

回答回数5224ベストアンサー獲得回数27

ポイント50pt

http://e-words.jp/w/E382ADE383A3E38383E382B7E383A5E382B5E383BCE3...

キャッシュサーバとは 【cache server】 - 意味・解説 : IT用語辞典

まず、CGIの確認ページや、送信時に呼び出すCGIが、自分自身になっていませんか?つまり form.cgi 自身が <form>タグで自分を呼んでいるということです

その上で

1.WebサイトのアクセスにProxyを使っていませんか?

2.Netscapeの設定でキャッシュしたドキュメントとネットワーク上のドキュメントの比較がしない、もしくはセッション毎になっていませんか?

条件に合うのならば、うまくいかないほうのプロバイダのHTTPのリクエストの形式が不適切なのでしょう

1の場合Proxyを通さないか、プロバイダを返るしかありません

2の場合はNetscapeのキャッシュの設定を「毎回」に変更することによってうまくいくと思います

他のCGIでサービスを提供している企業にも2のリンクのような注意書きが良くあります

http://www.dinos.co.jp/guide/guide19_kankyo.html

ご利用環境の設定について ディノス

id:rasa_25

>まず、CGIの確認ページや、送信時に呼び出すCGIが、自分自身になっていませんか?つまり form.cgi 自身が

タグで自分を呼んでいるということです

もしかしたら・・・

上記の事でしょうか・・・。

内容を確認する為に作成したのですが・・・。

一体、これをどうすれば、いいのでしょうか?

2004/06/11 14:40:34
id:aki73ix No.5

回答回数5224ベストアンサー獲得回数27

ポイント10pt

> <form action=mailer.cgi method=post>

> 上記の事でしょうか・・・。

>内容を確認する為に作成したのですが・・・。

>一体、これをどうすれば、いいのでしょうか?

この記述があるファイルの名前が mailer.cgiであるならばそういうことです。

1.試しに post を getにしてみる

2.CGIを同内容で2つおいて mailer.cgi から mailer2.cgiを呼ぶようにしてみる

3.後は先ほどの回答のように Netscapeのキャッシュの設定を「毎回」に変更することで上手くいく場合があります

2回目の回答で、これ以上回答できないので。続きはいわしでも・・・

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

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

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

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

回答リクエストを送信したユーザーはいません