|
メールを送るCGIについて。 フォームに入力されたメールアドレスに対して、Sendmailを使って CGI(Perl)からメールを送る時のことです。 ユーザやホスト名などが間違ったメールアドレスを入力しても、外部の サーバ宛てなら、正常にCGIが終了し、エラーメールが戻ってきます。 ここまでは良いのですが、CGIやSendmailがあるサーバと同じサーバ 宛てにメールを送る場合、アドレスが正しければもちろん正常にCGI は終了し、メールは届きますが、UserUnknownになるようなメールアド レスを指定して送ると、正常にCGIは終了せず、サーバエラーになっ てしまいます。 このようなサーバエラーを回避する方法はあるのでしょうか? どなたか教えて下さい。よろしくお願いします。 |
|
初めましてpearlともうします。 以下のことで大変困っており、この掲示板にたどり着きました。 どうぞアドバイスをよろしくお願いします。 NTサーバーのあるディレクトリ(aaa)以下の 複数のサブディレクトリ(x1,x2,x3...)にある全てのファイルを 階層構造を保ったまま、Solarisのあるディレクトリにそっくり 移動(転送)したいのです。操作できるのは、Solaris側のみで、 シェルスクリプトによる自動実行を目指しております。 当初は、ftpのオプションで簡単に出来ると思っておりましたが・・。 また、不定期にサブディレクトリおよびファイルの追加があり 出来得るならば、初回以降は差分ファイルの転送だけ行いたい のですが、実現可能な方法をどなたかご教示願えませんか? |
|
>>2209 ナナシサソ > おいらはこう書くべきと思うけどな そうですね、僕の書いたコードではうまく動きませんでした。 >>2211 ぷよ丸 要はエラーを無視できればよいのですか? 何もエラー処理を 考えずに書けば無視できるのではないかと思うのですが、 具体的にどのように sendmail を実行していますか? >>2212 pearl おそらくは rsync を使うのがベストではないかと思います (使った ことはありませんが)。それがダメなら wget かなぁ。あるいは Solaris に sharity-light を入れて SMB しゃべれるようにして、 NT 側は共有フォルダ (って言うのかな) にしておくとか (これも 使ったことはありません)。 |
|
「エラー処理を無視できれば・・・」で、ひらめいて、エラーログ を見ながらいろいろとやってると解決できました。 つまり、sendmailでメールを送るときに、同一サーバ宛てのメー ルアドレスが間違っていると、標準出力にUserUnknownのエラーが 書き出され、HTML出力前にそうなるから、エラー(BadHeader のエラーかな?)になっていたんですね。 それが分かったので、HTMLを先に出力してから標準出力を閉じ、 sendmailでメール送るという順序にすることで解決しました。 これだと、sendmailの実行時にエラーが出てもCGIからは無視し た感じになりますものね。 めでたしめでたしで解決したので報告します。 コメントありがとうございました。 これからもよろしくお願いします。 |
|
>>2207 68user > 要は、 > … cut … > ということでしょうか? そういう事だと思います。 以前書いた時に記述した近藤さんのサイトにも > @a[0]のような書き方はPerlのコードとして正しいものだからです。 と書かれていますし。 > perl に配列とリストという区別はあるんでしたっけ。 ん〜, スカラーで評価した時に, 配列は要素数を返し リストは最終要素を返す。 とかそういう話ではなくてでしょうか? でも, scalar (@a); とか書いたら, しっかり最終要素が吐き出されたので なんか, 自分でも @a と (@a) の違いはよくわかりません。 少なくとも > えっと、@a[0] と (@a)[0] は違うんですよね? はい。そうです。 とは言えなくなってしまいました。 # 読み返すとゴミのような発言ですが, ご容赦下さい。m(_ _)m |
|
訂正です。 >>2215 /tk > 最終要素が吐き出されたので 要素数が吐き出されたので |
|
はじめましてです。 『HTTPクライアントを作ってみよう』の辺を参考にHTTPクライアントを 作っているのですが、うまくいきません。 まず、”作ってみよう”の前にtelnetを使ってのところでつまずきました。 % telnet test.hoge.com 80 Trying 123.123.123.10... Connected to test.hoge.com. Escape character is '^]'. GET /test/test.html HTTP/1.0(リターン) とやると、『NOT FOUND』になってしまいます。 ※ブラウザでhttp://test.hoge.com/test/test.htmlは表示される。 ※ちなみに、http://123.123.123.10/test/test.htmlは『NOT FOUND』 おそらく、Apacheでヴァーチャルホストで設定しているのだと 思いますが、このような場合どのようにすればよいのでしょうか? 以上 宜しくお願いいたします。 |
|
>>2217 QDAK GET / HTTP/1.0(改行) Host: test.hoge.com(改行) (改行) |
|
>>2207 68user 「常駐システム」という言葉が悪かったですね、訂正します。 >Servlet コンテナが常駐して あえて言えば mod_perlに近いのでしょうか? まあ、そのうちに勉強して理解できるように頑張ります。 #なかなか時間が取れませんが… >>2217 QDAK ナナシサソ(舌を噛みそう(^^;)さんも書いていますが、 http://X68000.startshop.co.jp/~68user/net/http-4.html の「さらなる改善点・バーチャルホストに対応」をどうぞ。 |
|
>2213 アドバイス有り難うございました。検討した結果使うことは出来ませんでしたが大変勉強になりました |
|
はじめまして。 「UNIXの部屋」でコマンド集を ”かなり”の量コピーさせていただきました。現場用サブnoteに保存して活用いたします。 また何か困ったことがあればここに来ると思いますがそのときはよろしくお願いします。 ありがとうございました。 |
|
crontab -e user でcronを登録したのですが起動するときにどうも環境設定が user で ログインした状態と違うみたいです。 .cshrc を取り込まずに cron が 動いてるらしくパスやら環境変数やらまるで違うのです。 そこで以下のようにむりやり設定するようにしたのですが 35 18 * * * setenv LANG ja;setenv ・・・ 結果は駄目でした。 cronが起動される際の環境設定(環境変数やパス)はどこでどうやって 設定するのか分かりますか? |
|
下記No.2222 は解決したので無視してください。 申し訳ありません。 |
|
1./usr/local/reg/env/.cshrc.sun中で設定され ている a-e, l, m で始まる alias を実際の file に基づき説明 せよ(Mule の複数バッファの機能やカット,ペーストの機能を利 用すると良い). 2.ヒストリ機能で直前のコマンドを少し変更する方法を 調べろ.(cp foo bar と入力する代りに cp ffo bar と入力して しまった場合等に便利) 3.*等のグロッビング用の文字を普通に入力するための方法を 調べろ(ファイル名が * のものを作成せよ.ただし,Mule は使 用しない.set noglob もしない). 4.(t)csh において,~ は特別な意味を持つ文字である.この意 味を調べろ(複数あるかもしれない). (参考)Emacs には,shell という関数や manual-entry という関数が存在する. 1〜4 に対する回答を,Subject が Report 5 なる mail で, 10/25(木)までに ip-rep@j-lab.ee.aoyama.ac.jp に送ること. |
|
No.2224は学校の課題なんですが、メールは送らないでください。このアドレスは先生のなので、意味がないのです。僕は生徒で、答えがわかったら掲示板に書いてください。お願いします。 |
|
「掲示板に書いてください。」って・・・ 日本語の勉強が先だよな・・ 先生に苦情を送っちゃっていいですか? |
|
どうもすいませんでした。昨日からずっとインターネットで調べていたのですが、解らなかったので甘い考えでした。でも、自力でやって、二番だけわかったんですよ。やっぱりだめですよね楽しようとしたら。お返事まってます。 |