LINUX.ORG.RU
ФорумAdmin

POSTFIX MTA, DNS MX, внешняя почта.

 , , , ,


0

1

Доброго времени суток, уважаемый Лор!

Скажу честно я далек от Postfix-а, но на http://www.postfix.org/ обязательно конечно загляну. Собственно вопрос:

Уважаемые, знающие люди, ткните меня носом в известное место, объясните в двух словах, каким образом постфикс транспортирует вхдящуюю почту? То есть, если на сервере провайдера, например я изменю МХ запись и разверну ее в сторону своего сервера, а кто-то напишет мне письмо, каким образом постфикс ее получит? И мало того я понимаю что 25-й порт может работать как out так и in. А следовательно письмо отправленное мне из вне должно быть доставлено до локального ящика на сервере, откуда в свою очередь я смогу забрать его через настроенный pop3 сервер? Но мне не понятен сам механизм! :)) А так же хотелось бы знать, можно ли настроить сабж в режиме кеширующего сервера? То есть что бы основной сервер провайдера просто форвардил все письма на мой и наоборот через него я отправлял, последнее делается как я понял через smtp relay, а вот первое для меня не понятно. :( Если кому не жалко, поделитесь опытом. Спасибо!


Ответ на: комментарий от IPR

Скажу честно я далек от SMTP, но на ru.wikipedia.org/wiki/SMTP обязательно конечно загляну. Собственно вопрос:

fixed.

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

Ну, это понятно, сказать: Сам дурак! Это проще всего! ;) Но насколько мне память не изменяет linux-way подразумевает посильную помощь ближнему? И в следующий раз когда тебе потребуется 2-х минутное объяснение сути 542 страницы тома Войны и Мира, я тебе скажу что бы ты пошел и почитал ее на досуге. Спасибо! :)

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

Линукс-вэй может быть. Но я не линуксоид.

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

Но насколько мне память не изменяет linux-way подразумевает посильную помощь ближнему?

Для тебя linux-way должен подразумевать чтение мануалов и задавание конкретных вопросов вместо «мне не понятно».

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

Электронная почта представлена почтовым клиентом (MUA, mail user agent — пользовательский почтовый агент) для почтового сервера (MSA, mail submission agent — агент передачи электронной почты) с помощью SMTP по TCP-порту 587. Оттуда MSA доставляет почту своим агентам пересылки сообщений (MTA, mail transfer agent). Часто эти два агента являются просто различными образцами одного и того же программного обеспечения, запущенного с разными параметрами на одном устройстве. Локальная обработка может быть проведена как на отдельной машине, так и разделена между различными устройствами; в первом случае вовлеченные процессы имеют общий доступ к файлам, во втором случае SMTP используется для пересылки сообщения внутренне, причем каждый хост настроен на использование следующего устройства в качестве промежуточного хоста. Каждый процесс — сам по себе MTA, т. е. — SMTP-сервер.

Граничный MTA должен найти целевой хост. Он использует систему доменных имен (DNS) для поиска записей почтового обменника (mail exchanger — MX) домена получателя (часть адреса, находящаяся справа от символа @). Возвращаемая запись почтового MX содержит имя целевого хоста. Затем MTA подключается к серверу обмена в качестве SMTP-клиента.

Как только цель MX принимает входящее сообщение, она передает его агенту доставки почты (mail delivery agent — MDA) для локальной доставки сообщения. MDA предусматривает возможность сохранять сообщения в соответствующем формате почтового ящика. Прием почты, опять же, может быть проведен как несколькими, так и одним компьютером — изображение показывает два ближайших ящика для каждого случая. MDA может доставлять сообщения прямо на хранение или передавать их по сети с помощью SMTP или любых других средств, в том числе протокола локальной пересылки почты (Local Mail Transfer Protocol — LMTP) — производного от SMTP, предназначенного для этой цели.

После доставки на локальный почтовый сервер сообщение хранится для пакетного поиска по аутентифицированным почтовым клиентам (MUA). Сообщение извлекается приложениями конечного пользователя (почтовыми клиентами) с использованием протокола IMAP (Internet Message Access Protocol), который облегчает доступ к сообщениям и управляет хранящейся почтой, или с помощью протокола POP (Post Office Protocol), который обычно использует традиционный mbox-формат файлов, или фирменными системами вроде Microsoft Exchange/Outlook или Lotus Notes/Domino. Клиенты сетевой почты могут использовать любой метод, но протокол поиска часто не соответствует официальным стандартам.

SMTP определяет передачу сообщения, а не его содержание. Таким образом, он задает оболочку сообщения и её параметры (такие, как отправитель оболочки), но не заголовок либо тело самого сообщения. STD 10 и RFC 5321 определяют SMTP (оболочку), в то время как STD 11 и RFC 5322 — сообщение (заголовок и тело), официально называемый форматом почтового сообщения (Internet Message Format).

-- Тебе все понятно? Мне нет.

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

То есть, если на сервере провайдера, например я изменю МХ запись и разверну ее в сторону своего сервера, а кто-то напишет мне письмо, каким образом постфикс ее получит?

Их сервер напишет по smtp на 25 порт (который слушает твой постфикс) без всякой аутенфикации. Твой постфикс имеет полное право проверить адрес отправителя и проверить, не запрещается ли отправка сообщений с конкретно этого ip-адреса через spf. Твой постфикс имеет право проверить отправителя по спам-спискам. Твой постфикс ОБЯЗАН проверить, что адрес получателя — твой локальный (за исключением отправленных от доверенных (sasl, например) пользователей: им можно позволить такое): если твой сервер позволит кому угодно переправлять через тебя почту на произвольный адрес — тебя как открытый релей очень быстро занесут в спам-списки. После всех проверок постфикс кидает всё это дальше по цепочке, в простейшем случае — procmail (емнип, постфикс не сам это делает) складывает в maildir нужного пользователя, если почта не виртуальная. pop3-сервер может ничерта не знать про постфикс, ему главное — найти почтовые ящики.

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

Уже что-то внятное, спасибо! Исходя из этого понимаю следующее:

Сервер провайдера отправляет мне письмо по 25 порту на мой сервер, в свою очередь я могу разрешить пользоваться своим сервером только определенным IP или сетям, описав все это в main.cf в разделе mynetworks, и соответственно пользоваться релеем могут так же те, кто входит в mynetworks и те кто смог авторизоваться через sasl это тоже понятно. С этим все ясно и так, как и то, что если я сделаю открытый релей то меня сазу забанят, это тоже прекрасно понятно. И понятно про EHLO и HELLO, мне не понятно КАК происходит понимание что адрес имя@мой_сервер принадлежит именно моему серверу и КАК постфикс отдает полученное письмо из вне какому-то другому сервису на сервере. То есть я понял что есть еще что-то. Это procmail котору и отдает postfix полученное из мира письмо. Пойду покурю про procmail.

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

Тебе все понятно?

Да.

Твой тандербёрд посылает твоё письмо по smtp на гуглопочтовый сервер. Гуглосервер пересылает письмо по smtp на другой гуглосервер. Так оно прыгает по гуглосерверам, пока всех не заебёт. Тогда крайний гуглосервер смотрит, какой сервер записан в mx-записи домена mail.ru и отправляет твоё письмо по smtp мэйлрусерверу.

Мэйлрусервер пересылает письмо по smtp другому мэйлрусерверу, и так далее, пока оно не попадёт на мэйлрусервер хранящий письма твоего адресата. Оттуда твой адресат забирает его своим тандербёрдом по pop3 или imap.

Нафига нужны все эти промежуточные серверы? Там например могут стоять всякие антиспамы и антивирусы, которые могут завернуть твоё письмо нах.

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

в свою очередь я могу разрешить пользоваться своим сервером только определенным IP или сетям

Если не хочешь принимать почту из внешнего мира — да. Я про SPF-проверку (по домену отправителя: у него в DNS может быть задана SPF-политика).

my_networks — это доверенные пользователи, которые могут отправить, не парясь с именем/паролем/прочим.

КАК происходит понимание что адрес имя@мой_сервер принадлежит именно моему серверу

mydestination = $myhostname, localhost.$mydomain, localhost, $mydomain

КАК постфикс отдает полученное письмо из вне какому-то другому сервису на сервере

man 5 master

man 8 local для локальной доставки в мейлдиры

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

Но насколько мне память не изменяет linux-way подразумевает посильную помощь ближнему?

Чо?

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

все просто ... очень просто у тебя есть домен my.com у домена есть DNS сервера, на них прописан параметр MX, он говорит кто является почтовым сервером для твоего домена, например там написано mail.my.com

Пример, я пишу тебе письмо и отправляю на ящик admin@my.com, мой mail сервак смотрит что домен my.com не его, а значит письмо надо слать кудато в инет, НО КУДА? На какой сервак? Для того чтобы узнать он спрашивает у DNS сервера MX запись для домена my.com, и получает в ответ mail.my.com. Ну и уже конектится на твой почтовый сервак mail.my.com по 25-му порту и отдает письмо. Твой сервак уже решает что с ним делать дальше - отправить кудато дальше (relay) или доставить локально в ящик (local delivery)

Ну както так ... если на пальцах.

black_13
()
10 декабря 2013 г.
Ответ на: комментарий от black_13

Да, уже понял, спасибо большое за ответ! Тут надысь поднимал DNS и наткнулся на камень что обратную зону надо у провайдера прописывать что бы заработали свои записи. :)

yakunin
() автор топика
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.