LINUX.ORG.RU
ФорумAdmin

Почтовый сервер - Postfix + Dovecot + Ubuntu

 , , , ,


1

1

Всем салют.

Есть вопрос, по дальнейшей настройке почтового сервера.

Что имеем:

  1. Полностью настроенный почтовый сервер со всеми DNS, сертификатами и верификациями + прохождение всех мэйл тестеров.

  2. Отправка с сервера как с главного домена, так и с второго «прикрученного» домена, писем на внешние адреса без попадания в спам и так далее. То есть по сути, отправка писем с сервера работает, всё тестировалось через mailutils + PHP Script (стандартная отправка письма).

  3. На данный момент на сервере открытый порт 25 с TLS Only

Теперь главная задача, которую я хочу реализовать, но, пока не знаю как это правильно сделать. (Postfix + Dovecot)

  1. Мне нужно чтобы все письма или их копии (приходили/слаживались в определённый ящик, к примеру я этот ящик в дальнейшем хочу подключить к эмайл клиенту и читать все письма приходящие на к примеру 2-3 домена)

  2. Я не пойму взаимосвязь работы Postfix & Dovecot - они оба работают с одной директорией в которой создаются ящики ? К примеру в Postfix читал за создание виртуальных ящиков, но, не могу понть эти виртуальные ящики слаживаются в ту же директорию где их сможет забирать/читать Dovecot ?

Обьясните мне просто логику работы, мне нужно как можно проще всё сделать. А именно задача читать письма с доменов в одном ящике (через емайл клиент типа Outlook) Далее при надобности создавать ящики для доменов к примеру info@domain1.com, info@domain2.com и отправлять с них письма/ответы.



Последнее исправление: nixbrain (всего исправлений: 1)
Ответ на: комментарий от masa

Я не пойму взаимодействия Postfix и Dovecot - они работают с одними и теми же директориями почты в нашем случае если я создам вирутальные ящики с помощью Postfix то, Dovecot будет забирать их с той же директории или как ?

nixbrain
() автор топика
Ответ на: комментарий от nixbrain

Довекот просто смотрит в папку с почтой, если в этой папке есть письма, он их покажет, если нет - то не покажет. Вот надо настроить постфикс, чтобы письма попадали в нужную тебе папку, можно через asiases, можно через форвардинг. Про вирутуальные ящики я не знаю, не пробовал такой способ.

masa ★★
()
Ответ на: комментарий от nixbrain

Все давно перешли на exim, postfix с его запутанными конфигами и отсутствием гибкости не нужон.

ящики для доменов к примеру info@domain1.com, info@domain2.com и отправлять с них письма/ответы.

Что значит отправить письмо с ящика? поле From и в бумажной и в электронной почте произвольное, написать туда можно что угодно 🙂

yandrey ★★
()
Ответ на: комментарий от yandrey

Написать можно и проверить тоже существует ли то что указано в From !.

Проблему решил с помощью виртуальных доменов/юзеров (Postfix)

  1. Приходящая почта на viktor@domain1.com и alen@domain2.com слаживается в ящики

/home/virtualmailboxes/domain1.com/viktor/

/home/virtualmailboxes/domain2.com/alen/

Теперь вопрос как прикрутить к вирутальным доменам/юзерам –> Dovecot ?

Чтобы можно было авторизироваться через емайл клиент типа (ThunderBird) и получать/читать почту из этих вирутальных ящиков.

nixbrain
() автор топика
Ответ на: комментарий от yandrey

Все давно перешли на exim, postfix с его запутанными конфигами и отсутствием гибкости не нужон.

Уже «давно» народ успел переехать с exim на postfix, теперь обратно потянулись?

Что значит отправить письмо с ящика? поле From и в бумажной и в электронной почте произвольное, написать туда можно что угодно 🙂

2ТС, прислушайтесь к этим мудрым словам. Оно не всегда прям на 146% робит, но для того что бы оно не робило, надо приложить отдельные усилия.

anc ★★★★★
()
Последнее исправление: anc (всего исправлений: 1)

Можно пробежаться по рекомендациям краткой настройки связки Postfix+Dovecot, а потом заглянуть в руководство по этим программам, если будут вопросы по каким-то параметрам:

https://firstvds.ru/technology/ustanovka-i-nastroyka-pochtovogo-servera-postfix-s-khraneniem-pochtovykh-paroley-v-fayle

https://firstvds.ru/technology/ustanovka-i-nastroyka-pochtovogo-servera-postfix-s-khraneniem-pochtovykh-paroley-v-bd

http://www.postfix.org/documentation.html

https://doc.dovecot.org/latest/

anonymous
()
Ответ на: комментарий от anonymous

https://firstvds.ru/technology/ustanovka-i-nastroyka-pochtovogo-servera-postfix-s-khraneniem-pochtovykh-paroley-v-fayle

Я не пойму в Dovecot тоже нужно ящики создавать ?

Так как ящики у меня уже есть в Postfix

/home/virtualmailboxes/domain1.com/viktor/

Та статья более менее подходит но, там дело в том что ящики создаются Dovecot а не Postfix.

Думаю там конфиг ещё проще чем во всех этих статьях просто нужно тот кто конфигурировал для этих сервиса чтобы подсказал просто что прописать для авторизации и настройки путей на ящики в postfix

nixbrain
() автор топика

Лучше тебе конечно поговорить с тем кто настраивал обсуждаемый почтовый сервер.

Если используются виртуальные ящики, то есть такой параметр в Postfix:

virtual_mailbox_base =  = /var/spool/mail/%d/%n

И в Dovecot:

mail_location = maildir:/var/spool/mail/%d/%n

А для того чтобы копировать входящие сообщения из одного ящика в другой нужно использовать recipient_bcc_maps.

axle_nix ★★
()
Ответ на: комментарий от nixbrain

Я не пойму в Dovecot тоже нужно ящики создавать ?

Насколько помню, в Dovecot создаются пользователи, которые будут подключаться по IMAP/POP, а в Postfix - каталоги, куда будут складываться сами письма, полученные по SMTP/LMTP.

Виртуальные ящики, если что - это которые не привязаны к системным пользователям (поэтому алиасы/синонимы для них задаются тоже в отдельном файле - /etc/postfix/virtual_alias_recipients.

Думаю там конфиг ещё проще чем во всех этих статьях просто нужно тот кто конфигурировал для этих сервиса чтобы подсказал просто что прописать для авторизации и настройки путей на ящики в postfix

Статья, несмотря на простоту, немного запутанная, сам конфиг можно вручную написать с теми же параметрами (или другими, если не устраивают), без ввода кучи команд. Мой пример:

wc -l /etc/postfix/master.cf
151 /etc/postfix/master.cf
wc -l /etc/postfix/main.cf
79 /etc/postfix/main.cf
anonymous
()
Ответ на: комментарий от axle_nix

Таких экспертов почты не так просто найти в интернетах. Это реально те кто настраивает/настраивал конфиги без панелей и всех прочих приблуд.

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

Там просто нужно понять как именно настроен постфикс, потому что там его конфигураций и настроек достаточно много

nixbrain
() автор топика
Ответ на: комментарий от anonymous

Вот мануал по которому примерно удалось понять как это всё настраивать/прикручивать

https://www.nic.ru/help/kak-ustanovit6-i-nastroit6-postfix-i-dovecot_11680.html

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

Подключился через клиента, отправил на майл-тестер письмо, вроде как всё прошло, отправил на другой почтовый ящик, тоже, отправил на сервер пользователю 2 под тем же доменом, тоже пришло в inbox.

Но, я видел настройки, в некоторых манах, где описываются папки Drafts, Junk, Trash, Sent я так понимаю если их не настраивать то письмо либо в Inbox - либо если я удаляю в клиенте - оно удаляется с Inbox с сервера и всё. Но, зачем тогда эти Junk итд создавать ?

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

nixbrain
() автор топика
Последнее исправление: nixbrain (всего исправлений: 1)
Ответ на: комментарий от nixbrain

Drafts, Junk, Trash, Sent

Не настраивал.

Но, при подключении почтового клиента по IMAP, они синхронизировались с каталогами почтового клиента, чем я и решил в своё время воспользоваться для управления этими каталогами и письмами (что-то остаётся в Inbox, что-то идёт в Архив(ные каталоги), что-то - в Trash, остальное удаляется безвозвратно. И никаких панелей и сторонних программ на сервере.

anonymous
()
Ответ на: комментарий от nixbrain

Но, я видел настройки, в некоторых манах, где описываются папки Drafts, Junk, Trash, Sent

Это imap фолдеры, которые могут быть или не быть. Описание есть здесь https://www.rfc-editor.org/rfc/rfc6154.html

anc ★★★★★
()
Ответ на: комментарий от mx__

Сами и настраиваем, я пишу примерно что нужно, далее уже идёт реализация хотя бы начальной работы. На данный момент, всё работает через вирутальные ящики. Дело ещё в том что там куча документации и возможностей управления почты. Пока выбрал такой вариант, так как более понятен. На счёт копий пока не смотрел, но как я понял с помощью виртуальных можно пересылать что угодно и кому угодно внутри системы. Как пересылать именно копии, пока не смотрел, чтобы к примеру было как forwarding - реальное письмо лежит в ящике получателя а копия отправилась на другой емайл внутри системы, внутри потому что если не внутри, тогда как я понял это уже будет open relay.

nixbrain
() автор топика
Ответ на: комментарий от anc

Да, почтитаю, просто нужно детально теперь разобраться. Но, главное что, главную и самую сложную задачу удалось решить. Остальное это уже донастройки. Кстати в плане безопасности там тоже есть что настраивать, а так пока ограничение только одной строчкой

smtpd_relay_restrictions = permit_mynetworks permit_sasl_authenticated defer_unauth_destination

nixbrain
() автор топика
Ответ на: комментарий от nixbrain

Как пересылать именно копии, пока не смотрел

Блин, первый ответ в вашей теме.

внутри потому что если не внутри, тогда как я понял это уже будет open relay.

Очень плохо поняли. Возвращайтесь в первый У класс.

anc ★★★★★
()
Ответ на: комментарий от nixbrain

Не совсем понимаю в вашем контексте слова - виртуальные.

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

У меня например копировании входящей сделано не через алияс а через таблицу виртуал (хотя название таблицы тут дело относительное).

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

mx__ ★★★★★
()
Ответ на: комментарий от mx__

Виртуальные - это которых нет в системе.

Вот у меня через эту карту пока что всё работает.

virtual_mailbox_maps

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

nixbrain
() автор топика
Последнее исправление: nixbrain (всего исправлений: 1)
Ответ на: комментарий от nixbrain

Тьфу, так это само собой, все юзера к примеру в лдапе а все диры в доме почты имеют права mail:mail я думал вы про разные домены почты …

mx__ ★★★★★
()
Последнее исправление: mx__ (всего исправлений: 1)
Ответ на: комментарий от mx__

Ещё вопрос, есть ли какое-то значение от порядка строк в кофиге main.cf (Postfix) ? К примеру я хочу прописать в конфиге так как мне удобно а не подставлять под уже существующие строки как это делают в мануалах ? (Я имею ввиду перестановка местами строк в конфиге что-то меняет ?) Если нет, тогда вообще отлично.

nixbrain
() автор топика
Ответ на: удаленный комментарий

Ещё одна важная деталь.

На счет сертификатов

Let's Encrypt.

Что-то нужно прописывать для Postfix & Dovecot после того как они автоматически обновятся ?

Или после обновления сертификатов нужно перезагружать оба ?

nixbrain
() автор топика
Ответ на: комментарий от nixbrain

Вроде не влияет, если я правильно понял вопрос.

Но цепочка правил в пропусках влияет.

Вообще на постфикс можно сделать все что угодно.

Единственно что я не осилил (может мой постфикс старый), отрезание вложений по маске для конкретных адресов.

mx__ ★★★★★
()
Последнее исправление: mx__ (всего исправлений: 1)
Ответ на: комментарий от anc

А как это сделать ? Я имею ввиду к примеру сертификаты обновляются автоматически по крону certbot - т.е нужно как-то при обновлении прикрутить и реалоад сервисов postfix/dovecot

nixbrain
() автор топика
Ответ на: комментарий от mx__

Цепочка правил по типу

smtpd_relay_restrictions = permit_mynetworks permit_sasl_authenticated defer_unauth_destination

тут наверное порядок имеет значение.

А я имел ввиду имено весь сам конфиг main.cf

Допустим если я помещу вот этот кусок конфига не в конец где он находится а в самое начало.

mynetworks = 127.0.0.0/8 [::ffff:127.0.0.0]/104 [::1]/128
mailbox_size_limit = 0
recipient_delimiter = +
inet_interfaces = all
inet_protocols = ipv4

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

nixbrain
() автор топика
Ответ на: комментарий от mx__

Единственно что я не осилил (может мой постфикс старый), отрезание вложений по маске для конкретных адресов.

Я вот книгу скачал, оказывается есть книга по postfix я честно говоря не удивлён, учитывая сколько там настроек и возможностей.

Но, базовую защиту от «дураков» придётся в любом случае делать.

nixbrain
() автор топика
Ответ на: комментарий от nixbrain

Нужно готовое решение, с возможностью проверки.

За готовыми решениями сюда www.linux.org.ru/forum/job/

это в крон прописывать ?

Дядь, что именно было непонятно в том, что я написал?

anc ★★★★★
()
Ответ на: комментарий от mx__

Вопрос, может сталкивался с подобным.

mail.domain1.com - главный домен

Отправляю почту с php скрипта, из под From: user@domain2.com

На майл тестер.

Score 10/10, но, есть небольшое НО в отчёте.

SpamAssasin

HEADER_FROM_DIFFERENT_DOMAINS From and EnvelopeFrom 2nd level mail domains are different

Далее типа все ок

Received-SPF: Pass (sender SPF authorized) identity=ma...

Пытался найти ответ, но не понял от чего это зависит и где это менять (если это возможно или нужно).

nixbrain
() автор топика
Ответ на: комментарий от anc

Я нашёл реализацию через cli.ini

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

Судя по описанию что делает этот конфиг, должна.

На счёт --deploy-hook я понял, только не понял куда это всё прописывать, как оказалось можно не в крон.

nixbrain
() автор топика
Ответ на: комментарий от anc

Всё решилось.

Теперь появилась другая проблема.

По логике если чере емайл клиент почта работает, то и через подключение внешнего SMTP через PHP Mailer в принципе тоже должна.

Но, почему то сервер не хочет принимать коннект от себя же, к примеру на ip почтового сервера стоит веб сервер на котором есть скрипт отправки почты через внешний SMTP.

nixbrain
() автор топика
Ответ на: комментарий от nixbrain

Кстати, может кому будет полезно. При настройке почтового сервера, не полинитесь создать пользователя postmaster@yourdomain.com так как некоторые сервисы проверяют ваш сервер на наличие именно этого почтового ящика и если его нет могут создать какой-нибудь рекорд типа блэк или грей листа, который потом будет светиться при проверках в других сервисах.

nixbrain
() автор топика
Последнее исправление: nixbrain (всего исправлений: 1)