-PR-
解決済み

cronを使って定期的にtelnetでメールサーバーにアクセスしたい

  • すぐに回答を!
  • 質問No.67916
  • 閲覧数368
  • ありがとう数1
  • 気になる数0
  • 回答数1
  • コメント数0

お礼率 74% (37/50)

cronを利用して定期的にtelnetにてメールサーバーにアクセスするコマンド
を教えていただきたいのです。
そのために/sbinなどにhogeというような実行形式のファイルをおきますよね。
そこに記述する内容なのですが、
--------------------------------------
#! /bin/sh

PATH=?bin:/sbin:/usr/bin:/usr/sbin
export PATH

telnet メールサーバー名 110
とした後に以下のコマンドを実行するようにしたいのです。
user ユーザー名
pass パスワード
list
quit
----------------------------------------
しかし上記を箇条書きにして実際に
# /sbin/hoge
実行するとメールサーバーに入るところで止まってしまい
quitコマンドを入力すると以下のエラーが返ってきます。

/sbin/hoge: user: command not found
/sbin/hoge: pass: command not found
/sbin/hoge: list: command not found
/sbin/hoge: quit: command not found

記述を間違えているのでしょうから当然のエラーとは思うのですが、肝心の
記述方法が分かりません。
これが解決しないとcrontabに記述できないわけでして、どなたか分かる方は
いらっしゃらないかと思ったのです。
よろしかったら教えて下さいませ。
通報する
  • 回答数1
  • 気になる
    質問をブックマークします。
    マイページでまとめて確認できます。

質問者が選んだベストアンサー

  • 回答No.1
レベル11

ベストアンサー率 40% (104/257)

shell scriptで書くとしたら "<<"を使うか別のファイルにかいておいて
redirectするのではないかと思います。ただ、相手の応答とかチェックでき
ないので相手が落ちてるとか、応答が遅い場合に破綻する気が...(-_^;

-----------------------------------
#! /bin/sh
PATH=/bin:/sbin:/usr/bin:/usr/sbin
export PATH
telnet メールサーバー名 110 << FOOBAR
user ユーザー名
pass パスワード
list
quit
FOOBAR
-----------------------------------

Perlのモジュールで POP3Clientというのがあり、内部的には相手の応答をみて
コマンドを送っているようなのでそれを利用した方が手早くできるかとおもい
ます。

#!/usr/local/bin/perl
use Mail::POP3Client;
$pop = new Mail::POP3Client("me", "mypassword", "pop3.do.main");
for ($i = 1; $i <= $pop->Count; $i++) {
print $pop->Head($i), "\n";
}
お礼コメント
acky

お礼率 74% (37/50)

ご回答ありがとうございます。
実は自分も急を要していたので、質問を書き込んだ後にいろいろと調べているウチに、Mail::POP3というのを見つけまして、そのサイトを参考にしてスクリプトを書いたところ目的が達成できました。お手間を取らせまして、本当にありがとうございました。
投稿日時 - 2001-04-25 12:56:58
関連するQ&A
-PR-
-PR-
このQ&Aで解決しましたか?
関連するQ&A
-PR-
-PR-
このQ&Aにこう思った!同じようなことあった!感想や体験を書こう
このQ&Aにはまだコメントがありません。
あなたの思ったこと、知っていることをここにコメントしてみましょう。

その他の関連するQ&A、テーマをキーワードで探す

キーワードでQ&A、テーマを検索する
-PR-
-PR-
-PR-

特集


新大学生・新社会人のパソコンの悩みを解決!

いま みんなが気になるQ&A

関連するQ&A

-PR-

ピックアップ

-PR-
ページ先頭へ