web-dev-qa-db-ja.com

mutt:「/ home / {{user}} / Mail / sentをロックできませんでした」

私はubuntuでmuttを動作させようとしていますが、エラーが発生し続けます:

"Couldn't lock /home/{{user}}/Mail/sent"

メールを送ろうとしたとき。 ~/Mailに対する私の権限はdrwxrwx---です。これを解決する方法についてアドバイスをいただければ幸いです。

Windowsにbashを使用しています。以下に私の.muttrcファイルの抜粋を示します。私はセキュリティのためのものを省きました。

set folder = "imaps://exchange.ku.dk:993/"
set spoolfile = "+INBOX"
set postponed="+[ku]/Drafts"

set record="~/Mail/sent.lock"
set header_cache=~/.mutt/cache/headers
set message_cachedir=~/.mutt/cache/bodies
set certificate_file=~/.mutt/certificates

set move = no
set editor = 'vim'
set timeout = 10
1
Galadude

私の疑いは、別のサービスがファイルのロックをブロックしていることです。実際には、メールを中継しているようです(.muttrcファイルのfolderディレクティブに従って)。

それはおそらくメールが中継されるために下にPostfixを使用するでしょう、そしてそれは私が犯人であると私が思うところです。 Ubuntuシステムには、許可されていることだけを実行するようにサービスを制限するシステムが付属しており、Postfixをインストールすると、その基本構成が自動的に作成されます(これには、実行する可能性のあるものは含まれません)。もちろん、mutt)。

すばやくテストするには、次のコマンドを呼び出してapparmorツールを停止します。

  • Ubuntu 14.04以前を使用している場合:

    /etc/init.d/apparmor teardown
    
  • Ubuntu 16.04以降を使用している場合:

    systemctl stop apparmor
    

次に、muttをもう一度使用してみてください。それがうまくいけば、私の仮定は正しいです。その場合、次のいずれかを行う必要があります。

  • ApparmorでPostfix構成ファイルを定義しないでください。そのためには、/etc/apparmor.dに移動し、そのツリーの下にある接尾辞ファイルを見つけて削除し、apparmorを再起動するだけで完了です。
  • Postfix構成を定義し、それをmutt追加構成で拡張します。そのためには、学習を開始することをお勧めします ここ
2
nKn

まず、ファイルをロックする別のmuttプロセスがないことを確認します。

$ pgrep -a mutt

次の場合に備えて、メールボックスをロックする別のプロセスがあるかどうかを確認することもできます。

$ lsof /home/$USER/Mail/sent.lock

それ以外の場合は、ロックファイルを削除してみてください。

$ rm /home/$USER/Mail/sent.lock
2
zuazo