• ベストアンサー

smtpサーバへtelnetログインし、対話形式でメールを送付するところを自動化したい

「smtpサーバへ、telnetログイン(ポート指定:25)後、対話形式でメールを送付する。」 というのを自動化したいのですが、手動でコマンドを投入する分ではうまく行くのですが、Windowsのバッチファイル(.bat)で実行すると、ログインしたところで止まってしまいます。 どうすればうまくいくでしょうか?

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

  • ベストアンサー
回答No.4

とりあえず、teratermで「手動でコマンドを投入」と同じことをやれば、うまくいくはずですがそれは大丈夫でしょうか。 teratermの設定で注意するのは、 改行コード=CR+LF、漢字コード=JIS、ローカルエコー=オン ぐらいだと思います。 手動でやって問題なければ、マクロを書いて自動化しましょう。

olive_surf
質問者

お礼

> ローカルエコー=オン これがオフになっていたのが原因のようでした。 オンにしたらできました。 ありがとうございました。

その他の回答 (3)

  • rinkun
  • ベストアンサー率44% (706/1571)
回答No.3

> すいません。追加質問になってしまいますが、teratermマクロでも無理ですか? teratermはよく知らないけど自動実行マクロならかなりのことができるでしょう。 昔のパソコン通信なんかは自動巡回するものでしたし。

olive_surf
質問者

お礼

ご回答ありがとうございました。

  • notnot
  • ベストアンサー率47% (4900/10358)
回答No.2

>teratermマクロでも無理ですか? 出来ます。

olive_surf
質問者

お礼

ご回答ありがとうございます。 > 出来ます 私がteratermマクロで試したところ、smtpサーバへログインしてみましたが、制御できませんでした。 ********************************************** telnet [smtpサーバのアドレス] 25 ~~~~~~smtpサーバからの応答~~~~~~ ********************************************** 上記の後はキーボードからの入力も受付ない状態になりました。 何か制御コードの変更とか必要なのでしょうか?

  • rinkun
  • ベストアンサー率44% (706/1571)
回答No.1

対話の自動化はバッチファイルじゃ無理。 expectのような自動化プログラムで行う。 http://www.linux.or.jp/JM/html/expect/man1/expect.1.html Windows版もあるはずなので探してみては。

参考URL:
http://www.linux.or.jp/JM/html/expect/man1/expect.1.html
olive_surf
質問者

お礼

ありがとうございます。 expectを勉強してみます。

olive_surf
質問者

補足

すいません。追加質問になってしまいますが、teratermマクロでも無理ですか?

関連するQ&A