- ベストアンサー
CGIでメール送信とファイル転送をする方法とは?
- CGIを利用して、メール送信とファイル転送を行いたい。
- 一応動いているが、最後の確認ページが表示されない。
- 原因は基本的なことを無視している可能性がある。
- みんなの回答 (2)
- 専門家の回答
質問者が選んだベストアンサー
再び_mer_です。 ダウンロードでしたか。言われてみればそうですね。 (プログラムを見ればそうでした) 基本的にダウンロードもページに表示させるのも、 CGI側から見れば同じ扱いになるので、 先の質問の時にも書きましたが、CGIは最後が出力で終了するので、この場合 恐らくダウンロードをさせる(=表示させると言うのと同じ)ことで プログラムがそこで正常終了してしまっているのだと思います。 (終了の?)確認ページはどうしても必要でしょうか?
その他の回答 (1)
- _mer_
- ベストアンサー率47% (27/57)
再び登場の_mer_でございます。こんにちは。 ぱっと見だけなので、外していたらスイマセン。 この真ん中の部分が付加された部分ですよね? まずこの部分だけ抜き出して、コマンドラインからはきちんと動作しますでしょうか? (最後のprint文が出力されますか?) あとスイマセン、ちょっと読み違えていたら申し訳ありませんが、 ファイルの転送というか、保存をしなおしている(?)と言う感じでしょうか。 #一応動いていると言うことは、保存は出来ているということですよね…? #であれば、書き込む先のディレクトリの権限ではなさそうですよね…? 何か逆に質問になってしまいましたごめんなさい。 #あと乳母心ながら、openをかけている部分には失敗した時の為に #エラーを吐かせるようにしておいた方が良いかと思います。 何かヒントになれば幸いです。
補足
_mer_さん、度々すみません。 追加部分は、単独で動いていたのを貼り付けました。 もともとviで編集していて、okwebには手打ちでコピーしましたので、もしかしたらタイプミスがあるかもしれません。流れとして何か間違っているのかな?と考えた次第です。 このCGIでやろうとしているのは、ダウンロードページで、名前を入力してSubmitしたときに、名前の入ったメールの発信とダウンロードをワンクリックで実行したいんです。説明不足ですみません。 テストの結果は、ちゃんとメールも届いているし、ダウンロードも完了できているんです。ただ、最後の確認ページが出てこないんです。ログにエラーも無いようです。 openのエラー処理は、とりあえずこれが動いてから考えようと思ってました。(^^)ゞ お気づきの点があればご指摘いただけると幸いです。 よろしくお願いします。
お礼
_mer_さん、ありがとうございます。 確認ページは必須ではありませんので、止めにしました。 最後のブロックをコメントアウトしてもエラーは発生しませんでしたので、ご指摘の通りだと思います。 これで、すっきりしました。 今度は、エラー処理に挑戦です。(^^) perlの本は買ってあったんですが、CGIの説明がほとんどなくて、困ってました。CGIの本を探して見ます。 本論には関係ありませんが、_mer_さんってものすごく幅広い質問に答えていらっしゃるんですね。感心してしまいました。本当はこういう事を書く場所じゃないと思っていますが、ここのシステムでは他に感想を述べる場所がなくって…。 ありがとうございました。