Я пытаюсь настроить почтовый сервер на Ubuntu Natty на основе postfix и с использованием интерфейса imap Courier. Электронные письма без проблем принимаются в виртуальные почтовые ящики, а затем могут быть получены и прочитаны с помощью клиента imap, но я не могу отправлять электронные письма от клиента. Mail.log содержит множество записей, например <time> <hostname> imapd: Failed to connect to socket /tmp/fam--
.
По-видимому /tmp/fam--
является частью интерфейса к fam
(или в случае сервера Ubuntu) gamin
, который отслеживает файлы почтового ящика, позволяя Courier немедленно узнавать о новых письмах. Насколько я могу судить, это связано с монитором изменения файлов Courier, который позволяет нескольким клиентам одновременно открывать одну и ту же папку и получать обновления содержимого папки в реальном времени. Я надеялся, что эта установка IMAP_ENHANCEDIDLE
до 0 дюймов /etc/courier/imapd
устранит зависимость, устранит дальнейшие ошибки / tmp / fam-- и позволит начать отправку электронных писем. Нет такой удачи.
Gamin
установлен в системе и ps -A|grep gam
находит gam_server
Бег. Возможно, возникла проблема с конфигурацией, но я не вижу соответствующих параметров конфигурации ни для Courier, ни для Gamin.
В поисках совета по этой проблеме я нашел несколько ссылок, которые предполагают, что gamin имеет тенденцию к увеличению со временем (утечка памяти) и его необходимо периодически прекращать. Похоже, что это приносит больше проблем, чем стоит, и не является существенным для imapd.
На данный момент я склонен скомпилировать courier-imap без зависимости от FAM и заменить то, что было установлено apt-get, но я не решаюсь сделать это, опасаясь, что открою еще большую банку червей, сделав это.
Есть ли предложения о том, как заставить imapd разговаривать с gamin? Прав ли я, что хочу просто отказаться от использования gamin от imapd? Есть какие-нибудь советы, советы или предостережения по перекомпиляции courier-imapd без зависимости от FAM?
Я получал ту же ошибку, но проблема была вызвана неправильными разрешениями для файла / etc / passwd. Кто-то изменил его на 600, что помешало другим программам, таким как (postfix или courier), читать пользователей и группы, которые им нужны.
Мое исправление было:
-bash-3.2# chmod 644 /etc/passwd
-bash-3.2# chmod 644 /etc/group
Если кто-нибудь еще сталкивается с этой проблемой. Вот решение:
groupadd -g 2000 vmail
useradd -u 2000 -g vmail vmail
Сделал трюк для меня. Кажется, gam_server не запускается, если пользователь не существует. Я не смог переключиться на dovecot, потому что мне нравится exim4, поскольку MTA и dovecot нуждается в postfix.