1

Я пытаюсь заставить Mutt работать на Ubuntu, но продолжаю получать сообщение об ошибке:

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

когда я пытаюсь отправить почту. Мои разрешения для ~/Mail : drwxrwx--- . Буду очень признателен за любой совет, как решить эту проблему.

Я использую Bash для Windows. Ниже вы можете увидеть фрагмент моего файла .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

3 ответа3

2

Я подозреваю, что другой сервис блокирует файл от блокировки. На самом деле, вы, кажется, ретранслируете свои письма (согласно директиве вашей folder в вашем файле .muttrc ).

Это, вероятно, будет использовать Postfix для пересылки почты, и я полагаю, что виновником является. Системы Ubuntu поставляются с системой, ограничивающей сервисы, которые выполняют только то, что им разрешено делать, и когда вы устанавливаете Postfix он автоматически создает для него базовую конфигурацию (которая, конечно, не включает ничего, что вы могли бы делать с mutt ),

Чтобы быстро протестировать его, вы можете остановить инструмент apparmor , вызвав:

  • Если вы используете Ubuntu 14.04 или более раннюю версию:

    /etc/init.d/apparmor teardown
    
  • Если вы используете Ubuntu 16.04 или более позднюю версию:

    systemctl stop apparmor
    

Затем попробуйте снова использовать mutt . Если это работает, мое предположение верно. В этом случае вам необходимо:

  • Не определять файл конфигурации Postfix в apparmor. Для этого просто перейдите в /etc/apparmor.d , найдите файл постфикса под этим деревом и удалите его, перезапустите apparmor и все готово.
  • Определите конфигурацию Postfix и дополните ее дополнительной конфигурацией mutt . Для этого я рекомендую начать обучение здесь .
2

Во-первых, проверьте, что нет другого процесса Mutt, блокирующего файл:

$ pgrep -a mutt

Вы также можете проверить, есть ли другой процесс, блокирующий почтовый ящик, на всякий случай:

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

В противном случае попробуйте удалить файл блокировки:

$ rm /home/$USER/Mail/sent.lock
-1

У меня была эта проблема во FreeBSD, и оказалось, что я установил sysctl security.bsd.hardlink_check_uid и security.bsd.hardlink_check_gid в 1. Установка обоих на ноль избавила от этой проблемы.

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .