Страница 2 из 3

Локальный почтовый сервер

Добавлено: 2016-10-03 15:00:15
Reken
В конфигурации EXIM строка tls_advertise_hosts у меня закомментирована
Получается необходимо установить сертификат? Раньше такого не делал и всё работало...

Локальный почтовый сервер

Добавлено: 2016-10-04 11:29:53
Reken
Не могу разобраться, почему EXIM спрашивает про сертификат, ведь в файле конфигурации все упоминания про TLS закомментированы. Может вообще пересобрать EXIM без опции TLS?
Может это из за версии EXIM 4.87. На другом сервере использую 4.86, там EXIM вообще не спрашивает про сертификат...

Отправлено спустя 2 часа 31 минуту 31 секунду:
Сгенерировал ключи...
Теперь ЛОГ EXIM при отправке выглядит так:

Код: Выделить всё

2016-10-04 11:36:40 Warning: purging the environment.
 Suggested action: use keep_environment.
2016-10-04 11:36:40 1bqy7e-0000Fs-37 removed by root
2016-10-04 11:36:40 1bqy7e-0000Fs-37 Completed
2016-10-04 11:37:24 1brKHz-0000Od-SW <= ***@mail.ru H=(COMP) [192.168.10.1] I=[192.168.10.4]:25 P=esmtp S=360 

id=57F36729.7050501@domen.local from <reken@domen.local> for ***@yandex.ru
2016-10-04 11:37:24 1brKHz-0000Od-SW == ***@yandex.ru <***@yandex.ru> R=dovecot_user defer (-1): condition check 

lookup defer
2016-10-04 11:37:24 1brKHz-0000Od-SW ** ***@yandex.ru: retry timeout exceeded
2016-10-04 11:37:24 1brKI0-0000Og-6U <= <> R=1brKHz-0000Od-SW U=mailnull P=local S=1372 from <> for ***@mail.ru
2016-10-04 11:37:24 1brKHz-0000Od-SW Completed
2016-10-04 11:37:24 1brKI0-0000Og-6U == ***@mail.ru R=dovecot_user defer (-1): condition check lookup defer

Локальный почтовый сервер

Добавлено: 2016-10-04 13:11:20
xM
Reken писал(а): В конфигурации EXIM строка tls_advertise_hosts у меня закомментирована
Это означает что используется её значение по умолчанию, а оно соответствует

Код: Выделить всё

tls_advertise_hosts = *
Т.е. вы заявляете, что поддерживаете TLS но не имеете при этом сертификатов.

Локальный почтовый сервер

Добавлено: 2016-10-04 14:02:54
Reken
xM писал(а):Т.е. вы заявляете, что поддерживаете TLS но не имеете при этом сертификатов.
Уже есть сертификат, пытаюсь разобраться теперь дальше, почему всё таки exim не отрабатывает должным образом...

Локальный почтовый сервер

Добавлено: 2016-10-05 10:32:40
Reken
Замкнутый круг какой то... Не могу понять почему почта не уходит и не приходит...
EXIM по прежнему загоняет отправленное письмо в очередь и всё:

Код: Выделить всё

2016-10-05 09:13:59 Warning: purging the environment.
 Suggested action: use keep_environment.
2016-10-05 09:13:59 exim 4.87 daemon started: pid=962, -q30m, listening for SMTP on port 25 (IPv4) and for SMTPS on port 9025 (IPv4)
2016-10-05 09:14:01 1brKI0-0000Og-6U == ***@mail.ru R=dovecot_user defer (-1): condition check lookup defer
2016-10-05 09:43:59 1brKI0-0000Og-6U == ***@mail.ru routing defer (-51): retry time not reached
2016-10-05 10:13:59 1brKI0-0000Og-6U == ***@mail.ru routing defer (-51): retry time not reached
И ещё ругается что 25 порт занят

Код: Выделить всё

2016-10-04 15:13:31 socket bind() to port 25 for address (any IPv4) failed: Address already in use: waiting 30s before trying again (1 more try)
2016-10-04 15:14:01 socket bind() to port 25 for address (any IPv4) failed: Address already in use: daemon abandoned
Не могу понять в каком направлении "чинить" этот сервак... Думаю файрвол тут не причем, fetchmail забирает же почту...Думаю если бы файрвол блокировал бы, то и fetchmail ничего бы не забрал по 110 порту POP3...

В общем тупик :st:

Локальный почтовый сервер

Добавлено: 2016-10-07 10:06:22
Reken
Всё ещё пробую запустить почтовый сервак...
Подскажите мне пожалуйста, я правильно понимаю "схему" сервака? В следующей связке Fetchmail+Dovecot+Exim+Postfixadmin

1) Fetchmail забирает почту с ящика mail.ru по протоколу POP3
2) Далее Fetchmail отдает полученное письмо в Dovecot
3) Dovecot раскладывает письмо по всем локальным ящикам пользователей
4) EXIM забирает почту из ящиков пользователей и отправляет по клиентам
5) Так же EXIM отправляет почту от клиентов, при этом выполняет подмену адреса, например с user@domen.local на ***@mail.ru

6) Postfixadmin нужен для удобства создания пользовательских ящиков, для чего использует Mysql, что бы хранить там список пользователей и т.д...

Я правильно понимаю эту схему? Подскажите пожалуйста...

Отправлено спустя 42 минуты 42 секунды:
Хотя нет... что то я напутал... Вот как получается правильно:
1) Fetchmail забирает почту с ящика mail.ru по протоколу POP3
2) Далее Fetchmail отдает полученное письмо EXIMу
3) Exim раскидывает почту по ящикам Dovecot.
4) Клиенты в свою очередь, забирают почту из ящиков Dovecot
5) Так же EXIM отправляет почту от клиентов, при этом выполняет подмену адреса, например с user@domen.local на ***@mail.ru

6) Postfixadmin нужен для удобства создания пользовательских ящиков, для чего использует Mysql, что бы хранить там список пользователей и т.д...

Вроде бы теперь правильно понял?

Локальный почтовый сервер

Добавлено: 2016-10-07 14:27:17
xM
по п.3 раскладывать может и Exim, и Dovecot (через Exim) - от настройки зависит.
Ловите кто у вас 25 порт использует. Странно, что в

Код: Выделить всё

sockstat | grep :25
у вас ничего нет.

Локальный почтовый сервер

Добавлено: 2016-10-07 15:37:50
Reken
около 10 раз пересмотрел конфиг EXIM, и наконец токи обнаружил ошибку... А была она вот где:
В begin routers где EXIM доставляет почту в Dovecot , я пропустил значек $
Вот так: '${quote_mysql:@$domain}'}

Теперь почта уходит...
А вот с получением почты проблема. Вот что в логах EXIM вижу:

Код: Выделить всё

2016-10-07 15:39:19 1bsTUl-0000Vy-Jz <new@domen.local>: dovecot_delivery transport output: Can't open log file /var/log/dovecot.log: Permission denied
2016-10-07 15:39:19 1bsTUl-0000Vy-Jz == new@domen.local (new@domen.local) <mail@domen.local> R=dovecot_user T=dovecot_delivery defer (0): Child process of dovecot_delivery transport returned 75 (could mean temporary error) from command: /usr/local/libexec/dovecot/deliver
На права что ли ругается? Или что ему не нравится? Подскажите пожалуйста

Локальный почтовый сервер

Добавлено: 2016-10-07 18:07:50
xM
Значит у вас раскладывает почту Dovecot и он не может это сделать.
Скорее всего, папки нет куда складывать.

Локальный почтовый сервер

Добавлено: 2016-10-10 8:56:14
Reken
xM писал(а):Значит у вас раскладывает почту Dovecot и он не может это сделать.
Скорее всего, папки нет куда складывать.
Да, раскладывает Dovecot. В конфиге Dovecot я указал путь куда закидывать почту:

Код: Выделить всё

mail_location = maildir:/var/mail/exim/%d/%n
Когда я добавляю в postfixadmin нового клиента, то в папке /var/mail/mail/exim/domen.local/ появляется новая папка с названием нового клиента...

После того как я добавил права +S на файл /usr/local/libexec/dovecot/deliver в логах при получении почты вижу следующее:

Код: Выделить всё

2016-10-07 16:49:42 1bsUas-0000Ya-56 <new@domen.local>: dovecot_delivery transport output: 

/usr/local/libexec/dovecot/deliver must not be both world-executable and setuid-root. This allows root exploits. See 

http://wiki.dovecot.org/LDA#multipleuids
2016-10-07 16:49:42 1bsUas-0000Ya-56 == new@domen.local (new@domen.local) <mail@domen.local> R=dovecot_user 

T=dovecot_delivery defer (0): Child process of dovecot_delivery transport returned 75 (could mean temporary error) 

from command: /usr/local/libexec/dovecot/deliver
Сейчас буду пробовать разобраться с ошибкой... Что то сможете подсказать мне?

Локальный почтовый сервер

Добавлено: 2016-10-10 10:25:52
alex3
Вы дали права рута. На это довекот и ругается. Обычно все почтовые программы работают под другим пользователем, например mailnull, и права на директории и файлы раздаются исходя из этого.

Локальный почтовый сервер

Добавлено: 2016-10-10 10:40:42
Reken
alex3 писал(а):Вы дали права рута. На это довекот и ругается. Обычно все почтовые программы работают под другим пользователем, например mailnull, и права на директории и файлы раздаются исходя из этого.
Вы имеете ввиду, то что я добавил +S ? И из-за этого ругается?

Локальный почтовый сервер

Добавлено: 2016-10-10 10:55:30
alex3
Reken писал(а):

Код: Выделить всё

usr/local/libexec/dovecot/deliver must not be both world-executable and setuid-root. This allows root exploits. See 

http://wiki.dovecot.org/LDA#multipleuids

Локальный почтовый сервер

Добавлено: 2016-10-10 11:11:42
Reken
Отобрал права s
Теперь при получении почты, вернулся к прошлой ошибке. Привожу лог:

Код: Выделить всё

2016-10-10 11:20:14 1btUsg-0000MG-67 <= ***@yandex.ru H=(free.domen.local) [127.0.0.1] I=[127.0.0.1]:25 P=esmtp S=2114 id=8281451476086613@web4o.yandex.ru from <***@yandex.ru> for mail@domen.local
2016-10-10 11:20:14 1btUsg-0000MG-67 <reken@domen.local>: dovecot_delivery transport output: Can't open log file /var/log/dovecot.log: Permission denied
2016-10-10 11:20:14 1btUsg-0000MG-67 == reken@domen.local (reken@domen.local) <mail@domen.local> R=dovecot_user T=dovecot_delivery defer (0): Child process of dovecot_delivery transport returned 75 (could mean temporary error) from command: /usr/local/libexec/dovecot/deliver
2016-10-10 11:20:14 1btUsg-0000MG-67 <new@domen.local>: dovecot_delivery transport output: Can't open log file /var/log/dovecot.log: Permission denied
2016-10-10 11:20:14 1btUsg-0000MG-67 == new@domen.local (new@domen.local) <mail@domen.local> R=dovecot_user T=dovecot_delivery defer (0): Child process of dovecot_delivery transport returned 75 (could mean temporary error) from command: /usr/local/libexec/dovecot/deliver
Похоже ругается, что не может записать ошибку в лог Dovecot а так же ругается на deliver...
Сможете что то подсказать?

Локальный почтовый сервер

Добавлено: 2016-10-10 11:28:17
alex3
от какого пользователя запускается довекот? он не может записать лог
Reken писал(а):

Код: Выделить всё

 dovecot_delivery transport output: Can't open log file /var/log/dovecot.log: Permission denied
и из-за этого деливер дает ошибку

Отправлено спустя 8 минут 18 секунд:
у Вас какой довекот, первый или второй? неплохо было бы конфиг посмотреть.

Локальный почтовый сервер

Добавлено: 2016-10-10 11:33:33
Reken
alex3 писал(а):от какого пользователя запускается довекот? он не может записать лог
Reken писал(а):

Код: Выделить всё

 dovecot_delivery transport output: Can't open log file /var/log/dovecot.log: Permission denied
и из-за этого деливер дает ошибку

Отправлено спустя 8 минут 18 секунд:
у Вас какой довекот, первый или второй? неплохо было бы конфиг посмотреть.
Использую dovecot (первый)
В довекоте такая строка:

Код: Выделить всё

login_user = dovecot
Вывод ls -l /var/log/dovecot.log показывает:

Код: Выделить всё

-rw-------  1 root  wheel  56736 Oct 10 08:55 /var/log/dovecot.log
Заменить root на dovecot ?

Локальный почтовый сервер

Добавлено: 2016-10-10 11:40:51
alex3
в конфиге довекота есть такие строки?

Код: Выделить всё

log_path=
info_log_path=
syslog_facility=
что там написано?
ничего менять не надо. довекот должен через сислог писать.
и конфиг /etc/syslog.conf , если можно...

Локальный почтовый сервер

Добавлено: 2016-10-10 11:59:27
Reken
Строки есть
Выглядят так:

Код: Выделить всё

#log_path=
info_log_path= /var/log/dovecot.log
#syslog_facility= mail
Содержание syslog.conf

Код: Выделить всё

# $FreeBSD: releng/9.3/etc/syslog.conf 238473 2012-07-15 10:55:43Z brueffer $
#
#       Spaces ARE valid field separators in this file. However,
#       other *nix-like systems still insist on using tabs as field
#       separators. If you are sharing this file between systems, you
#       may want to use only tabs as field separators here.
#       Consult the syslog.conf(5) manpage.
*.err;kern.warning;auth.notice;mail.crit                /dev/console
*.notice;authpriv.none;kern.debug;lpr.info;mail.crit;news.err   /var/log/message
s
security.*                                      /var/log/security
auth.info;authpriv.info                         /var/log/auth.log
mail.info                                       /var/log/maillog
lpr.info                                        /var/log/lpd-errs
ftp.info                                        /var/log/xferlog
cron.*                                          /var/log/cron
*.=debug                                        /var/log/debug.log
*.emerg                                         *
# uncomment this to log all writes to /dev/console to /var/log/console.log
# touch /var/log/console.log and chmod it to mode 600 before it will work
#console.info                                   /var/log/console.log
# uncomment this to enable logging of all log messages to /var/log/all.log
# touch /var/log/all.log and chmod it to mode 600 before it will work
#*.*                                            /var/log/all.log
# uncomment this to enable logging to a remote loghost named loghost
#*.*                                            @loghost
# uncomment these if you're running inn
# news.crit                                     /var/log/news/news.crit
# news.err                                      /var/log/news/news.err
# news.notice                                   /var/log/news/news.notice
!ppp
*.*                                             /var/log/ppp.log
!*

Локальный почтовый сервер

Добавлено: 2016-10-10 12:41:04
alex3
и newsyslog.conf для кучи
интересует строка с /var/log/dovecot.conf

Локальный почтовый сервер

Добавлено: 2016-10-10 14:19:48
Reken
alex3 писал(а):и newsyslog.conf для кучи
интересует строка с /var/log/dovecot.conf
Там нет такой строки...

Отправлено спустя 1 час 31 минуту 38 секунд:
Посмотрел сейчас другой почтовый сервак, там на каталог /var/log/dovecot.log даны права 777 (rwxrwxrwx). С такими правами конечно всё работает...
Но наверное это неправильно?

Локальный почтовый сервер

Добавлено: 2016-10-10 15:07:56
alex3
добавь в newsyslog.conf строчку вида

Код: Выделить всё

/var/log/dovecot.log   mailnull:mail   640  7     *    @T00  JC
потом сделай

Код: Выделить всё

chown mailnull:mail /var/log/dovecot.log
и перезапусти newsyslog

Локальный почтовый сервер

Добавлено: 2016-10-10 15:11:20
xM
Dovecot, Exim и сопутствующие процессы запускайте от одного пользователя. У меня это mailnull.
Это снимет вопрос с правами.

Локальный почтовый сервер

Добавлено: 2016-10-10 15:19:10
alex3
ой, да...проглядел, что довекот от другого юзера работает...

Код: Выделить всё

login_user =  mailnull

Локальный почтовый сервер

Добавлено: 2016-10-10 15:37:36
Reken
Ну вот и всё... Забегала почта и на отправку и на получение.
Всем спасибо кто помогал мне.

По поводу login_user = mailnull я уже понял. А EXIM у меня от mailnull изначально работает. Так что теперь и EXIM и DOVECOT от mailnull...

Лучше ещё несколько раз просмотрю конфиги EXIM и DOVECOT, что бы уже точно разобраться, что там к чему...

Локальный почтовый сервер

Добавлено: 2016-11-08 14:19:16
Reken
Немного поломался у меня тестовый почтовый сервер...
Поломался после следующего:
Я обновил mysq56l-server и mysql56-client до последней версии 5.6.33 . Так же обновил postfixadmin до последней версии 3.0
Обновлял при помощи portupgrade -R
После обновления все внесенные данные в файл /usr/local/www/postfixadmin/config.inc.php были сброшены на умолчание...
Я переписал всё как и было, в том числе и строку: $CONF['setup_password'] = ‘много букв и цифр';

После всего этого, при попытке получить почту на клиенте, получаю ошибку:

Код: Выделить всё

Не удалось отправить пароль для пользователя reken@domen.local Почтовый сервер "192.168.10.4" ответил Internal login failure. Refer to server log for more information
В логе dovecot следующее:

Код: Выделить всё

Nov 08 12:46:56 pop3-login: Info: Internal login failure (auth failed, 1 attempts): user=<reken@domen.local>, method=PLAIN, rip=192.168.10.1, lip=192.168.10.4
Сможете пожалуйста подсказать, как исправить ошибку? Я так понимаю dovecot на логин и пароль ругается?