teratermマクロ:メール送信ツール
久しぶりにteratermマクロでツールを作ってみた。
teratermマクロは前の会社でつまらない雑用をやっつけるために覚えたものの、
意外と便利なことに気づき、それ以来お気に入りのおもちゃです。
今回作ったのはメール送信するマクロ。
おかしなメールを検証用のメールボックスに流し込む時なんかに便利。
環境設定部分を変更すればいろんな環境で動くかなと思います。
ちなみに大量のメール送信には明らかに向きません。(だって遅いし…)
ちなみにteratermマクロというのはteratermに同梱されているttpmacro.exeです。
※自分はteraterm proを使っていますが、teratermについてるマクロはファイル名が少し違います。
詳細はteratermをインストールするとついてくるヘルプ↓を見ましょう。
C:\Program Files\teraterm\macroj.hlp
- mail_macro.ttl
設定ファイルの説明
;************** ;* 環境設定 * ;************** SMTP_HOST = 'hogehoge.com' SMTP_PORT = '25' FROM_ADDR = 'user@hogehoge.com' RCPT_ADDR = 'user@hogehoge.com' CONF_FILE = 'C:\\Program Files\\teraterm\\ttermmacro.ini' MAIL_FILE = 'mail.txt' ;************** ;* 接続処理 * ;************** strconcat CONNECT_STR SMTP_HOST strconcat CONNECT_STR ':' strconcat CONNECT_STR SMTP_PORT strconcat CONNECT_STR ' /T=0' strconcat CONNECT_STR ' /F="' strconcat CONNECT_STR CONF_FILE strconcat CONNECT_STR '" /nossh' connect CONNECT_STR wait '220' sendln 'EHLO ' SMTP_HOST wait '250 ' sendln 'MAIL FROM: <' FROM_ADDR '>' wait '250' sendln 'RCPT TO: <' RCPT_ADDR '>' wait '250' ;************** ;* 本文送信 * ;************** sendln 'DATA' wait '354' fileopen fhandle MAIL_FILE 0 :loop filereadln fhandle line if result goto fclose sendln line goto loop :fclose fileclose fhandle yesnobox 'このメッセージを送信して良いですか?' '確認' if result goto doSend disconnect exit :doSend sendln "." wait '250' sendln'QUIT' wait '221' exit
- mail.txt
From: user@hogehoge.com To: user2@hogehoge.com Subject: Test Mail!! MIME-Version: 1.0 Content-Type: text/plain; charset=iso-2022-jp Content-Transfer-Encoding: 7bit テストメール