はじめに
メール送信のテストを行う場合、メーラーの設定などなのでコマンドラインから行うと便利です。
またその際にはメール送信テストやプログラムからのメール送信を受け止めて確認することができるmailcatcher
が便利です。
Bash(Zsh)環境下だとこうするとワンライナーで送ることができました。
{
sleep 0.3;
echo 'ehlo';
sleep 0.3;
echo 'MAIL FROM:<from@example.com>';
sleep 0.3;
echo 'RCPT TO: <rcpt@example.com>';
sleep 0.3;
echo 'DATA';
sleep 0.3;
echo -e 'To:yousan@example.com\n\n'
echo -e 'From:fromheader@example.com\n\n'
echo -e 'this is body\n'
echo '.';
} | telnet localhost 1025
\n
による改行が重要で、これが無いと動きませんでした。
ちゃんと送れていますね。
Dockerでの建て方
mailcatcherをDockerで立てる方法です。
$ docker run -it schickling/mailcatche
デフォルトで1025と1080を使ってくれるようです。
その他
{}
によるコマンド展開便利ですね!
あとsleepって小数点行けることに気が付きました。