Linux

Linuxのコマンドラインから外部SMTPサーバを指定してメール送信

More than 3 years have passed since last update.

会社のワークステーションからコマンドラインでメールを送りたかったのですが、
意外とコマンド1発じゃないんですね。
メールアドレスとかSMTPサーバーの名前は適宜修正のこと。

send_mail
#!/bin/sh

SUBJECT=$1
BODY=$2

(
echo HELO my.domain.com;                  sleep 1;
echo MAIL FROM: myself@my.domain.com;     sleep 1;
echo RCPT TO: my_mobile_phone@mobile.com; sleep 1;
echo DATA;                                sleep 1;
echo From: myself@my.domain.com;          sleep 1;
echo To: my_mobile_phone@mobile.com;      sleep 1;
echo Subject: ${SUBJECT};                 sleep 1;
echo ;                                    sleep 1;
echo ${BODY};                             sleep 1;
echo .;                                   sleep 1;
echo QUIT;                                sleep 1;
) | telnet 12.34.56.78 25 

シンプルに件名、内容のみ

$ foo ; send_mail NOTIFY end_of_job

目的は時間のかかる処理が終わったらメールを送信して通知することだったので、この程度で。