
cron.dailyスクリプトの1行が期待通りに動作しません。特別システム内の smtp メール サーバー、この行 rsync -avun --inplace /oneuser/file.xls /otheruser/file.xls| mail -s "$0 $?"Cannot open mail:25
メッセージを提供 ローカル メール サブシステムをセットアップするには何が必要ですか? メール サーバーをセットアップするよりも、シンプルなメールボックスを好みます。ログインした otheruser がコマンドで cron (root) メッセージを読み取れるのが気に入っていますmail
。同様の質問を見つけましたが、答えはここにはありませんローカルメールの取得と配信を設定するにはどうすればいいですか?
コマンドを使用してユーザーにメールを送信しようとすると、mail
ドットの後に
EOT
[root@localhost etc]# send-mail: Cannot open mail:25
答え1
ローカルメール配信用にインストールすることをお勧めしますpostfix
。少なくとも Ubuntu では、ローカル配信のみのオプションを含む設定について対話的に質問されます。
さらに、mailboy
メール配信用のローカル アカウントを作成し、そのアカウントに配信されたメールをすべてのユーザーが読めるようにすることもできます。
root
メールを に配信するにはmailboy
、/etc/aliases
次の行を編集して追加します。
root: mailboy@localhost
そうしたら実行しますnewaliases
。
答え2
私のログにもこのメッセージがありましたが、これは Fedora 19+ のメール送信の新しいデフォルトの ssmtp のようです。少なくとも私の Fedora 19 にはインストールされているようです。ポート 25 で他の mta を実行している場合、ssmtp はこのエラーを表示します。しかし、私が書いているのは、送信されなかったメッセージは、私の場合は /root にある dead.letter ファイルに行くということです。ですから、配信されなかったメールがどうなったのか疑問に思うかもしれませんが、それは dead.letter という名前の 1 つのファイルにあります。
答え3
私は Fedora 20 を使用していますが、新しくインストールしたシステムで突然このエラーが発生し始めました。以前のホスト (>70) はすべて次のように表示されていました。
echo "Hello world" | mail -s "Salute"[メールアドレス]
スクリプトなどから非常に便利です。
コマンドライン呼び出しが失敗し始めました
sSMTP[3144]: 「メール」ポート25に接続できません。 sSMTP[3144]: メールを開けません:25
sendmail のジャーナルには、コマンドが -bd オプション (「デーモンとして実行」) を好まないことが示されています。どうしてでしょうか。もちろん、デーモン化されていない場合は、25/tcp でリッスンしないので、エラーが発生します。
ここで、コマンド自体を実行します。元の sendmail バイナリを実行する代わりに、ssmtp が代わりに実行されました。
/usr/sbin/sendmail -> /etc/alternatives/mta -> /usr/sbin/sendmail.ssmtp
の代わりに
/usr/sbin/sendmail -> /etc/alternatives/mta -> /usr/sbin/sendmail.sendmail
さて、ssmtp はマニュアル ページにあるように非常にシンプルで、sendmail を最も簡単な機能で置き換えることを目的としていますが、-bd オプションはサポートされません。したがって、ポート 25 はありません。
ここですべてが中断されます - ポート 25 と通信するコマンドは終了します。
アンインストールしました (yum remove ssmtp) - これにより、元の sendmail がその役割を再開しました - サービスを再度開始すると、ポート 25 がアクティブになります。
これで、メールの送信が以前の状態に戻りました。
後ほど、ssmtp の利点について見ていきます...
答え4
必要なのはSMTPサーバーとメール転送エージェント。
opensmtpd
インストールしてサービスを開始するだけです。デフォルト設定郵便物の地元配達を行うことです。