Перейти из форума на сайт.

НовостиФайловые архивы
ПоискАктивные темыТоп лист
ПравилаКто в on-line?
Вход Забыли пароль? Первый раз на этом сайте? Регистрация
Компьютерный форум Ru.Board » Компьютеры » В помощь системному администратору » Почтовый сервер postfix документация и FAQ

Модерирует : lynx, Crash_Master, dg, emx, ShriEkeR

 Версия для печати • ПодписатьсяДобавить в закладки
Страницы: 1 2 3 4 5 6 7 8 9 10 11 12 13 14

Открыть новую тему     Написать ответ в эту тему

bva



Junior Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Почтовый сервер Postfix


Postfix - почтовый сервер (MTA - mail transfer agent). Postfix является свободным программным обеспечением.
Postfix создавался как альтернатива Sendmail. Считается, что Postfix быстрее работает, легче в администрировании, более защищён и, что важно, совместим с Sendmail.
Postfix отличается продуманной модульной архитектурой, которая позволяет создать очень надёжную и быструю почтовую систему. Так, например, привилегии root требуются только для открытия порта (TCP 25 порт), а демоны, которые выполняют основную работу, могут работать непривилегированным пользователем в изолированном (chroot) окружении, что очень положительно сказывается на безопасности.
Архитектура Postfix выполнена в стиле UNIX - где простые программы выполняют минимальный набор функций, но выполняют их быстро и надежно. При простое почтовой системы ненужные демоны могут прекращать свою работу, высвобождая тем самым память, а при необходимости снова запускаются master-демоном.
Также стоит отметить более простую и понятную конфигурацию по сравнению с Sendmail и меньшую ресурсоёмкость, особенно во время простоя почтовой системы.
Совместим с AIX, BSD, HP-UX, IRIX, GNU/Linux, Mac OS X, Solaris, Tru64 UNIX, фактически может быть собран на любой Unix-подобной операционной системе, поддерживающей POSIX и имеющей компилятор C. Является службой пересылки почты по умолчанию в ОС NetBSD.

http://www.kalinin.ru/programming/abstract/08_02_03.shtml - Postfix изнутри  (принципы работы)
http://www.opennet.ru/base/net/postfix_tls.txt.html - Настройка postfix с возможностью шифрования и защиты от вирусов и спама
Отдельно обсуждается: Антиспамерский фильтр для Postfix'а | Postfix + TLS | Как правильно настроить квоту в Postfix | Postfix: Компиляция и настройка
Также посмотрите фильтр по PostFix
А также полезные ссылки: HOWTO postfix+AVP(via avcheck)+cyrus under FreeBSD
Сайт с оооочень полезным патчем для postfix-а. Патч позволяет настроить в postfix квоту для виртуальных почтовых ящиков. Все очень легко патчится и очень легко настраивается.

Всего записей: 44 | Зарегистр. 12-04-2002 | Отправлено: 12:41 19-07-2002 | Исправлено: shrmn, 20:08 14-02-2023
aut

Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору

Цитата:
Добрый день всем! Есть почтовый сервер на postfix+dovecot+mysql+... Есть список внешних адресов клиентов. Есть общий ящик. Задача поделить список клиентов и сделать так чтоб от определенных групп клиентов почта приходила в общий ящик и пересылалась определенным пользователям. Как-то так... Может кто помочь, в какую сторону копать? Гугление на тему "распределение входящей почты postfix" не дало ничего кроме, как пересылать вообще всю входящую на ящик почту на другие ящики.

 
Копайте в сторону sieve.

Всего записей: 265 | Зарегистр. 19-07-2004 | Отправлено: 13:30 24-09-2014
vadiara

Junior Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Коллеги, несколько вопросов postfix+amavis , 1) сыпется спам с вложением zip, в зипе exe-шник. Блокировать zip нельзя, при блокировке адресов рассылки, спам начинает падать с других адресов, как бороться?
2) как сделать чтобы письма с нескольких ящиков дублировались в один? в инете находил только дублирование всех входящих писем..

Всего записей: 51 | Зарегистр. 01-08-2013 | Отправлено: 11:32 08-10-2014
aut

Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору

Цитата:
1) сыпется спам с вложением zip, в зипе exe-шник. Блокировать zip нельзя, при блокировке адресов рассылки, спам начинает падать с других адресов, как бороться?  

 
А в exe-шниках вирусы? Если да, то clamav может помочь, если его прикрутить к postfix.
 

Цитата:
2) как сделать чтобы письма с нескольких ящиков дублировались в один? в инете находил только дублирование всех входящих писем..

 
В /etc/postfix/main.cf прописать  

Код:
 
recipient_bcc_maps = hash:/etc/postfix/recipient_bcc
 

 
В /etc/postfix/recipient_bcc соответственно -
 

Код:
 
user1@yourdomain.ru common@yourdomain.ru
user2@yourdomain.ru common@yourdomain.ru
user3@yourdomain.ru common@yourdomain.ru
 

 
и так далее.

Всего записей: 265 | Зарегистр. 19-07-2004 | Отправлено: 13:04 08-10-2014 | Исправлено: aut, 13:09 08-10-2014
vadiara

Junior Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
aut
СПС. а если вложение имеет постоянный вид photo.zip есть как то возможность отбивать именно по названию файлы?

Всего записей: 51 | Зарегистр. 01-08-2013 | Отправлено: 14:40 08-10-2014
aut

Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
vadiara

Цитата:
СПС. а если вложение имеет постоянный вид photo.zip есть как то возможность отбивать именно по названию файлы?

 
Не могу сказать точно, не сталкивался с такой задачей. Но по сути для этого уже надо ведь анализировать не заголовки, а тело сообщения. Вряд ли postfix может самостоятельно справиться с такой задачей без дополнительных инструментов.

Всего записей: 265 | Зарегистр. 19-07-2004 | Отправлено: 16:01 08-10-2014
Sadok

Advanced Member
Редактировать | Профиль | Сообщение | ICQ | Цитировать | Сообщить модератору

Цитата:
Не могу сказать точно, не сталкивался с такой задачей. Но по сути для этого уже надо ведь анализировать не заголовки, а тело сообщения. Вряд ли postfix может самостоятельно справиться с такой задачей без дополнительных инструментов.

 
Зачем тело? Имена файлов в заголовках все равно. Пример из документации:

Код:
/etc/postfix/main.cf:
           header_checks = pcre:/etc/postfix/header_checks.pcre
 
       /etc/postfix/header_checks.pcre:
           /^Content-(Disposition|Type).*name\s*=\s*"?(.*(\.|=2E)(
             ade|adp|asp|bas|bat|chm|cmd|com|cpl|crt|dll|exe|
             hlp|ht[at]|
             inf|ins|isp|jse?|lnk|md[betw]|ms[cipt]|nws|
             \{[[:xdigit:]]{8}(?:-[[:xdigit:]]{4}){3}-[[:xdigit:]]{12}\}|
             ops|pcd|pif|prf|reg|sc[frt]|sh[bsm]|swf|
             vb[esx]?|vxd|ws[cfh]))(\?=)?"?\s*(;|$)/x
               REJECT Attachment name "$2" may not end with ".$4"
 

 
ПЫС: это  man 5 header_checks

Всего записей: 1340 | Зарегистр. 04-01-2003 | Отправлено: 16:50 08-10-2014 | Исправлено: Sadok, 16:52 08-10-2014
vadiara

Junior Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Т.е достаточно в header_checks указать photo? получается, что это имя и расширения и файла блочится?

Всего записей: 51 | Зарегистр. 01-08-2013 | Отправлено: 16:53 08-10-2014
Sadok

Advanced Member
Редактировать | Профиль | Сообщение | ICQ | Цитировать | Сообщить модератору
vadiara
 
Надо изучить тело письма (какие строки искать), опционально PCRE и подумать, что туда написать. В гугле масса примеров, если что.

Всего записей: 1340 | Зарегистр. 04-01-2003 | Отправлено: 17:20 08-10-2014
Mavrikii

Platinum Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
vlary

Цитата:
Думаю, об этом тебе лучше спросить в теме посвященной твоей виртульной среде.  
ИМХО, переведи сетевой адаптер виртуалки из NAT в бридж, и никакой mod_rpaf тебе не понадобится.

да, спасибо. спрашивать не стал, сам поковырялся - оказывается есть опция, которой нет в GUI машины, через командную строку или ручной правки конфига, чтобы включить прозрачный нат. бридж не очень хотелось, так как выделять два фиксированного IP для хоста и гостевой нет смысла. но теперь все хорошо и виден реальный IP удаленного хоста )

Всего записей: 15039 | Зарегистр. 20-09-2014 | Отправлено: 09:00 11-10-2014
Mavrikii

Platinum Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Что то я уже пару часов потратил, но не могу понять почему не работает. В общем есть транспорт, пусть к скрипту правильный, доступ под www-data есть, скрипт исполняемый
 

Цитата:
maillist        unix    -       n       n       -       -       pipe
  flags=X user=www-data argv=/var/www/test.sh

 
далее в main.cf есть

Цитата:
smtpd_recipient_restrictions =
  check_recipient_access regexp:/путь/lists.filter,
  остальное

 
в lists.filter, просто для теста

Цитата:
/test@domain/ FILTER maillist:

 
логи показывают, что фильтр срабатывает, но флаг X почему то не очищает доставку, а все равно проверяет юзверя

Цитата:
postfix/smtpd[29201]: connect from localhost[127.0.0.1]
postfix/smtpd[29201]: NOQUEUE: filter: RCPT from localhost[127.0.0.1]: <test@domain>: Recipient address triggers FILTER maillist:; from=<sender@domain> to=<test@domain> proto=ESMTP helo=<domain>
postfix/smtpd[29201]: NOQUEUE: reject: RCPT from localhost[127.0.0.1]: 550 5.1.1 <test@domain>: Recipient address rejected: User unknown in virtual mailbox table; from=<sender@domain> to=<test@domain> proto=ESMTP helo=<domain>
postfix/smtpd[29201]: warning: non-SMTP command from localhost[127.0.0.1]: To: test@domain
postfix/smtpd[29201]: disconnect from localhost[127.0.0.1]

 
Ощущение, что скрипт, все же, не запускается, но ведь логи пишут, что фильтр сработал.  
Ворнинг "non-SMTP command" - это send форма в postfixadmin пытается все равно дальше DATA отправить.
 
Такая вещь через hash: срабатывала, но мне нужны регулярки
 
ps:  добавление фильтра сюда тоже не помогает

Цитата:
smtp      inet  n       -       -       -       -       smtpd
        -o content_filter=maillist:

 
все это делалось на основе  
http://blog.thecodingmachine.com/content/triggering-php-script-when-your-postfix-server-receives-mail
и
https://groups.google.com/forum/#!msg/mailing.postfix.users/KFb4okEASBU/TmmYqXEFTLQJ
 
Добавлено:
В общем понял в чем дело.
 

Цитата:
  check_recipient_access regexp:/путь/lists.filter,  

вызов фильтра тут не делает несуществующий email реальным, поэтому и сервер отказывается его получать.  оставил этот файл как есть, чтобы запустил триггер, но добавил еще и  
 

Цитата:
virtual_alias_maps =
   regexp:/путь/aliases.filter,

 
в котором идет выброс мыла в /dev/null

Цитата:
/test@domain/  devnull

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

Всего записей: 15039 | Зарегистр. 20-09-2014 | Отправлено: 07:05 13-10-2014 | Исправлено: Mavrikii, 07:09 13-10-2014
Mavrikii

Platinum Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
И снова я.. появился еще один вопрос - как заставить отправлять в таком виде, как выше, в фильтр только сообщения для него, а не все адреса, что были в To?
То есть если отправлялось сообщение в адрес фильтра и, через запятую, куда то еще, то они не должны оба идти в фильтр. Для этого, как понимаю, нужно обрабатывать уже после очереди, когда сообщения разбиты на два?
 
ps: все, разобрался.. проще оказалось, по видимому, просто инжектировать сообщение обратно через sendmail -G если оно не подоходит.

Всего записей: 15039 | Зарегистр. 20-09-2014 | Отправлено: 01:02 22-10-2014 | Исправлено: Mavrikii, 03:30 22-10-2014
redson



Advanced Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
есть сервер в локальной сети, письма от которого postfix (iredmail) игнорирует, в логах следующие ошибки:
 
NOQUEUE: reject: RCPT from
 
Sender address rejected: Domain not found;
 
куда добавить этот домен, чтобы письма принимались?
 
доп. информация:
============
сервер который игнорируется: srvtest.corp.lan
 
домен который обслуживает мой postfix (iredmail): alertmail.corp.lan

Всего записей: 1336 | Зарегистр. 23-04-2007 | Отправлено: 22:05 10-03-2015
chAlx

Advanced Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Помогите плиз настроить такую конфигурацию:
 
  • почта через Постфикс отправляется только с локального сервера (php, cron и прочие уведомления);
  • почта адресована в т.ч. реальным людям на разных доменах (gmail и т.п.);
  • на домене настроен MX Яндекса: вся почта из внешки идёт сразу туда (там созданы ящики типа info@) и там же отвечаются ответы;
  • вся почта сервера (т.е. сгенерённая локально -- внешнюю не принимаем) уходит на соответствующий почтовый сервер получателя (mx его домена).
    Это уже есть и работает. Не хватает вот чего:
  • почта для некоторых локальных пользователей (root, postmaster и т.п.) остаётся локальной и/или уходит на отдельный алиас.
     
    Сейчас получается так:
    main.cf:

    Код:
    myhostname = <mydomain.com>
    alias_maps = hash:/etc/aliases
    alias_database = hash:/etc/aliases
    mydestination = localhost
    relayhost =
    mynetworks = 127.0.0.0/8
    inet_interfaces = loopback-only

     
    Вся почта для локальных юзеров, с учётом hostname сервера, отправляется на <user>@<mydomain.com>. А он не прописан локальным. В результате алиасы типа root  adminvasya@gmail.com не работают, т.к. письма считаются нелокальными и летят сразу на MX домена <mydomain.com>. Который на Яндексе. А если в mydestination прописать свой домен <mydomain.com>, то вся почта для домена так и останется на сервере, включая созданных на Яндексе юзеров.
     
    Мне же надо, чтобы только несколько получателей вида <user>@<mydomain.com> обрабатывались локально, а все остальные слались наружу на соответствующий MX: <mydomain.com> на Яндекс, остальные на свои почтовые сервера.
    Как?..

  • Всего записей: 1691 | Зарегистр. 19-03-2003 | Отправлено: 23:52 29-03-2015
    MAGNet



    Silver Member
    Редактировать | Профиль | Сообщение | ICQ | Цитировать | Сообщить модератору
    Пытаюсь отправить письмо на gallop.ru, а меня отправляют обратно с формулировкой:

    Код:
    mail postfix/smtp[55476]: 915431100072: to=<dremowa@gallop.ru>, relay=mail.gallop.ru[195.170.63.130]:25, delay=0.99, delays=0.1/0/0.78/0.11, dsn=5.0.0, status=bounced (host mail.gallop.ru[195.170.63.130] said: 550 "Email blocked because of invalid sender hostname" (in reply to RCPT TO command))

    У меня hostname, разумеется, прописан и зоны тоже настроены верно:

    Код:
    $ nslookup mail.202020.ru 8.8.8.8
    Server:         8.8.8.8
    Address:        8.8.8.8#53
     
    Non-authoritative answer:
    Name:   mail.202020.ru
    Address: 80.66.78.146
    Name:   mail.202020.ru
    Address: 195.208.151.27


    Код:
    $ nslookup 80.66.78.146 8.8.8.8
    Server:         8.8.8.8
    Address:        8.8.8.8#53
     
    Non-authoritative answer:
    146.78.66.80.in-addr.arpa       name = mail.202020.ru.


    Код:
    $ nslookup 195.208.151.27 8.8.8.8
    Server:         8.8.8.8
    Address:        8.8.8.8#53
     
    Non-authoritative answer:
    27.151.208.195.in-addr.arpa     name = mail.202020.ru.

     
    Во все другие места почта ходит давно и без проблем.
    Можно ли предположить, что те одмины слегка криворуки или у них мой сервер не резолвится?
    Если так, то в какое место их нужно ткнуть носом, чтоб они сильно не нервничали и быстро всё поправили?
     
    зы
    вот вообще жесть!!

    Код:
    mail postfix/smtp[64864]: 2677C1100073: to=<dremowa@gallop.ru>, relay=none, delay=17304, delays=17274/0.02/30/0, dsn=4.4.1, status=deferred (connect to mail.gallop.ru[195.170.63.130]:25: Connection timed out)


    Код:
    $ telnet mail.gallop.ru 25
    Trying 195.170.63.130...
    telnet: Unable to connect to remote host: Connection timed out


    Код:
    $ nmap -p 25 mail.gallop.ru
    Starting Nmap 5.21 ( http://nmap.org ) at 2015-05-30 10:35 NOVT
    Nmap scan report for mail.gallop.ru (195.170.63.130)
    Host is up (0.061s latency).
    rDNS record for 195.170.63.130: srv.e2-e3.ru
    PORT   STATE    SERVICE
    25/tcp filtered smtp
    Nmap done: 1 IP address (1 host up) scanned in 0.82 seconds

     
    Они чё там, вообще обурели?!
    rDNS record for 195.170.63.130: srv.e2-e3.ru
     
    Вот кто они после этого?!!

    Всего записей: 2074 | Зарегистр. 31-03-2004 | Отправлено: 07:27 30-05-2015 | Исправлено: MAGNet, 07:43 30-05-2015
    vlary



    Platinum Member
    Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
    MAGNet
    Код:
    telnet mail.gallop.ru 25
    220 srv.e2-e3.ru ESMTP Exim 4.69 Sat, 30 May 2015 20:35:02 +0300
    QUIT
    221 srv.e2-e3.ru closing connection
     
    Может, у них были локальные трудности?
    Или у вас с ними индивидуальное непроханже? Такое бывает.

    ----------
    Заслуженный SCOтовод, почетный SUNтехник и любитель Кошек

    Всего записей: 17273 | Зарегистр. 13-06-2007 | Отправлено: 20:38 30-05-2015 | Исправлено: vlary, 20:39 30-05-2015
    MAGNet



    Silver Member
    Редактировать | Профиль | Сообщение | ICQ | Цитировать | Сообщить модератору
    vlary
    ага. первый раз проблема возникла пол года назад, просто меня никто не поставил в курс..
    выяснилось, что это перманентно.
    то, что сервер не ответил на 25-й порт, я отношу к простому совпадению. будем в понедельник проверять..
    ..может он отдыхает?

    Всего записей: 2074 | Зарегистр. 31-03-2004 | Отправлено: 07:22 31-05-2015
    MAGNet



    Silver Member
    Редактировать | Профиль | Сообщение | ICQ | Цитировать | Сообщить модератору

    Цитата:
    ..может он отдыхает?

    Сервер отвечает.
    Перехал в профильную тему про Exim.

    Всего записей: 2074 | Зарегистр. 31-03-2004 | Отправлено: 06:19 02-06-2015
    Alukardd



    Gold Member
    Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
    MAGNet
    Цитата:
    Они чё там, вообще обурели?!
    rDNS record for 195.170.63.130: srv.e2-e3.ru
     
    Вот кто они после этого?!!  
    здесь всё по RFC.

    ----------
    Microsoft gives you windows, linuх gives you the whole house...
    I've been using Vim for about 4 years now, mostly because I can't figure out how to exit it.

    Всего записей: 6562 | Зарегистр. 28-08-2008 | Отправлено: 09:02 02-06-2015
    MAGNet



    Silver Member
    Редактировать | Профиль | Сообщение | ICQ | Цитировать | Сообщить модератору

    Цитата:
    здесь всё по RFC

    так-то да. это не их настройка, а хостинг-провайдера.
    это я к тому, что их почтовый сервер не имеет собственного ip, но пытается диктовать условия - это возьму.. это не возьму..
    если уж настраиваете параноидальный контроль, то будьте добры соответствовать!

    Всего записей: 2074 | Зарегистр. 31-03-2004 | Отправлено: 13:15 02-06-2015
    Alukardd



    Gold Member
    Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
    MAGNet
    Их, не их — не важно. У них PTR соответствует A записи. Это единственное требование.

    ----------
    Microsoft gives you windows, linuх gives you the whole house...
    I've been using Vim for about 4 years now, mostly because I can't figure out how to exit it.

    Всего записей: 6562 | Зарегистр. 28-08-2008 | Отправлено: 14:43 02-06-2015
    Открыть новую тему     Написать ответ в эту тему

    Страницы: 1 2 3 4 5 6 7 8 9 10 11 12 13 14

    Компьютерный форум Ru.Board » Компьютеры » В помощь системному администратору » Почтовый сервер postfix документация и FAQ


    Реклама на форуме Ru.Board.

    Powered by Ikonboard "v2.1.7b" © 2000 Ikonboard.com
    Modified by Ru.B0ard
    © Ru.B0ard 2000-2024

    BitCoin: 1NGG1chHtUvrtEqjeerQCKDMUi6S6CG4iC

    Рейтинг.ru