web-dev-qa-db-ja.com

Linuxでのmailコマンドに関する問題

Mailコマンドでメールを送信したいのですが、うまくいきませんでした。

次のコマンドを使用します。

mail -v -s "test" [email protected]

その後、端末は常に待機し、応答がありません。また、/ var/log/mailには何もありません。誰か助けてもらえますか?

ありがとう

ちなみに、私のオペレーティングシステムはDebianです

1
yaronli

そのコマンドの後、mailを実行しているプロセスは、stdinで入力を待機しています。これは、Ctrl-D(ファイルの終わり)で終了する必要があります。 )。

ヒアドキュメント をパイプまたはリダイレクトまたは使用することもできます

パイプの使用例:

 date | mail -s "now is" [email protected]

メッセージの入力

 mail -s "a message" [email protected]
 body of your message
 end it with Ctrl-D

本文を含むファイルをリダイレクトする

 mail -s "a message in file" [email protected] < mailbody.txt

ヒアドキュメントの使用

 mail -s "a here doc" [email protected] <<ENDMSG
    this is the here doc
    ended by the line below
 ENDMSG

mailは、標準入力に何かを入力しない場合の対話型プログラムです。したがって、メッセージ本文をインタラクティブに入力し、.のみを含む行でテキストを終了する必要があります。

例えば。:

mail -v -s "test" [email protected]
Some text
.

または、テキストをmailの標準入力にパイプすることもできます。

echo "some text" | mail -v -s "test" [email protected]
4
bmk