На сервере Linux установил postfix, но он никак не хочет принимать почту, пытался ставить sendmail - тоже самое. Получаю в ответ такое сообщение:
user@mydomain.ru
SMTP error from remote mailer after RCPT TO:<user@mydomain.ru>:
host mail.mydomain.ru [111.222.333.44]: 554 <user@mydomain.ru>:
Relay access denied
Помогите разобраться плз.
>На сервере Linux установил postfix, но он никак не хочет принимать почту,
>пытался ставить sendmail - тоже самое. Получаю в ответ такое сообщение:
>
>user@mydomain.ru
> SMTP error from remote mailer after RCPT TO:<user@mydomain.ru>:
> host mail.mydomain.ru [111.222.333.44]: 554 <user@mydomain.ru>:
> Relay access denied
>Помогите разобраться плз.установи правильно параметры
mydomain
mynetworks_style
mynetworksчтобы постфикс мог релеить почту для твоих локальных доменов. этого достаточно, если ты другие параметры после дефолтовой установки не насиловал. а дальше смотрим все параметры в main.cf.default, смотрим их описание и настраиваем систему окончательно и правильно.
mydomain mynetworks_style mynetworks устанавливал по всякому и всё равно не работает. У меня все п/я лежат на сервере рядом c postfix-ом и непонятно, какое отношение к проблеме имеют эти параметры, ведь пересылать-то письма никуда не надо, только разложить по ящикам.
Судя по всему, postfix хочет правильное имя домена. Похоже, он проверяет есть ли такой mydomain.ru, и не найдя валит все на спаммеров. В чем-то я его понимаю.
>mydomain mynetworks_style mynetworks устанавливал по всякому и всё равно не работает. У
>меня все п/я лежат на сервере рядом c postfix-ом и непонятно,
>какое отношение к проблеме имеют эти параметры, ведь пересылать-то письма никуда
>не надо, только разложить по ящикам.задаем свой домен и имя хоста почтового сервера:
mydomain = mydomain.ru - имя домена взял из твоего вопроса
myhost = ???.mydomain.ruразрешаем релей почты для адресов из сети сервера (хоста, класса - как надо):
mynetworks_style = subnet
или указываем эти адреса вручную:
mynetworks = IP.IP.IP.IP, IP.IP.IP.IP, ...
разрешаем принимать почту с основного и лупбак адреса сервера:
inet_interfaces = $myhostname, localhost
описываем для каких почтовых адресов наш сервер является конечной точкой доставки:
mydestination = $myhostname, $mydomain, localhost.localdomain
разрешаем релеить почту для этих адресов:
relay_domains = $mydestination
Спасибо за рекомендации, ситуация продвинулась.
После установки mydestination сервер стал принимать почту, но класть
её в п/я postfix. После разбирательства, выяснилось, что письма правильно
принимаются, если слать не на адрес user@mydomain.ru, а на user@host.mydomain.ru, причём изменение имени host-a в параметре myhostname на требуемый адрес впечатления не производит. Postfix
берёт системное имя. И где теперь искать?
>Спасибо за рекомендации, ситуация продвинулась.
>После установки mydestination сервер стал принимать почту, но класть
>её в п/я postfix. После разбирательства, выяснилось, что письма правильно
>принимаются, если слать не на адрес user@mydomain.ru, а на user@host.mydomain.ru, причём изменение
>имени host-a в параметре myhostname на требуемый адрес впечатления не производит.
>Postfix
>берёт системное имя. И где теперь искать?Мда-а-а...
[syslha@near syslha]$ dig -t MX +short rambler.ru
5 mx4.rambler.ru.
5 mx5.rambler.ru.
5 mx6.rambler.ru.
5 mx7.rambler.ru.
[syslha@near syslha]$
dig -t MX +short mydomain.ru ???
PS просмотр лог файлов и чтение документации сильно поможет тебе в решении вопроса
На это dig -t MX +short mydomain.ru
отвечает: 10 host.domain.ru
При получении письма заносит только в info,
postfix/local: to=<postfix@host.domain.ru>, orig_to=<user@domain.ru>,
relay=local, delay=0, status=sent, ("I/usr/bin/procmail -Y -a $DOMAIN")
Думаю, у меня DNS в порядке, для проверки ставил sendmail
и работает. Настраивал её через linuxconf, там прямо можно указать
для каких адресов почту принимать - host.domain.ru или domain.ru
В Postfix-e, насколько я понимаю, за это отвечает mydestination.
Можно, конечно, остановиться на sendmail-e, но все пишут, что это
раритет, а postfix - круто.
>На это dig -t MX +short mydomain.ru
>отвечает: 10 host.domain.ru
>При получении письма заносит только в info,
>postfix/local: to=<postfix@host.domain.ru>, orig_to=<user@domain.ru>,
>relay=local, delay=0, status=sent, ("I/usr/bin/procmail -Y -a $DOMAIN")
>Думаю, у меня DNS в порядке, для проверки ставил sendmail
>и работает. Настраивал её через linuxconf, там прямо можно указать
>для каких адресов почту принимать - host.domain.ru или domain.ru
>В Postfix-e, насколько я понимаю, за это отвечает mydestination.
>Можно, конечно, остановиться на sendmail-e, но все пишут, что это
>раритет, а postfix - круто.так пойми сперва как работают MTA, они ищут почтовые релеи по RR=MX и
через них пересылают, и что тебе нужно для этого указать в настройках
postfix, а не настраивать через лабуду под названием linuxconf:http://www.redhat.com/support/resources/howto/RH-postfix-HOW...
http://www.postfix.org/faq.html
http://www.postfix.org/basic.html
http://www.postfix.org/basic.html#mydestination
>На это dig -t MX +short mydomain.ru
>отвечает: 10 host.domain.ru
>При получении письма заносит только в info,поправь /etc/syslog.conf (или что там у тебя стоит?) если не устраивает
>postfix/local: to=<postfix@host.domain.ru>, orig_to=<user@domain.ru>,
>relay=local, delay=0, status=sent, ("I/usr/bin/procmail -Y -a $DOMAIN")ну и что? локальный агент доставки постфикса честно передал письмо прокмайлу. разбирайся дальше.
>Думаю, у меня DNS в порядке, для проверки ставил sendmail
>и работает.похоже на то.
>Настраивал её через linuxconf, там прямо можно указать
>для каких адресов почту принимать - host.domain.ru или domain.ruсм. сообщение от Lavr
>В Postfix-e, насколько я понимаю, за это отвечает mydestination.
не надо гадать - надо доки читать.
>Можно, конечно, остановиться на sendmail-e, но все пишут, что это
>раритет, а postfix - круто.на заборе тоже пишут. с кривыми руками ничего не поможет.
>
>>В Postfix-e, насколько я понимаю, за это отвечает mydestination.
>
>не надо гадать - надо доки читать.
>
А я и не гадаю, доки читаю:
"The mydestination parameter specifies what domains this machine will deliver locally, instead of forwarding to another machine."
и пишу:
mydestination = $myhostname localhost.$mydomain $mydomain
а получается как mydestination = $myhostname
>А я и не гадаю, доки читаю:
>"The mydestination parameter specifies what domains this machine will deliver locally, instead
>of forwarding to another machine."
>и пишу:
>mydestination = $myhostname localhost.$mydomain $mydomain
>а получается как mydestination = $myhostnameА в конфиге параметр $myhostname задан?
Прошу прощения, параметр mydomain, конечно...
>А в конфиге параметр $myhostname задан?В мане написано, что по умолчанию берётся системное имя, а mydomain вынимается из него,
однако myhostname и mydomain указывал и руками и по умолчанию и всё равно почту принимает только
на user@host.domain.ru - т.е. mydestination=$myhostname.
Проверял так же и системное имя: hostname даёт правильное имя.
Что в myorigin? mynetworks? relay_domains? В конфиге определено mydestination?
У меня задано mydomain (оно еще влияет на сообщения postmaster'у) и дополнительно в mydestination таблице (mydomain.ru OK) - и работает.Сеть, конечно, сама по себе уже должна быть настроена :-)
>>А в конфиге параметр $myhostname задан?
>
>В мане написано, что по умолчанию берётся системное имя, а mydomain вынимается
>из него,
>однако myhostname и mydomain указывал и руками и по умолчанию и всё
>равно почту принимает только
>на user@host.domain.ru - т.е. mydestination=$myhostname.
>Проверял так же и системное имя: hostname даёт правильное имя.ведь недаром говорят, чем точнее задашь вопрос, тем быстрее получишь
ответ, ну чего проще написать реальные данные:hostname==name.domain.ru==ip
domain=domain.ru
MX=name.domain.ru
net=ip/maskделаю так:
----------кусок конфига
получаю:
--------
кусок логахочу:
-----
то-то и то-тов чем неправ?
с первого или второго постинга уже получил бы точный ответ
>>А в конфиге параметр $myhostname задан?
>
>В мане написано, что по умолчанию берётся системное имя, а mydomain вынимается
>из него,
>однако myhostname и mydomain указывал и руками и по умолчанию и всё
>равно почту принимает только
>на user@host.domain.ru - т.е. mydestination=$myhostname.
>Проверял так же и системное имя: hostname даёт правильное имя.
мож все-таки procmail настроишь? - постфих ему все честно отдает. тебе же русским языком выше написал - разбирайся дальше!
>и пишу:
>mydestination = $myhostname localhost.$mydomain $mydomain
>а получается как mydestination = $myhostnameНу все так правильно. Postfix своими локальными доменами считает и host.mydomain.ru, и localhost.mydomain.ru, и mydomain.ru.
>>
>>>В Postfix-e, насколько я понимаю, за это отвечает mydestination.
>>
>>не надо гадать - надо доки читать.
>>
>А я и не гадаю, доки читаю:
>"The mydestination parameter specifies what domains this machine will deliver locally, instead
>of forwarding to another machine."так читай внимательней: все что приходит на адреса, указанные в mydestination, будет обрабатываться на твоем smtp-сервере локально, а не передаваться какому-то другому smtp-серверу для доставки к месту назначения.
вот и смотри:
postfix/local: to=<postfix@host.domain.ru>, orig_to=<user@domain.ru>,
relay=local, delay=0, status=sent, ("I/usr/bin/procmail -Y -a $DOMAIN")- письмо послано на доменный адрес: orig_to=<user@domain.ru>
- реально оно доставляется на адрес: to=<postfix@host.domain.ru>
- обрабатывается локально (другому почтовому серверу не пересылается): relay=local
- письмо успешно доставлено: status=sent
-видно, что в твоих настройках сказано не класть его в почтовый ящик напрямую, а отдавать прокмэйлу: ("I/usr/bin/procmail -Y -a $DOMAIN")вот и все - postfix свое дело честно сделал. а куда procmail письмо дел и почему - это другой вопрос.
>и пишу:
>mydestination = $myhostname localhost.$mydomain $mydomain
>а получается как mydestination = $myhostnameесли бы так получалось, то письмо на orig_to=<user@domain.ru> обрабатывалсь бы совсем по другому. была бы попытка найти RR=MX для domain.ru и переслать письмо на полученный адрес. а если у тебя еще и в качестве MX для домена был указан твой сервер, то почта начала бы по кругу ходить - он бы ее сам себе постоянно пересылал->получал->пересылал->.... на самом деле postfix конечно такие "петли" отлавливает - ты бы получил сообщение об ошибке и отказ от пересылки почты на такой адрес. вот так. как говорится - "почувствуйте разницу"
Ура задышало, заменил /usr/bin/procmail -Y -a $DOMAIN на
/usr/bin/procmail -Y -a $mydomain. Хотя с procmail-ом разобраться так и не успел.
привет, очень нужна помощь...у меня похожие проблемы с relay, пишет что relay access deny и все....скинь свой конфиг, я уже запутался....
Задача моя проста ...postfix должен рэлееть всю почту "извне" на exchange и обратно.....обратно работает а вот входящяя нет!
помоги , меня уже клинит...
sergey_nik@mail.ru
main.cf:
...
mydomain = <mydomain.ru>
...
transport_maps = hash:/etc/postfix/transport
...
mydestination = localhost, $myhostname, localhost.$mydomain, $config_directory/mydestination, $config_directory/virtual
...transport:
<mydomain.ru> smtp:[ip_of_exchange]mydestination:
<mydomain.ru> OKВ таком виде вся почта на <mydomain.ru> принимается (mydestination) и перенаправляется на <ip_of_exchange>
спасибо, разобрался....все работает...