【メール】コマンドラインでメール送信

はじめに

今回やりたかったのは以下
・localから外部へのメール送信
・外部からsmtp-auth認証でのメール送信

localから外部へのメール送信

> mail -r from@example.jp to@example.jp
Subject: タイトル
本文
. # ピリオド+改行で本文終了して送信

外部からsmtp-auth認証でのメール送信

# smtp-authで必要なパスワード
> printf "%s\0%s\0%s" from@example.jp from@example.jp password | openssl base64 -e | tr -d '\n' ;
xxxxxxxxxxx # これをコピー

# 送信
> telnet mail.example.jp 25
Trying xxx.xxx.xxx.xxx...
Connected to example.jp.
Escape character is '^]'.
220 mail.example.jp ESMTP unknown
HELO mail.example.jp #★ここを入力
250 mail.example.jp
MAIL FROM: from@example.jp #★ここを入力
250 2.1.0 Ok
AUTH PLAIN 上でコピーしたSMTP-AUTH用のパスワードテキスト #★ここを入力
235 2.7.0 Authentication successful
RCPT TO: to@example.jp #★入力
250 2.1.5 Ok
DATA #
354 End data with <CR><LF>.<CR><LF>
Subject: タイトル #★入力
From: from@example.jp #★入力
本文 #★入力
. #★入力
250 2.0.0 Ok: queued as 7FBB76002D7

以上です