誤って /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

関連情報