Я перемещаю почтовую установку Ubuntu 14.04 с одного компьютера на другой. Текущая настройка в значительной степени отлично работает с настройкой postfix и dovecot Ubuntu по умолчанию, чтобы пользователи могли использовать SMTP-аутентификацию и т. Д.
Поэтому я скопировал соответствующие файлы конфигурации на новый компьютер (на котором также работает Ubuntu 14.04) и запустил там postfix после внесения необходимых изменений в DNS.
Но я получаю это в почтовом журнале новой машины:
Oct 28 14:18:50 lorina postfix/smtpd[13445]: warning: SASL: Connect to private/auth failed: No such file or directory Oct 28 14:18:50 lorina postfix/smtpd[13445]: fatal: no SASL authentication mechanisms Oct 28 14:18:51 lorina postfix/master[13440]: warning: process /usr/lib/postfix/smtpd pid 13445 exit status 1 Oct 28 14:18:51 lorina postfix/master[13440]: warning: /usr/lib/postfix/smtpd: bad command startup -- throttling
Postfix настроен на использование следующего:
smtpd_sasl_type = dovecot smtpd_sasl_path = private/auth
а в конфиге голубятни у меня есть:
# Postfix smtp-auth unix_listener /var/spool/postfix/private/auth { mode = 0666 }
Однако я вижу, что / var / spool / postfix / private / auth не существует на новом компьютере.
Я попытался перезагрузить компьютер, если какие-либо службы не работали должным образом. Когда создается этот файл? Как я могу его упаковать?
Чтобы ответить на ваши вопросы:
Я думаю, что в вашей настройке отсутствуют некоторые настройки (Postfix и Dovecot), и они полагаются на настройки по умолчанию. Это могло измениться от одной машины к другой.
Dovecot
Я бы сказал, что самая большая проблема в том, что вы не говорите dovecot, кому должна принадлежать розетка. Обычно он назначается пользователю и группе постфикса, например:
# Postfix smtp-auth
unix_listener /var/spool/postfix/private/auth {
mode = 0660
user = postfix
group = postfix
}
Проверьте право собственности на родительский каталог сокета («частный»). Какому пользователю и группе он назначен? Вам понадобится dovecot, чтобы использовать того же пользователя, чтобы он мог писать в каталоге.
Постфикс
Параметр smtpd_sasl_path зависит от параметра queue_directory. По умолчанию queue_directory должен быть / var / spool / postfix, но не помешает сделать это явным.
queue_directory = /var/spool/postfix
Из журналов видно, что вы включили sasl в postfix, хотя в вашей конфигурации этого не сказано. Но на каком агенте? Если вы установите smtpd_sasl_auth_enable = yes в main.cf, это применимо ко всем агентам, включая smtpd на порту 25. Я считаю, что лучше использовать его только для агента отправки в master.cf (который работает на порту 587). Если вы редактируете существующий master.cf, просто раскомментируйте строку отправки и любые строки параметров ниже, которые вам нужны.
submission inet n - - - - smtpd
-o syslog_name=postfix/submission
-o smtpd_sasl_auth_enable=yes
Похоже, сообщение об ошибке вводило в заблуждение. Фактически, был путь к сертификату SSL, который dovecot не нашел, поэтому он не запускался должным образом и, следовательно, не создавал сокет в / var / spool / postfix / private / auth.