301

Fireball, из epel:

# yum install clamd

Пакет freshclam, это для Debian, для Centos clamav-update, установить можно так:

# yum install http://puias.math.ias.edu/data/puias/unsupported/6/x86_64/clamav-update-0.97.6-1700.puias6.x86_64.rpm
In Tux We Trust     Centos 6.5
Самурай без меча подобен самураю с мечом, но только без меча, однако как-будто с мечом, которого у него нет, но и без него он как с ним...

302

Fireball пишет:

AlfaStriker, Да, с другого. Так как при установке с вашего вот что вылетает. У меня Fedora, собственно в этом то проблема видимо.
Не подскажите как решить проблему

# rpm -Uvh http://download.fedoraproject.org/pub/epel/6/i386/epel-release-6-8.noarch.rpm
Загружается http://download.fedoraproject.org/pub/epel/6/i386/epel-release-6-8.noarch.rpm
предупреждение: /var/tmp/rpm-tmp.nZ7iZt: Заголовок V3 RSA/SHA256 Signature, key ID 0608b895: NOKEY
ошибка: Неудовлетворенные зависимости:
        fedora-release конфликтует с epel-release-6-8.noarch

Самое главное при работе с федорой - это по минимуму подключать сторонние репозитории. Epel для Fedora не нужен. Все, что там содержится есть в штатных федориных репах. Причем есть в гораздо более новой версии. Epel нужен для CentOS'а, а не для Fedora. И очень хорошо, что Вам не удалось подключить этот репозиторий. Иначе така бы каша началось - мама не горюй.

303 (24.11.2013 08:53:28 отредактировано Cruiser78)

redix пишет:

Fireball, из epel:

# yum install clamd

Пакет freshclam, это для Debian, для Centos clamav-update, установить можно так:

# yum install http://puias.math.ias.edu/data/puias/unsupported/6/x86_64/clamav-update-0.97.6-1700.puias6.x86_64.rpm

Не надо тащить в Fedora левые сборки. Пакет clamav-update есть в федориных репах и ставится беспроблемно тривиальным yum install clamav-update.

И еще - очень полезно посмотреть yum search clamav.

304 (24.11.2013 14:33:21 отредактировано Fireball)

Cruiser78, с этим я уже разобрался, его нужно настраивать что бы появился сервис clamd.

У меня не вся почта почему то ходит.  По логам видно, что проблема в relay, но куда копать в данном случае?           

Понял в чем проблема, это зависшие старые письма когда с днс были проблемы, грохнул их из очереди. Теперь не должны в логах проскакивать

Nov 24 16:26:42 npugypok postfix/smtpd[2232]: before input_transp_cleanup: cleanup flags = enable_header_body_filter enable_automatic_bcc enable_address_mapping enable_milters
Nov 24 16:26:42 npugypok postfix/smtpd[2232]: after input_transp_cleanup: cleanup flags = enable_header_body_filter enable_automatic_bcc enable_address_mapping
Nov 24 16:26:42 npugypok postfix/smtpd[2232]: connect to subsystem public/cleanup
Nov 24 16:26:42 npugypok postfix/smtpd[2232]: public/cleanup socket: wanted attribute: queue_id
Nov 24 16:26:42 npugypok postfix/smtpd[2232]: input attribute name: queue_id
Nov 24 16:26:42 npugypok postfix/smtpd[2232]: input attribute value: A14F5C0503
Nov 24 16:26:42 npugypok postfix/smtpd[2232]: public/cleanup socket: wanted attribute: (list terminator)
Nov 24 16:26:42 npugypok postfix/smtpd[2232]: input attribute name: (end)
Nov 24 16:26:42 npugypok postfix/smtpd[2232]: send attr flags = 178
Nov 24 16:26:42 npugypok postfix/smtpd[2232]: A14F5C0503: client=fallback4.mail.ru[94.100.176.42]
Nov 24 16:26:42 npugypok postfix/smtpd[2232]: > fallback4.mail.ru[94.100.176.42]: 250 2.1.5 Ok
Nov 24 16:26:42 npugypok postfix/smtpd[2232]: watchdog_pat: 0x7fcd513a5b50
Nov 24 16:26:42 npugypok postfix/smtpd[2232]: < fallback4.mail.ru[94.100.176.42]: DATA
Nov 24 16:26:42 npugypok postfix/smtpd[2232]: > fallback4.mail.ru[94.100.176.42]: 354 End data with <CR><LF>.<CR><LF>
Nov 24 16:26:42 npugypok postfix/cleanup[2228]: A14F5C0503: message-id=<E1VkVvX-0004mO-Iy@mx10.mail.ru>
Nov 24 16:26:42 npugypok postfix/smtpd[2232]: public/cleanup socket: wanted attribute: status
Nov 24 16:26:42 npugypok postfix/smtpd[2232]: input attribute name: status
Nov 24 16:26:42 npugypok postfix/smtpd[2232]: input attribute value: 0
Nov 24 16:26:42 npugypok postfix/smtpd[2232]: public/cleanup socket: wanted attribute: reason
Nov 24 16:26:42 npugypok postfix/smtpd[2232]: input attribute name: reason
Nov 24 16:26:42 npugypok postfix/smtpd[2232]: input attribute value: (end)
Nov 24 16:26:42 npugypok postfix/smtpd[2232]: public/cleanup socket: wanted attribute: (list terminator)
Nov 24 16:26:42 npugypok postfix/smtpd[2232]: input attribute name: (end)
Nov 24 16:26:42 npugypok postfix/smtpd[2232]: > fallback4.mail.ru[94.100.176.42]: 250 2.0.0 Ok: queued as A14F5C0503
Nov 24 16:26:42 npugypok postfix/smtpd[2232]: watchdog_pat: 0x7fcd513a5b50
Nov 24 16:26:42 npugypok postfix/smtpd[2232]: < fallback4.mail.ru[94.100.176.42]: QUIT
Nov 24 16:26:42 npugypok postfix/smtpd[2232]: > fallback4.mail.ru[94.100.176.42]: 221 2.0.0 Bye
Nov 24 16:26:42 npugypok postfix/smtpd[2232]: match_hostname: fallback4.mail.ru ~? 127.0.0.0/8
Nov 24 16:26:42 npugypok postfix/smtpd[2232]: match_hostaddr: 94.100.176.42 ~? 127.0.0.0/8
Nov 24 16:26:42 npugypok postfix/qmgr[629]: A14F5C0503: from=<>, size=3145, nrcpt=1 (queue active)
Nov 24 16:26:42 npugypok postfix/smtpd[2232]: match_list_match: fallback4.mail.ru: no match
Nov 24 16:26:42 npugypok postfix/smtpd[2232]: match_list_match: 94.100.176.42: no match
Nov 24 16:26:42 npugypok postfix/smtpd[2232]: send attr request = disconnect
Nov 24 16:26:42 npugypok postfix/smtpd[2232]: send attr ident = smtp:94.100.176.42
Nov 24 16:26:42 npugypok postfix/smtpd[2232]: private/anvil: wanted attribute: status
Nov 24 16:26:42 npugypok postfix/smtpd[2232]: input attribute name: status
Nov 24 16:26:42 npugypok postfix/smtpd[2232]: input attribute value: 0
Nov 24 16:26:42 npugypok postfix/smtpd[2232]: private/anvil: wanted attribute: (list terminator)
Nov 24 16:26:42 npugypok postfix/smtpd[2232]: input attribute name: (end)
Nov 24 16:26:42 npugypok postfix/smtpd[2232]: disconnect from fallback4.mail.ru[94.100.176.42]
Nov 24 16:26:42 npugypok postfix/pipe[2239]: A14F5C0503: to=<admin@npugypok.ws>, relay=dovecot, delay=0.49, delays=0.33/0.01/0/0.15, dsn=2.0.0, status=sent (delivered via dovecot service)
Nov 24 16:26:42 npugypok postfix/qmgr[629]: A14F5C0503: removed
Nov 24 16:29:23 npugypok postfix/smtpd[2213]: timeout after END-OF-MESSAGE from unknown[217.118.79.43]
Nov 24 16:29:23 npugypok postfix/smtpd[2213]: disconnect from unknown[217.118.79.43]
Nov 24 16:30:16 npugypok postfix/smtpd[2236]: timeout after END-OF-MESSAGE from unknown[217.118.79.43]
Nov 24 16:30:16 npugypok postfix/smtpd[2236]: disconnect from unknown[217.118.79.43]
Nov 24 16:32:40 npugypok postfix/qmgr[629]: 106A6C10E2: from=<fireball@npugypok.ws>, size=861, nrcpt=1 (queue active)
Nov 24 16:32:40 npugypok postfix/qmgr[629]: warning: connect to transport private/scan: Connection refused
Nov 24 16:32:40 npugypok postfix/qmgr[629]: 9FDE6C10DC: from=<fireball@npugypok.ws>, size=873, nrcpt=1 (queue active)
Nov 24 16:32:40 npugypok postfix/error[2262]: 106A6C10E2: to=<jeni_sh@mail.ru>, relay=none, delay=81071, delays=81071/0.02/0/0.06, dsn=4.3.0, status=deferred (mail transport unavailable)
Nov 24 16:32:40 npugypok postfix/error[2263]: 9FDE6C10DC: to=<fireball@npugypok.ws>, relay=none, delay=81834, delays=81834/0.04/0/0.07, dsn=4.3.0, status=deferred (mail transport unavailable)
Nov 24 16:33:36 npugypok postfix/anvil[2215]: statistics: max connection rate 2/60s for (smtp:94.100.176.24) at Nov 24 16:24:27
Nov 24 16:33:36 npugypok postfix/anvil[2215]: statistics: max connection count 2 for (smtp:217.118.79.43) at Nov 24 16:25:11
Nov 24 16:33:36 npugypok postfix/anvil[2215]: statistics: max cache size 3 at Nov 24 16:24:56
Nov 24 16:42:40 npugypok postfix/qmgr[629]: C267FC10D8: from=<fireball@npugypok.ws>, size=974, nrcpt=1 (queue active)
Nov 24 16:42:40 npugypok postfix/qmgr[629]: warning: connect to transport private/scan: Connection refused
Nov 24 16:42:40 npugypok postfix/qmgr[629]: 29737C10D7: from=<fireball@npugypok.ws>, size=863, nrcpt=1 (queue active)
Nov 24 16:42:40 npugypok postfix/error[2276]: C267FC10D8: to=<fireball@npugypok.ws>, relay=none, delay=75442, delays=75441/0.02/0/0.04, dsn=4.3.0, status=deferred (mail transport unavailable)
Nov 24 16:42:40 npugypok postfix/error[2277]: 29737C10D7: to=<jeni_sh@mail.ru>, relay=none, delay=75254, delays=75254/0.04/0/0.05, dsn=4.3.0, status=deferred (mail transport unavailable)
Nov 24 17:09:03 npugypok postfix/postfix-script[2346]: stopping the Postfix mail system
Nov 24 17:09:03 npugypok postfix/master[626]: terminating on signal 15
Nov 24 17:09:03 npugypok postfix/postfix-script[2424]: starting the Postfix mail system

305 (24.11.2013 16:39:25 отредактировано AlfaStriker)

Сейчас попробую установить Postfix на Fedora 17.
Если получится, опишу нюансы тут.
Вообщем различия следующие:
1. Подключать дополнительные репозитории не требуется, как всегда Fedora богата наличием разнообразных пакетов уже в свои базовых репах
2. Поменялись имена сетевых адаптеров, теперь они имеют имена:
ifcfg-p2p1 - это смотрящий в Интернет, раньше был как - ifcfg-eth0
ifcfg-p7p1 - это у нас смотрящий в локальную сеть, рагьше назывался как - ifcfg-eth1
3. Служба Network по умолчанию не включена в автозагрузку, включение демона:

chkconfig network on

4. Для Fedora не устанавливается утилита "freshclam", для ее установки требуется установить пакет:

yum install clamav-update -y

При первом обновлении выдается сообщение:

# freshclam -v
ERROR: Please edit the example config file /etc/freshclam.conf
ERROR: Can't open/parse the config file /etc/freshclam.conf

В нем пишется что надо закоментировать строку 8 файла - /etc/freshclam.conf:

Строка 8: закоментировать

Example

После этого можно обновлять антивирус:

freshclam -v

И ставим автоматическое автообновление баз (freshclam как демон в памяти):

freshclam -d

В файле /etc/clamsmtpd.conf меняем юзера:

vi /etc/clamsmtpd.conf

User: clamsmtp

5. При закачке Postfixadmin, закачанный архивный файл имеет имя "download", требуется его переименовать и разархивировать:

mv download postadmin.tar.gz
tar -xvzf postadmin.tar.gz
mv postfixadmin-2.3.6 postfixadmin

6. Антивирус ставится в автозагрузку так:

sudo systemctl enable clamd@scan.service

systemctl enable clamsmtp-clamd.service

systemctl restart postfix.service

Демоны для запуска clamav лежат тут:

ls -a //usr/lib/systemd/system/clam*

//usr/lib/systemd/system/clamav-milter.service
//usr/lib/systemd/system/clamd@scan.service
//usr/lib/systemd/system/clamd@.service
//usr/lib/systemd/system/clamsmtp-clamd.service
//usr/lib/systemd/system/clamsmtpd.service

Но сперва нужно до установить пакет:

yum install clamav-scanner

7. По умолчанию используется sendmail, нужно отключить sendmail и поставить postfix как по умолчанию:

# alternatives --config mta

Нажимаем 2

There are 2 programs which provide 'mta'.

  Selection    Command
-----------------------------------------------
*+ 1           /usr/sbin/sendmail.sendmail
   2           /usr/sbin/sendmail.postfix

Enter to keep the current selection[+], or type selection number: 2

Конфигурационные файлы системы лежат тут:

306

AlfaStriker, У меня на ней clamd так и не вставал сам, нужно конфиги править и юзера добавлять. не знаю что и куда.

307 (24.11.2013 22:03:25 отредактировано AlfaStriker)

У меня все отлично заработало. Только с антивирусом траблы были, пакеты фиг знаешь какие ставить, потом с этим systemd трабла была, как вообще из него ставить в автозгрузку и как запускать демон. Вообще для Fedora надо отдельный мануал сделать. Так как у нее все новое, всякие фичастые фишки типа systemd и т.д., что нет в CentOS. По мне CentOS более консервативный, на нем сразу все запускается, конфиги не так часто меняются при обновлении пакетов.
Если не хочешь заморачиватся с ручной установкой, попробуй Iredmail или Zimbra. После установки  того же Zimbra,  твой почтовый сервер будет нафаршированным всем необходимым, от разных спам фильтров до шифрованных каналов и т.д.

Да и зачем тебе Fedora на сервере, вдруг при очередном обновлении она у тебя упадет, не боишься?

Мануал в посте полностью подходит для Fedora; только проблема с антивирусом маячит. Письма застревают на нем, это в логах сразу видно. Посмотри свои логи,;там ошибка хорошо описана.

308

AlfaStriker, Да, у меня к федоре все подошло, за исключением антивируса и сетевых настроек, + попарился с ДНС, так как сервер внешний.
У меня стояла уже Fedora с 2007 года, тогда мне друг помог просто поставить postfix без всяких наворотов и все работало, но в последнее время гнать все начало.

Решил обновиться и подзамарочился немного по твоему мануалу.

309 (25.11.2013 07:30:36 отредактировано AlfaStriker)

Fireball, так у тебя все получилось поставить?
Если получилось, то я тогда не буду полностью описывать процесс установки на Fedora - смысла нет.

310 (25.11.2013 08:02:45 отредактировано Fireball)

AlfaStriker, Антивирус не получилось. И еще я добавил правила как у тебя в

http://linuxforum.ru/viewtopic.php?pid=375669#p375669

Я на russian fedora нашел пост по поводу clamd, но там немного расплывчато написано. Для новичка есть не понятные моменты

311

А какая у тебя версия Fedora ?

312

Linux 3.11.8-200.fc19.x86_64 #1 SMP Wed Nov 13 16:29:59 UTC 2013 x86_64 x86_64 x86_64 GNU/Linux

313

Ясно, Fedora 19 x64, еще поди RFRemix. В принципе описать установку на эту ОС можно.

314

AlfaStriker, Да, именно она. Если поможешь, буду признателен очень! ab

315

Cruiser78 пишет:
tirex00 пишет:

у меня еще один вопрос такого характера.. postgrey его по умолчянию 5 минутный --delay это мало.. пишут что нада ставить как минимум 30 минут и больше.. а всех срочников отправлять в whitelist_clients и whitelist_recipients.. так вопрос такой.. как в centos найти эту опцию --auto-whitelist-clients.. и как обнулить уже собравшийся белый список доменов..

Да не заморачивайся с постгреем. А именно - его можно хоть на 30 секунд ставить. Эффект будет точно таким же. Спамер-бот никогда не заморачивается со второй попыткой доставки своего письма. Первая обломилась и ладно... А если спамер работает через почтовый сервер, то серверу пофигу и на 30 минут таймаута. Он и часа через 4, если не через сутки повторит попытку. Сейчас могу соврать, но где-то в глубинах памяти сидит такой временной ряд попыток доставок: 10 минут, 30 минут, 4 часа, 8 часов и далее через 8 часов в течение пары суток. Это первое.

Второе - опции эти надо не в центосе искать, а в настройках постфикса. А именно, делаем карты с белыми листами клиентов (IP OK), отправителей ([name]@domain.ltd OK), получателей (myname@mydomain OK), на них напускаем postmap, а далее вписываем в соответствующий список правил, в нужное место (то есть перед вызовом постгрея):

check_client_access hash://path_to_client_map 
check_sender_access hash://path_to_sender_map 
check_recipient_access hash://path_to_recipient_map 

Как то так...

Спасибо за информацию.. я  наверно закину spamassassin на фильтрацию спама.. postgrey с spamassassin между собой не побьются??

316

Подскажите еще, кто как борется вот с таким видом спама.

Nov 25 17:42:36 npugypok postfix/smtpd[10803]: connect from mx63.mail.ru[94.100.176.77]
Nov 25 17:42:36 npugypok postgrey[494]: action=greylist, reason=new, client_name=mx63.mail.ru, client_address=94.100.176.77, sender=18@homestartup.ru, recipient=fireball@npugypok.ws
Nov 25 17:42:36 npugypok postgrey[494]: cleaning up old logs...
Nov 25 17:43:02 npugypok postfix/smtpd[10803]: NOQUEUE: reject: RCPT from mx63.mail.ru[94.100.176.77]: 450 4.2.0 <fireball@npugypok.ws>: Recipient address rejected: Greylisted, see http://postgrey.schweikert.ch/help/npugypok.ws.html; from=<18@homestartup.ru> to=<fireball@npugypok.ws> proto=ESMTP helo=<mx63.mail.ru>
Nov 25 17:43:02 npugypok postfix/smtpd[10803]: disconnect from mx63.mail.ru[94.100.176.77]
Nov 25 17:43:25 npugypok postfix/smtpd[10803]: connect from mx63.mail.ru[94.100.176.77]
Nov 25 17:43:26 npugypok postgrey[494]: action=greylist, reason=early-retry (11s missing), client_name=mx63.mail.ru, client_address=94.100.176.77, sender=18@homestartup.ru, recipient=fireball@npugypok.ws
Nov 25 17:43:26 npugypok postfix/smtpd[10803]: NOQUEUE: reject: RCPT from mx63.mail.ru[94.100.176.77]: 450 4.2.0 <fireball@npugypok.ws>: Recipient address rejected: Greylisted, see http://postgrey.schweikert.ch/help/npugypok.ws.html; from=<18@homestartup.ru> to=<fireball@npugypok.ws> proto=ESMTP helo=<mx63.mail.ru>
Nov 25 17:43:26 npugypok postfix/smtpd[10803]: disconnect from mx63.mail.ru[94.100.176.77]
Nov 25 17:46:46 npugypok postfix/anvil[10805]: statistics: max connection rate 2/60s for (smtp:94.100.176.77) at Nov 25 17:43:25
Nov 25 17:46:46 npugypok postfix/anvil[10805]: statistics: max connection count 1 for (smtp:94.100.176.77) at Nov 25 17:42:36
Nov 25 17:46:46 npugypok postfix/anvil[10805]: statistics: max message rate 2/60s for (smtp:94.100.176.77) at Nov 25 17:43:25
Nov 25 17:46:46 npugypok postfix/anvil[10805]: statistics: max recipient rate 2/60s for (smtp:94.100.176.77) at Nov 25 17:43:25
Nov 25 17:46:46 npugypok postfix/anvil[10805]: statistics: max cache size 1 at Nov 25 17:42:36
Nov 25 17:53:51 npugypok postfix/smtpd[10847]: connect from fallback4.mail.ru[94.100.176.42]
Nov 25 17:54:01 npugypok postgrey[494]: action=pass, reason=triplet found, delay=685, client_name=fallback4.mail.ru, client_address=94.100.176.42, sender=18@homestartup.ru, recipient=fireball@npugypok.ws
Nov 25 17:54:27 npugypok postfix/smtpd[10847]: C2964C10D8: client=fallback4.mail.ru[94.100.176.42]
Nov 25 17:54:27 npugypok postfix/cleanup[10860]: C2964C10D8: message-id=<282868064.20130117062736@homestartup.ru>
Nov 25 17:54:28 npugypok postfix/qmgr[4731]: C2964C10D8: from=<18@homestartup.ru>, size=1947, nrcpt=2 (queue active)
Nov 25 17:54:28 npugypok postfix/smtpd[10847]: disconnect from fallback4.mail.ru[94.100.176.42]
Nov 25 17:54:28 npugypok postfix/pipe[10864]: C2964C10D8: to=<fireball@npugypok.ws>, relay=dovecot, delay=36, delays=36/0.04/0/0.19, dsn=2.0.0, status=sent (delivered via dovecot service)

317

tirex00 пишет:

Спасибо за информацию.. я  наверно закину spamassassin на фильтрацию спама.. postgrey с spamassassin между собой не побьются??

Нет. Не побьются. Постгрей - он работает еще до закачивания спамером своего спамерского письма. Сразу же после HELO активизируется и говорит спамеру 450, зайди попозже. А Spamassassin - он отрабатывает уже только для тех, кто догадался зайти попозже. И сумел продраться сквозь все постфиксовы ограничения, через все режекты. То есть работает уже с полностью полученным письмом, анализирует его контекст.

Кстати, для того, чтобы spamassassin нормально отрабатывал русский спам (нам же именно это интересно) - его надо научить воспринимать такие письма как спам. А для этого нам в помощь - http://sa-russian.narod.ru/

318

Продумываю тему территориально-распределенного корпоративного постфикса.
Сейчас работает единственный "почтовый сервер" на всю территориально-распределенную фирму.
Хочу изменить нынешнее положение дел:
1. Один единственный почтовый домен, например, mydomain.ru. Один на всю фирму.
2. В каждом филиале свой почтовый сервер, который отправляет почту во внешний мир непосредственно через Интернет (нет проблем дополнить DNS этими почтовыми подсерверами). Но вот получает почту только через центральный почтовый сервер, с которым связан через openVPN. Как прописать это в DNS (задать приоритеты, чтобы на подсервера ничего не шло) я тоже понимаю.
А вот как настроить систему из нескольких почтовых серверов, которые объединены по схеме звезда, сидят в одном домене и распределяют между собой пользователей этого домена - я понимаю не очень хорошо.

Ну, соответственно Postfix+MySQL.

Коллеги, никто не встречал толковой статьи на эту тему?

319 (27.11.2013 11:40:18 отредактировано AlfaStriker)

Установка Postfix+Dovecot+MySQL+Clamav+Postgrey на Fedora 15-16-17-18-19 x32

Входные данные
Домен:

point.local

Имя хоста почтового сервера:

mx.point.local

IP адрес почтового сервера:

192.168.1.2

IP адрес DNS сервера провайдера:
111.222.333.444


Краткое содержание:
1. Настройка сетевого адаптера
2. Установка MySQL и создание базы "mail"
3. Установка и настройка Postfix
4. Установка и настройка Dovecot
5. Установка Postgrey
6. Установка ClamAV
7. Установка PostfixAdmin и Apache
8. Настройка DNS сервера
9. Настройка PostfixAdmin
10. Установка и настройка RoundCube Web Mail

1. Настройка сетевого адаптера
Файлы настроек сетевых адаптеров у Fedora имеют имена:
- ifcfg-enp0s3, ifcfg-enp0s8
- ifcfg-p2p1, ifcfg-p7p1
- ifcfg-eth0, ifcfg-eth1
Файлы находятся в каталоге /etc/sysconfig/network-scripts/

# systemctl stop NetworkManager.service

# systemctl disable NetworkManager.service

# systemctl enable network.service

# systemctl start network.service

Файл /etc/sysconfig/network-scripts/ifcfg-enp0s3, дописываем или меняем сетевые реквизиты:

+ открыть спойлер

ONBOOT="yes"
BOOTPROTO="static"
IPADDR=192.168.1.2
NETMASK=255.255.255.0
GATEWAY=192.168.1.1

# systemctl restart network.service

Файл /etc/resolv.conf, вписываем IP адрес DNS сервера провайдера:

# vi /etc/resolv.conf

nameserver 192.168.1.1

Проверяем, пингуем:

# ping google.kz

2. Установка MySQL и создание базы "mail"

# yum install mysql mysql-server mysql-devel -y

# systemctl enable mysqld.service

# systemctl start mysqld.service

Создаем почтовую базу -  "mail":

# mysql -u root -p

mysql>  Enter password: *****
mysql>  CREATE DATABASE mail;
mysql>  GRANT ALL PRIVILEGES ON mail.* TO 'postfix'@'localhost' IDENTIFIED BY 'password';
mysql>  quit

3. Установка и настройка Postfix

# yum install postfix pam  mod_ssl  openssl crypto-utils mc system-config-firewall-tui setuptool wget -y

# mv /etc/postfix/main.cf /etc/postfix/main.cf.original

Файл /etc/postfix/main.cf, вписываем, заменяем домен и имя хоста на свои:

+ открыть спойлер

soft_bounce = no
queue_directory = /var/spool/postfix
daemon_directory = /usr/libexec/postfix
mail_owner = postfix
default_privs = nobody
inet_interfaces = all
myhostname = mx.point.local
mydomain = point.local
myorigin = $mydomain
mydestination = $myhostname,localhost.$myhostname,localhost
local_recipient_maps = proxy:unix:passwd.byname $alias_maps
unknown_local_recipient_reject_code = 550
mynetworks = 127.0.0.0/8
relay_domains =
alias_maps = hash:/etc/aliases
alias_database = hash:/etc/aliases
mail_spool_directory = /var/mail
smtpd_banner = $myhostname ESMTP
debug_peer_level = 2
debug_peer_list = 127.0.0.1
debugger_command =
    PATH=/bin:/usr/bin:/usr/local/bin:/usr/X11R6/bin
    xxgdb $daemon_directory/$process_name $process_id & sleep 5
sendmail_path = /usr/sbin/sendmail
mailq_path = /usr/bin/mailq
setgid_group = postdrop
html_directory = no
manpage_directory = /usr/local/man
config_directory = /etc/postfix

Опять открываем /etc/postfix/main.cf , добавляем:

+ открыть спойлер

virtual_mailbox_domains = mysql:$config_directory/sql/vdomains.cf
virtual_mailbox_base = /var/vmail
virtual_mailbox_maps = mysql:$config_directory/sql/vmailbox.cf
virtual_alias_maps = mysql:$config_directory/sql/valias.cf
virtual_minimum_uid = 1150
virtual_uid_maps = static:1150
virtual_gid_maps = static:12
virtual_transport = dovecot
dovecot_destination_recipient_limit = 1
smtpd_sasl_auth_enable = yes
smtpd_sasl_exceptions_networks = $mynetworks
smtpd_sasl_security_options = noanonymous
broken_sasl_auth_clients = yes
smtpd_sasl_type = dovecot
smtpd_sasl_path = /var/spool/postfix/private/dovecot-auth

Создаем учетную запись пользователя vmail:

# useradd -r -u 1150 -g mail -d /var/vmail -s /sbin/nologin -c Virtual vmail

Для корректной работы создаем каталоги:

# mkdir -p -v /var/vmail

# chmod 770 -R /var/vmail

# chown vmail:mail /var/vmail

Отключаем SELINUX, открываем /etc/selinux/config и меняем:
Находим строку

SELINUX=enforcing

Приводим ее к виду

SELINUX=disabled

# setenforce 0

Ставим по умолчанию postfix:

# alternatives --config mta

Нажимаем цифру - 2

There are 2 programs which provide 'mta'.

  Selection    Command
-----------------------------------------------
*+ 1           /usr/sbin/sendmail.sendmail
   2           /usr/sbin/sendmail.postfix

Enter to keep the current selection[+], or type selection number: 2

# systemctl disable sendmail.service

# systemctl stop sendmail.service


Запрещаем Postfix быть открытым релеем, открываем /etc/postfix/main.cf, дописываем:

smtpd_recipient_restrictions = permit_mynetworks,
    permit_sasl_authenticated,
    reject_unauth_destination,

Создаем файлы для обращения к БД:

# mkdir /etc/postfix/sql

Создаем файл /etc/postfix/sql/vdomains.cf:

user = postfix
password = password
hosts = localhost
dbname = mail
table = domain
select_field = domain
where_field = domain
additional_conditions = and backupmx = '0' and active = '1'
#query = SELECT domain FROM domain WHERE domain='%s' AND backupmx='0' AND active='1'

Создаем файл /etc/postfix/sql/vmailbox.cf:

user = postfix
password = password
hosts = localhost
dbname = mail
table = mailbox
select_field = CONCAT(domain,'/',maildir)
where_field = username
additional_conditions = and active = '1'
#query = SELECT CONCAT(domain,'/',maildir) FROM mailbox WHERE username='%s'AND active = '1'

Создаем файл /etc/postfix/sql/valias.cf:

user = postfix
password = password
hosts = localhost
dbname     = mail
table = alias
select_field = goto
where_field = address
additional_conditions = and active = '1'
#query = SELECT goto FROM alias WHERE address='%s' AND active = '1'

4. Установка и настройка Dovecot

# yum install dovecot dovecot-mysql -y

Открываем /etc/postfix/master.cf и добавляем:

dovecot    unix    -    n    n    -    -    pipe
             flags=DRhu user=vmail:mail argv=/usr/libexec/dovecot/deliver -d $(recipient)

Открываем /etc/postfix/main.cf и добавляем:

    reject_non_fqdn_recipient,
    reject_unverified_recipient,
    reject_rbl_client cbl.abuseat.org,
    reject_rbl_client dialups.mail-abuse.org,
    permit

# mv /etc/dovecot/dovecot.conf /etc/dovecot/dovecot.conf.orig

Создаем файл /etc/dovecot/dovecot.conf, вставим туда следующие настройки:

+ открыть спойлер

# 2.0.9: /etc/dovecot/dovecot.conf
# OS: Linux 2.6.32-220.7.1.el6.i686 i686 CentOS release 6.2 (Final) ext4
auth_debug = yes
auth_debug_passwords = yes
auth_mechanisms = plain login cram-md5
auth_verbose = yes
base_dir = /var/run/dovecot/
disable_plaintext_auth = no
ssl = no
first_valid_uid = 1150
last_valid_uid = 1150
log_timestamp = %Y-%m-%d %H:%M:%S
mail_debug = yes
mail_location = maildir:/var/vmail/%d/%u
passdb {
args = /etc/dovecot/dovecot-sql.conf
driver = sql
}
protocols = imap pop3
service auth {
unix_listener /var/spool/postfix/private/dovecot-auth {
user = postfix
group = postfix
mode = 0660
}
unix_listener auth-master {
user = vmail
group = mail
mode = 0660
}
unix_listener auth-userdb {
user = vmail
group = mail
mode = 0660
}
#user=root
}
service imap-login {
executable = /usr/libexec/dovecot/imap-login
inet_listener imap {
address = *
port = 143
}
}
service imap {
executable = /usr/libexec/dovecot/imap
}
service pop3-login {
executable = /usr/libexec/dovecot/pop3-login
inet_listener pop3 {
address = *
port = 110
}
}
service pop3 {
executable = /usr/libexec/dovecot/pop3
}
userdb {
args = /etc/dovecot/dovecot-sql.conf
driver = sql
}
protocol lda {
auth_socket_path = /var/run/dovecot/auth-master
postmaster_address = admin@point.local
}

Теперь создайте файл /etc/dovecot/dovecot-sql.conf

driver = mysql
connect = host=localhost dbname=mail user=postfix password=password
default_pass_scheme = CRAM-MD5
user_query = SELECT '/var/vmail/%d/%n' as home, 'maildir:/var/vmail/%d/%n'as mail, 1150 AS uid, 12 AS gid, concat('dirsize:storage=', quota) AS quota FROM mailbox WHERE username = '%u' AND active = '1'
password_query = SELECT username as user, password, '/var/vmail/%d/%n' as userdb_home, 'maildir:/var/vmail/%d/%n' as userdb_mail, 1150 as userdb_uid, 12 asuserdb_gid FROM mailbox WHERE username = '%u' AND active = '1'

5. Установка Postgrey

# yum install postgrey -y

Открываем файл /etc/postfix/main.cf, и добавляем check_policy_service unix:/var/spool/postfix/postgrey/socket после reject_unauth_destination:

    smtpd_recipient_restrictions = permit_mynetworks,
    permit_sasl_authenticated,
    reject_unauth_destination,
    check_policy_service unix:/var/spool/postfix/postgrey/socket,
    reject_non_fqdn_recipient,
    reject_unverified_recipient,
    reject_rbl_client cbl.abuseat.org,
    reject_rbl_client dialups.mail-abuse.org,
    permit

6. Установка ClamAV

# yum install clamav clamav-server clamsmtp clamav-update clamav-scanner –y

Открываем /etc/freshclam.conf и комментируем строку 8

Строка номер 8: закоментировать
Example

Обновляем базы:

# freshclam -v

Устанавливаем автообновление баз:

# freshclam -d

Открываем /etc/clamsmtpd.conf и вставляем:

        OutAddress: 10026
        TimeOut: 180
        KeepAlives: 0
        XClient: on
        Listen: 127.0.0.1:10025
        ClamAddress: /run/clamd.clamsmtp/socket
        Header: X-Virus-Scanned: ClamAV using ClamSMTP
        TempDirectory: /var/lib/clamd.clamsmtp
        Action: drop 
        Quarantine: on
        User: clamsmtp

# chown clamsmtp:mail -R /var/run/clamd.clamsmtp/

Добавляем в /etc/postfix/main.cf строчки:

+ открыть спойлер

content_filter = scan:127.0.0.1:10025
receive_override_options = no_address_mappings

Добавляем в /etc/postfix/master.cf строчку:

scan unix - - n - 16 smtp -o smtp_send_xforward_command=yes

Добавляем в /etc/postfix/master.cf:

127.0.0.1:10026 inet n - n - 16 smtpd
             -o content_filter=
             -o receive_override_options=no_unknown_recipient_checks,no_header_body_checks
             -o smtpd_helo_restrictions=
             -o smtpd_client_restrictions=
             -o smtpd_sender_restrictions=
             -o smtpd_recipient_restrictions=permit_mynetworks,reject
             -o mynetworks_style=host
             -o smtpd_authorized_xforward_hosts=127.0.0.0/8

7. Установка PostfixAdmin и Apache
Установим зависимости для Postfixadmin:

# yum -y install httpd php php-imap php-mbstring php-common php-pdo php-mysql php-cli

 
Скачаем Postfixadmin и настроим его:

# cd /var/www/html

# mv download postadmin.tar.gz

# tar -xvzf postadmin.tar.gz

# mv postfixadmin-2.3.6/ postfixadmin

# cd  postfixadmin

Открываем /var/www/html/postfixadmin/config.inc.php, в этом файле находим строчки которые внизу и меняем их значение на следующие:

$CONF['configured'] = true;
$CONF['database_type'] = 'mysql';
$CONF['database_host'] = 'localhost';
$CONF['database_user'] = 'postfix';
$CONF['database_password'] = 'password';
$CONF['database_name'] = 'mail';
$CONF['encrypt'] = 'dovecot:CRAM-MD5';
$CONF['dovecotpw'] = "/usr/bin/doveadm pw";
$CONF['emailcheck_resolve_domain']='YES';

Ставим все службы в автозагрузку:

# systemctl enable dovecot.service

# systemctl enable postfix.service

# systemctl enable httpd.service

# systemctl enable postgrey.service

# systemctl enable clamd@scan.service

# systemctl enable clamsmtp-clamd.service

8. Настройка DNS сервера
Открываем файл /etc/resolv.conf и приводим к виду:

search point.local
nameserver 127.0.0.1 
nameserver 192.168.1.2     //Первичный DNS
nameserver 111.222.333.444     //Вторичный DNS

После наших изменений в файле - /etc/resolv.conf, данные о зоне "point.local" будут браться из нашего DNS сервера с IP адресом 192.168.1.2. Другие запросы будут разрешатся через DNS сервер провайдера.
Установим пакет Bind:

# yum install bind -y

Впишем имя хоста в /etc/sysconfig/network:

NETWORKING=yes
NETWORKING_IPV6=no
HOSTNAME=mx.point.local

А также впишем имя хоста в /etc/hosts:

192.168.1.2 mx.point.local mx

Еще раз проверяем файл /etc/resolv.conf

search point.local
nameserver 127.0.0.1
nameserver 192.168.1.2
nameserver 111.222.333.444

Здесь IP адреса:
192.168.1.2 - наш DNS сервер
111.222.333.444 - IP адрес DNS сервера провайдера
Открываем /etc/named.conf и вставляем:

+ открыть спойлер

//
// named.conf
//
// Provided by Red Hat bind package to configure the ISC BIND named(8) DNS
// server as a caching only nameserver (as a localhost DNS resolver only).
//
// See /usr/share/doc/bind*/sample/ for example named configuration files.
//
options {
        listen-on port 53 { 127.0.0.1; 192.168.1.2; }; # ставим внешний IP интерфейса
        directory       "/var/named";
        dump-file       "/var/named/data/cache_dump.db";
        statistics-file "/var/named/data/named_stats.txt";
        memstatistics-file "/var/named/data/named_mem_stats.txt";
        allow-query { any; }; # меняем, даем обращатся всем
        allow-query-cache { localhost; 10.0.0.0/24; }; # меняем, добавляем локальную сеть если она есть
        allow-recursion { localhost; 10.0.0.0/24;}; # меняем, добавляем локальную сеть если она есть
        forwarders { 111.222.333.444; 444.555.666.777; }; # добавляем, ip dns провайдера
        dnssec-enable no;
        dnssec-validation no;
        dnssec-lookaside auto;

        /* Path to ISC DLV key */

        bindkeys-file "/etc/named.iscdlv.key";
};

logging {
        channel default_debug {
                file "data/named.run";
                severity dynamic;
        };
};

zone "." IN {
        type hint;
        file "named.ca";
};

# Зона прямого просмотра "point.local"
zone "point.local" {
type master;
file "point.local.fwd";
allow-update {none;};
allow-transfer {192.168.1.10; }; //вторичный DNS
};

# Наша обратная зона просмотра "point.local"
zone "1.168.192.in-addr.arpa" {
type master;
file "point.local.rev";
allow-update {none;};
allow-transfer {192.168.1.10; };
};

include "/etc/named.rfc1912.zones";

Создаем /var/named/point.local.fwd и вписываем:

$ORIGIN point.local.

$TTL 3D

@       SOA                     mx.point.local.     root.point.local. (12 4h 1h 1w 1h)
@       IN      NS              mx.point.local.
@       IN      MX      10    mail.point.local.

mx.point.local.         IN      A    192.168.1.2
www          IN      A    192.168.1.2
mail           IN      A    192.168.1.2

Создаем /var/named/point.local.rev и вписываем:

$ORIGIN 1.168.192.in-addr.arpa.

$TTL 3D
@    SOA         mx.point.local.    root.point.local. (12 4h 1h 1w 1h)
@    IN            NS      mx.point.local.
2     IN            PTR     mx.point.local.

# systemctl enable named.service

# systemctl start named.service

Проверка работы DNS:

# nslookup mx.point.local

# nslookup 192.168.1.2

# nslookup -type=MX point.local

# hostname -f

mx.point.local

# reboot

9. Настройка PostfixAdmin
В браузере ввести адрес http://127.0.0.1/postfixadmin/setup.php или
http://IP почтового сервера/postfixadmin/setup.php

В окошке "Change setup password" - забиваем свой пароль, записываем его на бумажку.

Во втором окошке появится длинная красная непонятная строчка (наш шифрованный пароль), копируем ее в буфер обмена.
Открываем /var/www/html/postfixadmin/config.inc.php, находим строчку

$CONF['setup_password'] = 'changeme';

Меняем, вместо  "changeme", вставляем шифрованный пароль который скопировали в буфер обмена. Вот что должно получится:

$CONF['setup_password'] = '6c5af4c72af213f0acac5f21d8f95ca1:e59172283d2bb72a5992af8ddc15332cde62f003';

Заходим http://127.0.0.1/postfixadmin/setup.php или http://IP сервера/postfixadmin/setup.php

Создаем учетную запись администратора, например "administrator@point.local".
Нажимаем на кнопке "Add Admin", появится надпись:

Admin has been added!
(administrator@point.local)

Запоминаем адрес (логин) и пароль.
Заходим на страничку http://127.0.0.1/postfixadmin/ или http://IP сервера/postfixadmin/
Вводим адрес administrator@point.local и пароль. 
Добавляем домен point.local: 
Заходим в меню -> Domain List - > New Domain -> point.local

  • Aliases - Ставим 0

  • Mailboxes - Ставим 0

  • Add default mail aliases - Галочка

Нажимаем ОК.
Появится надпись:

Domain has been added!
(point.local)

Создадим первый почтовый ящик, я создал "linux@point.local".
Меню Virtual List -> Add MailBox ->

  • Username - linux

  • Password - 123 (sample)

Пришло время тестировать наш почтовый сервер.
 
В локальной сети находим свободный компьютер, настраиваем сетевые настройки так чтобы этот ПК видел почтовый сервер.
Настраиваем почтовый клиент Outlook или другой, указываем

  • SMTP/POP3 server:                        point.local

  • Учетная запись (Account name):   linux@point.local

  • Пароль (password):                      123

Ставим галку - SMTP авторизация.
Отправляем себе письмо на linux@point.local

10. Установка и настройка RoundCube Web Mail

# yum install php php-xml php-mcrypt php-intl php-sqlite php-pgsql

# cd /var/www/html

# tar xvfz roundcubemail-0.9.4.tar.gz

# mv roundcubemail-0.9.4 roundcube

Cоздаем файл roundcube.conf:

# vi /etc/httpd/conf.d/roundcube.conf

Вписываем следующее:

+ открыть спойлер

Alias /webmail /var/www/html/roundcube
<Directory /var/www/html/roundcube>
AddType application/x-httpd-php .php .php3 .php4 .phtml
# forcing open_base dir do not affect anything
php_admin_value open_basedir /
# AddDefaultCharset UTF-8
AddType text/x-component .htc
<IfModule mod_php4.c>
php_flag display_errors Off
php_flag log_errors On
php_value error_log logs/errors
php_value upload_max_filesize 5M
php_value post_max_size 6M
php_value memory_limit 64M
</IfModule>
<IfModule mod_php5.c>
php_flag display_errors Off
php_flag log_errors On
php_value error_log logs/errors
php_value upload_max_filesize 5M
php_value post_max_size 6M
php_value memory_limit 64M
</IfModule>
<FilesMatch "(\.inc|\~)$">
Order allow,deny
Deny from all
</FilesMatch>
Order deny,allow
Allow from all
</Directory>

Cоздаем базу данных и пользователя:

# mysqladmin -p create roundcubemail

# mysql -p

mysql> GRANT ALL ON roundcubemail.* TO roundcube@localhost IDENTIFIED BY 'password';
mysql> quit

# service httpd restart

# chown apache:apache -R /var/www/html/roundcube/temp

# chown apache:apache -R /var/www/html/roundcube/logs

Ставим свой часовой пояс:

# vi /etc/php.ini

date.timezone = Asia/Almaty

или

date.timezone = Europe/Moscow

Идем по адресу http://127.0.0.1/roundcube/installer/ или http://IP сервера/roundcube/installer/. Оставляем все по умолчанию, не меняя никаких настроек, кроме двух полей,  где нужно указать название базы данных и пароль. В нашем случае  название базы будет "roundcubemail", а пароль указанный ранее 'password'.
Не забываем включить опцию 'htmleditor' в 'always'.
По окончании настройки веб интерфейса, Вам будет предложено скачать и сохранить два конфигурационных файла:
1. db.inc.php
2. main.inc.php
Эти два файла требуется переместить в папку:

/var/www/html/roundcube/config/

Открываем /var/www/html/roundcube/config/main.inc.php

# vi /var/www/html/roundcube/config/main.inc.php

$rcmail_config['imap_auth_type'] = cram-md5;

Если пароль к базе Roundcube был введен с ошибкой, его можно сменить в файле

# vi /var/www/html/roundcube/config/db.inc.php
$rcmail_config['db_dsnw'] = 'mysql://roundcube:password@localhost/roundcubemail';

Здесь:

  • roundcube - имя пользователя базы roundcubemail

  • password - пароль доступа к базе

  • roundcubemail - сама база веб Интерфейса RoundCube

Заходим в веб интерфейс, вводим в браузере адрес:

[url]http://point.local/webmail[/url]

или

[url]http://point.local/roundcube[/url]

Вводим в окошке:

  • логин: administrator@point.local

  • пароль: 123456

  • сервер: point.local или IP

320

Подскажите код которым я могу отправить письмо. Нужен он мне для батника. Например при успешном завершении чтобы отправлял письмо на почту. Нашёл код для Exchange, вот он -

Function sendMail()
strSmtpServer="msg-01" ' имя почтового сервера, в моем случае это Exchange
strSmtpPort=25
strSmtpAuth="no"
strSmtpSsl="no"
strDate=date
strSendingEmail="server1@winitpro.ru" ' Имя отправителя
strReportEmail="admin@winitpro.ru" ' Имя получателя
'WScript.Echo logPath & "\backup" & strDate & ".html"
Set objMessage = CreateObject("CDO.Message")
objMessage.Configuration.Fields.Item("http://schemas.microsoft.com/cdo/configuration/sendusing") = 2
objMessage.Configuration.Fields.Item("http://schemas.microsoft.com/cdo/configuration/smtpserver") = strSmtpServer
objMessage.Configuration.Fields.Item("http://schemas.microsoft.com/cdo/configuration/smtpserverport") = strSmtpPort
If strSmtpAuth = "yes" Then
objMessage.Configuration.Fields.Item("http://schemas.microsoft.com/cdo/configuration/smtpauthenticate") = 1 'use '2' for NTLM authentication
objMessage.Configuration.Fields.Item("http://schemas.microsoft.com/cdo/configuration/sendusername") = strSmtpUser
objMessage.Configuration.Fields.Item("http://schemas.microsoft.com/cdo/configuration/sendpassword") = strSmtpPass
End If
If strSmtpSsl = "yes" Then
objMessage.Configuration.Fields.Item("http://schemas.microsoft.com/cdo/configuration/smtpusessl") = True
End If
objMessage.Configuration.Fields.Update
objMessage.Subject = "Тема письма" & strDate & "."
objMessage.From = strSendingEmail
objMessage.To = strReportEmail
objMessage.HTMLBody = "Текст сообщения"
objMessage.Send
End Function

Какой код будет для Centos?

321

pashkovka пишет:

Подскажите код которым я могу отправить письмо. Нужен он мне для батника.

1. man mail|mailx|sendmail
2. В CentOS'е батников нет.

322

Хорошо, немного поменяем формулировку. Отправить почту из командной строки в Centos.

323

pashkovka пишет:

Хорошо, немного поменяем формулировку. Отправить почту из командной строки в Centos.

man mail|mailx|sendmail - здесь символ | есть "или"

или

mail --help
mailx --help
sendmail --help

324 (26.11.2013 17:18:07 отредактировано pashkovka)

Поискав на форуме нашёл

echo "Message body" | mail -s "Subject" user@example.org

А вот что нужно прописать чтобы отправить с определенного пользователя?
Вот в этой статье описано, но у меня это не проходит.
http://linuxforum.ru/viewtopic.php?id=18780

Пишет ошибку

sendmail: invalid option -- 's'
sendmail: invalid option -- 's'
sendmail: fatal: usage: sendmail [options]
[root@mx /]#

примерно как-то так
sendemail -f <адрес почты> -s <адрес почтового сервера> -xu <логин> -xp <пароль> -t <куда отправляем> -u test -m testing massage -a file.xls
-f адрес с которого отправляем письмо
-s smtp сервер почты с которой отправляем письмо
-xu логин от почты с которой отправляем письмо
-xp пароль от почты с которой отправляем письмо
-t адрес куда отправляем
-u тема письма
-m текст письма
-a вложения

325

pashkovka пишет:

Поискав на форуме нашёл

echo "Message body" | mail -s "Subject" user@example.org

А вот что нужно прописать чтобы отправить с определенного пользователя?

1. Нужно читать не сообщения на форуме, а техническую документацию, в которой содержатся ответы на все вопросы. На форуме же надо спрашивать - делаю так-то и так-то, в соответствии с тем-то и тем-то, но не выходит каменный каменный цветок.
2. А почтовый сервер примет от отправителя письмо с произвольным From:? Мой, например, пошлет в эротическое путешествие.

326

Cruiser78 пишет:

Нужно читать не сообщения на форуме, а техническую документацию, в которой содержатся ответы на все вопросы.

Классический ответ, спасибо за помощь, осенило прям.

Вопрос закрыт. Найду решение - опишу.

327

pashkovka пишет:
Cruiser78 пишет:

Нужно читать не сообщения на форуме, а техническую документацию, в которой содержатся ответы на все вопросы.

Классический ответ, спасибо за помощь, осенило прям.

Вопрос закрыт. Найду решение - опишу.

Еще раз - Вы найдете решение в соответствующем мане. Если Вы не хотите его читать, а предпочитаете искать свои оригинальные решения, то флаг Вам в руки. А ман говорит очень простую вещь:

 Консоль:
$man mailx
....
       mailx [-BDdEFintv~] [-s subject] [-a attachment ] [-c cc-addr] [-b bcc-
              addr] [-r from-addr] [-h hops] [-A account] [-S variable[=value]] to-addr . . .
....
       -r address
              Sets  the From address. Overrides any from variable specified in
              environment or startup files.  Tilde escapes are disabled.   The
              -r  address options are passed to the mail transfer agent unless
              SMTP is used.  This option exists for compatibility only; it  is
              recommended to set the from variable directly instead.

Можете искать иное решение... Но, если Вы хотите понять Linux - возьмите за привычку читать соответствующий команде man.

328

Здравствуйте! Прошу помощи или подсказки. Настроил все, как описано в топике, за исключением защиты - ее не устанавливал. В maillog отображается следующее:

+ открыть спойлер

Dec  7 22:59:04 old-rostov dovecot: auth: Debug: Loading modules from directory: /usr/lib/dovecot/auth
Dec  7 22:59:04 old-rostov dovecot: auth: Debug: Module loaded: /usr/lib/dovecot/auth/libauthdb_ldap.so
Dec  7 22:59:04 old-rostov dovecot: auth: Debug: Module loaded: /usr/lib/dovecot/auth/libdriver_mysql.so
Dec  7 22:59:04 old-rostov dovecot: auth: Debug: Module loaded: /usr/lib/dovecot/auth/libdriver_sqlite.so
Dec  7 22:59:04 old-rostov dovecot: auth: Debug: Module loaded: /usr/lib/dovecot/auth/libmech_gssapi.so
Dec  7 22:59:04 old-rostov dovecot: auth: Debug: auth client connected (pid=1474)
Dec  7 22:59:04 old-rostov dovecot: auth: Debug: client in: AUTH#0111#011PLAIN#011service=pop3#011lip=10.1.1.11#011rip=10.1.1.70#011lport=110#011rport=51476#011resp=AHN1QG9sZC1yb3N0b3YucnUAMTIz
Dec  7 22:59:04 old-rostov dovecot: auth: Debug: Loading modules from directory: /usr/lib/dovecot/auth
Dec  7 22:59:04 old-rostov dovecot: auth: Debug: Module loaded: /usr/lib/dovecot/auth/libauthdb_ldap.so
Dec  7 22:59:04 old-rostov dovecot: auth: Debug: Module loaded: /usr/lib/dovecot/auth/libdriver_mysql.so
Dec  7 22:59:04 old-rostov dovecot: auth: Debug: Module loaded: /usr/lib/dovecot/auth/libdriver_sqlite.so
Dec  7 22:59:04 old-rostov dovecot: auth: Debug: Module loaded: /usr/lib/dovecot/auth/libmech_gssapi.so
Dec  7 22:59:04 old-rostov dovecot: auth: mysql: Connected to localhost (mail)
Dec  7 22:59:04 old-rostov dovecot: auth: Debug: sql(su@old-rostov.ru,10.1.1.70): query: SELECT username as user, password, '/var/vmail/old-rostov.ru/su' as userdb_home, 'maildir:/var/vmail/old-rostov.ru/su' as userdb_mail, 1150 as userdb_uid, 12 asuserdb_gid FROM mailbox WHERE username = 'su@old-rostov.ru' AND active = '1'
Dec  7 22:59:04 old-rostov dovecot: auth: Debug: client out: OK#0111#011user=su@old-rostov.ru#011asuserdb_gid=12
Dec  7 22:59:04 old-rostov dovecot: auth: Debug: master in: REQUEST#011447217665#0111474#0111#011986852f2526f89b0324bf80539d10632
Dec  7 22:59:04 old-rostov dovecot: auth: Debug: sql(su@old-rostov.ru,10.1.1.70): SELECT '/var/vmail/old-rostov.ru/su' as home, 'maildir:/var/vmail/old-rostov.ru/su'as mail, 1150 AS uid, 12 AS gid, concat('dirsize:storage=', quota) AS quota FROM mailbox WHERE username = 'su@old-rostov.ru' AND active = '1'
Dec  7 22:59:04 old-rostov dovecot: auth: Debug: master out: USER#011447217665#011su@old-rostov.ru#011home=/var/vmail/old-rostov.ru/su#011mail=maildir:/var/vmail/old-rostov.ru/su#011uid=1150#011gid=12#011quota=dirsize:storage=0
Dec  7 22:59:04 old-rostov dovecot: pop3-login: Login: user=<su@old-rostov.ru>, method=PLAIN, rip=10.1.1.70, lip=10.1.1.11, mpid=1479
Dec  7 22:59:04 old-rostov dovecot: pop3: Debug: Added userdb setting: mail=maildir:/var/vmail/old-rostov.ru/su
Dec  7 22:59:04 old-rostov dovecot: pop3: Debug: Unknown userdb setting: plugin/quota=dirsize:storage=0
Dec  7 22:59:04 old-rostov dovecot: pop3(su@old-rostov.ru): Debug: Effective uid=1150, gid=12, home=/var/vmail/old-rostov.ru/su
Dec  7 22:59:04 old-rostov dovecot: pop3(su@old-rostov.ru): Debug: maildir++: root=/var/vmail/old-rostov.ru/su, index=, control=, inbox=/var/vmail/old-rostov.ru/su
Dec  7 22:59:04 old-rostov dovecot: pop3(su@old-rostov.ru): Disconnected: Logged out top=0/0, retr=0/0, del=0/0, size=0

Я так понял, что проблема с типе шифрования. Пробовал менять как советовали на PLAIN - не помогло.

Нынешние файлы конфигурации.

main.cf

+ открыть спойлер

soft_bounce = no
queue_directory = /var/spool/postfix
daemon_directory = /usr/libexec/postfix
mail_owner = postfix
default_privs = nobody
inet_interfaces = all
myhostname = old-rostov.ru
mydomain = old-rostov.ru
myorigin = $mydomain
mydestination = $myhostname,localhost.$myhostname,localhost
local_recipient_maps = proxy:unix:passwd.byname $alias_maps
unknown_local_recipient_reject_code = 550
mynetworks = 127.0.0.0/8
relay_domains =
alias_maps = hash:/etc/aliases
alias_database = hash:/etc/aliases
mail_spool_directory = /var/mail
smtpd_banner = $myhostname ESMTP
debug_peer_level = 2
debug_peer_list = 127.0.0.1
debugger_command =
    PATH=/bin:/usr/bin:/usr/local/bin:/usr/X11R6/bin
    xxgdb $daemon_directory/$process_name $process_id & sleep 5
sendmail_path = /usr/sbin/sendmail
mailq_path = /usr/bin/mailq
setgid_group = postdrop
html_directory = no
manpage_directory = /usr/local/man
config_directory = /etc/postfix
virtual_mailbox_domains = mysql:$config_directory/sql/vdomains.cf
virtual_mailbox_base = /var/vmail
virtual_mailbox_maps = mysql:$config_directory/sql/vmailbox.cf
virtual_alias_maps = mysql:$config_directory/sql/valias.cf
virtual_minimum_uid = 1150
virtual_uid_maps = static:1150
virtual_gid_maps = static:12
virtual_transport = dovecot
dovecot_destination_recipient_limit = 1
smtpd_sasl_auth_enable = yes
smtpd_sasl_exceptions_networks = $mynetworks
smtpd_sasl_security_options = noanonymous
broken_sasl_auth_clients = yes
smtpd_sasl_type = dovecot
smtpd_sasl_path = /var/spool/postfix/private/dovecot-auth
smtpd_recipient_restrictions = permit_mynetworks,
    permit_sasl_authenticated,
    reject_unauth_destination,
    reject_non_fqdn_recipient,
    reject_unverified_recipient,
    reject_rbl_client cbl.abuseat.org,
    reject_rbl_client dialups.mail-abuse.org,
    permit

master.cf

+ открыть спойлер

#
# Postfix master process configuration file.  For details on the format
# of the file, see the master(5) manual page (command: "man 5 master").
#
# Do not forget to execute "postfix reload" after editing this file.
#
# ==========================================================================
# service type  private unpriv  chroot  wakeup  maxproc command + args
#               (yes)   (yes)   (yes)   (never) (100)
# ==========================================================================
smtp      inet  n       -       n       -       -       smtpd
#submission inet n       -       n       -       -       smtpd
#  -o smtpd_tls_security_level=encrypt
#  -o smtpd_sasl_auth_enable=yes
#  -o smtpd_client_restrictions=permit_sasl_authenticated,reject
#  -o milter_macro_daemon_name=ORIGINATING
#smtps     inet  n       -       n       -       -       smtpd
#  -o smtpd_tls_wrappermode=yes
#  -o smtpd_sasl_auth_enable=yes
#  -o smtpd_client_restrictions=permit_sasl_authenticated,reject
#  -o milter_macro_daemon_name=ORIGINATING
#628      inet  n       -       n       -       -       qmqpd
pickup    fifo  n       -       n       60      1       pickup
cleanup   unix  n       -       n       -       0       cleanup
qmgr      fifo  n       -       n       300     1       qmgr
#qmgr     fifo  n       -       n       300     1       oqmgr
tlsmgr    unix  -       -       n       1000?   1       tlsmgr
rewrite   unix  -       -       n       -       -       trivial-rewrite
bounce    unix  -       -       n       -       0       bounce
defer     unix  -       -       n       -       0       bounce
trace     unix  -       -       n       -       0       bounce
verify    unix  -       -       n       -       1       verify
flush     unix  n       -       n       1000?   0       flush
proxymap  unix  -       -       n       -       -       proxymap
proxywrite unix -       -       n       -       1       proxymap
smtp      unix  -       -       n       -       -       smtp
# When relaying mail as backup MX, disable fallback_relay to avoid MX loops
relay     unix  -       -       n       -       -       smtp
    -o smtp_fallback_relay=
#       -o smtp_helo_timeout=5 -o smtp_connect_timeout=5
showq     unix  n       -       n       -       -       showq
error     unix  -       -       n       -       -       error
retry     unix  -       -       n       -       -       error
discard   unix  -       -       n       -       -       discard
local     unix  -       n       n       -       -       local
virtual   unix  -       n       n       -       -       virtual
lmtp      unix  -       -       n       -       -       lmtp
anvil     unix  -       -       n       -       1       anvil
scache    unix  -       -       n       -       1       scache
#
# ====================================================================
# Interfaces to non-Postfix software. Be sure to examine the manual
# pages of the non-Postfix software to find out what options it wants.
#
# Many of the following services use the Postfix pipe(8) delivery
# agent.  See the pipe(8) man page for information about ${recipient}
# and other message envelope options.
# ====================================================================
#
# maildrop. See the Postfix MAILDROP_README file for details.
# Also specify in main.cf: maildrop_destination_recipient_limit=1
#
#maildrop  unix  -       n       n       -       -       pipe
#  flags=DRhu user=vmail argv=/usr/local/bin/maildrop -d ${recipient}
#
# ====================================================================
#
# The Cyrus deliver program has changed incompatibly, multiple times.
#
#old-cyrus unix  -       n       n       -       -       pipe
#  flags=R user=cyrus argv=/usr/lib/cyrus-imapd/deliver -e -m ${extension} ${user}
#
# ====================================================================
#
# Cyrus 2.1.5 (Amos Gouaux)
# Also specify in main.cf: cyrus_destination_recipient_limit=1
#
#cyrus     unix  -       n       n       -       -       pipe
#  user=cyrus argv=/usr/lib/cyrus-imapd/deliver -e -r ${sender} -m ${extension} ${user}
#
# ====================================================================
#
# See the Postfix UUCP_README file for configuration details.
#
#uucp      unix  -       n       n       -       -       pipe
#  flags=Fqhu user=uucp argv=uux -r -n -z -a$sender - $nexthop!rmail ($recipient)
#
# ====================================================================
#
# Other external delivery methods.
#
#ifmail    unix  -       n       n       -       -       pipe
#  flags=F user=ftn argv=/usr/lib/ifmail/ifmail -r $nexthop ($recipient)
#
#bsmtp     unix  -       n       n       -       -       pipe
#  flags=Fq. user=bsmtp argv=/usr/local/sbin/bsmtp -f $sender $nexthop $recipient
#
#scalemail-backend unix -       n       n       -       2       pipe
#  flags=R user=scalemail argv=/usr/lib/scalemail/bin/scalemail-store
#  ${nexthop} ${user} ${extension}
#
#mailman   unix  -       n       n       -       -       pipe
#  flags=FR user=list argv=/usr/lib/mailman/bin/postfix-to-mailman.py
#  ${nexthop} ${user}
dovecot    unix    -    n    n    -    -    pipe
             flags=DRhu user=vmail:mail argv=/usr/libexec/dovecot/deliver -d $(recipient)

dovecot.conf

+ открыть спойлер

# 2.0.9: /etc/dovecot/dovecot.conf
# OS: Linux 2.6.32-220.7.1.el6.i686 i686 CentOS release 6.2 (Final) ext4
auth_debug = yes
auth_debug_passwords = yes
auth_mechanisms = plain login cram-md5
auth_verbose = yes
base_dir = /var/run/dovecot/
disable_plaintext_auth = no
ssl = no
first_valid_uid = 1150
last_valid_uid = 1150
log_timestamp = %Y-%m-%d %H:%M:%S
mail_debug = yes
mail_location = maildir:/var/vmail/%d/%u
passdb {
args = /etc/dovecot/dovecot-sql.conf
driver = sql
}
protocols = imap pop3
service auth {
unix_listener /var/spool/postfix/private/dovecot-auth {
user = postfix
group = postfix
mode = 0660
}
unix_listener auth-master {
user = vmail
group = mail
mode = 0660
}
unix_listener auth-userdb {
user = vmail
group = mail
mode = 0660
}
#user=root
}
service imap-login {
executable = /usr/libexec/dovecot/imap-login
inet_listener imap {
address = *
port = 143
}
}
service imap {
executable = /usr/libexec/dovecot/imap
}
service pop3-login {
executable = /usr/libexec/dovecot/pop3-login
inet_listener pop3 {
address = *
port = 110
}
}
service pop3 {
executable = /usr/libexec/dovecot/pop3
}
userdb {
args = /etc/dovecot/dovecot-sql.conf
driver = sql
}
protocol lda {
auth_socket_path = /var/run/dovecot/auth-master
postmaster_address = admin@point.local
}

dovecot-sql.conf

+ открыть спойлер

driver = mysql
connect = host=localhost dbname=mail user=postfix password=password
default_pass_scheme = CRAM-MD5
user_query = SELECT '/var/vmail/%d/%n' as home, 'maildir:/var/vmail/%d/%n'as mail, 1150 AS uid, 12 AS gid, concat('dirsize:storage=', quota) AS quota FROM mailbox WHERE username = '%u' AND active = '1'
password_query = SELECT username as user, password, '/var/vmail/%d/%n' as userdb_home, 'maildir:/var/vmail/%d/%n' as userdb_mail, 1150 as userdb_uid, 12 asuserdb_gid FROM mailbox WHERE username = '%u' AND active = '1'

329 (08.12.2013 07:50:05 отредактировано AlfaStriker)

Логи у вас не информативные. Предлагаю сделать так:
1. Сперва отчистите логи в файле /var/log/maillog

cat /dev/null > /var/log/maillog

2. Потом в почтовом клиенте попробуйте получить/отправить письмо.
3.  И вот тут уже можете показать логи  из maillog

Вы настраивали имя хоста?
Обычно в myhostname пишут имя хоста. Хотя я могу ошибатся.

И менять  алгоритмы на plain  - не надо. Там уже все правильно. Если почтовый клиент хочет LOGIN,  PLAIN или CRAM-MD5 - он это получает правильно. Раньше просто в топике в настройках dovecot я ставил Cram-md5, хотя на самом деле поддержки cram-md5 не было.  Многие почтовые клиенты хотели работать по этому алгортиму, но в конце обламывались.
Сейчас все отлично отлажено и пашет,  повторяю трогать ничего не  надо!

330

Дайте удаленный доступ по TeamViewer, посмотрим что у вас за проблема.