mailコマンドでのメール送信(telnetを利用してsmtpが試せないlinuxサーバのケース)

投稿者: | 2019年1月1日

メール送信の備忘録

備忘録です。

ホスティングしているサーバからどこかのサーバへSMTPの送信テストをしたいような場合。構築したサーバがメールを受信するか試すようなケース。

telnet が使えるなら、 telnet shonanfujisawa.net smtp と打って EHLO とか FROM とか叩いてメールを送信します。この shonanfujisawa.net の場合、 ssh でログインしても telnet が叩けません。

mail コマンドを使えばイケました。

mailコマンドでの送信

以下のような条件で。

  • sshでログイン
  • 自身がsmtpサーバとして機能していること
  • 以下の例は、sshでログインしたサーバからメール送信したい
  • 以下の例は、fromアドレスを fromaddr@—.net にして送信したい
  • 以下の例は、宛先(to)を toaddr@+++.net として送信したい
  • subjectはtest subにする
  • 本文は test message にする

ssh でログイン


mail -r fromaddr@—.net toaddr@+++.net

Subject: と出るので、 test sub [enter]

カーソルが次の行に行くので、本文をタイプ
test message

ここで複数行打ってもOK。
打ち終わったら、. [enter]

つまり、


Subject: test sub[enter]
test message[enter]
.[enter]
EOT

EOTが表示され、プロンプトに戻ります。

その他

ccやbccを指定することも可能。
本文を echo で打ったり、 cat で読み込ませて | ( パイプ ) で mail コマンドに渡すことも可能。
-a を使うとファイルの添付が可能。

その他、色々出来るようですが、それは google 先生に聞いてみて下さい。

これでも spfレコードの問題で届かないケースはあると思います。