/var/spool/mqueue が誤って削除された場合の対処

/var/spool/mqueue が誤って削除された場合の対処

他のスクリプトのバグのため、var/spool/mqueueに1000個のメッセージがあります。

メッセージの送信を防ぐには、/var/spool/mqueueを削除する必要があることをどこかで読みました。

残念ながら、sendmailはこれを実行した後にメールを送信できないようです!メールを送信しようとしても受信できません。

mailq を実行すると、次のような結果が出力されます。

MSP Queue status...
        /var/spool/mqueue-client (4 requests)
-----Q-ID----- --Size-- -----Q-Time----- ------------Sender/Recipient-----------
sAID7J0d003724       13 Tue Nov 18 13:07 me
                 (Deferred: 421 4.3.0 collect: Cannot write ./dfsAID7JS9003725)
                     [email protected]
sAID998F003775       15 Tue Nov 18 13:09 me
                 (Deferred: 421 4.3.0 collect: Cannot write ./dfsAID99Xx003776)
                     [email protected]
sAID7sxW003748      116 Tue Nov 18 13:07 me
                 (Deferred: 421 4.3.0 collect: Cannot write ./dfsAID7sQr003749)
                     [email protected]
sAID6QO1003700      117 Tue Nov 18 13:06 me
                 (Deferred: 421 4.3.0 collect: Cannot write ./dfsAID6Qda003701)
                     [email protected]
        Total requests: 4
MTA Queue status...
/var/spool/mqueue is empty
        Total requests: 0
me@mycomp:/var/spool/mqueue$ 

どうすれば解決できますか?

編集:私は通常以下を介してメールを送信します:

echo "My message" | sendmail [email protected]

答え1

次のコマンドを使用してディレクトリを作成します。

mkdir  /var/spool/mqueue

mqueueディレクトリに正しい権限があることを確認してください。

chown root:mail /var/spool/mqueue

その後、Sendmail を再起動します。

service sendmail restart

関連情報