Сендмаил не отправляет почту

На доскональное знание данной темы, не может претендовать, пожалуй ни один спец, из ныне живущих на земле. ;-)
Так поможем друг другу.

Модераторы: Trinity admin`s, Free-lance moderator`s

Аватара пользователя
gorlum
Advanced member
Сообщения: 137
Зарегистрирован: 18 июн 2004, 11:43
Откуда: Ангарск
Контактная информация:

Сообщение gorlum » 05 апр 2005, 05:52

отправляю письмо с адресса user@domain.ru на адресс user@domain.com
Sendmail со стороны адресса получателя (domain.com) пишет такое:

Код: Выделить всё

Apr  5 10:32:04 router sm-mta[77614]: NOQUEUE: connect from domain.ru [xxx.xxx.xxx.xxx] (may be forged)
Apr  5 10:32:04 router sm-mta[77614]: j351W4Wf077614: Milter: no active filter
Apr  5 10:32:04 router sm-mta[77614]: j351W4Wf077614: from=<user@domain.ru>, size=1691, class=0, nrcpts=1, msgid=<1643047700.20050405102716@domain.ru>, proto=ESMTP, daemon=MTA, relay=domain.ru [xxx.xxx.xxx.xxx] (may be forged)
Apr  5 10:32:05 router sm-mta[77616]: j351W4Wf077614: SYSERR(root): MX list for momain.com. points back to router.domain.com
Apr  5 10:32:05 router sm-mta[77616]: j351W4Wf077614: to=<user@domain.com>, delay=00:00:01, xdelay=00:00:01, mailer=esmtp, pri=31691, relay=domain.com., dsn=5.3.5, stat=Local configuration error
и отслает от постмастера в обе стороны сообщение с приатаченным первым письмом
Подскажите в чем проблема плз
FreeBsd-5.3
Sendmail-8.13.3

Аватара пользователя
corvax
free-lance moderator
Сообщения: 877
Зарегистрирован: 06 авг 2004, 17:21
Откуда: Kiev, Ukraine
Контактная информация:

Сообщение corvax » 05 апр 2005, 10:03

gorlum писал(а):отправляю письмо с адресса user@domain.ru на адресс user@domain.com
Sendmail со стороны адресса получателя (domain.com) пишет такое:

Код: Выделить всё

Apr  5 10:32:04 router sm-mta[77614]: NOQUEUE: connect from domain.ru [xxx.xxx.xxx.xxx] (may be forged)
Apr  5 10:32:04 router sm-mta[77614]: j351W4Wf077614: Milter: no active filter
Apr  5 10:32:04 router sm-mta[77614]: j351W4Wf077614: from=<user@domain.ru>, size=1691, class=0, nrcpts=1, msgid=<1643047700.20050405102716@domain.ru>, proto=ESMTP, daemon=MTA, relay=domain.ru [xxx.xxx.xxx.xxx] (may be forged)
Apr  5 10:32:05 router sm-mta[77616]: j351W4Wf077614: SYSERR(root): MX list for momain.com. points back to router.domain.com
Apr  5 10:32:05 router sm-mta[77616]: j351W4Wf077614: to=<user@domain.com>, delay=00:00:01, xdelay=00:00:01, mailer=esmtp, pri=31691, relay=domain.com., dsn=5.3.5, stat=Local configuration error
и отслает от постмастера в обе стороны сообщение с приатаченным первым письмом
прошу показать на принимающей стороне:

Код: Выделить всё

host -t mx domain.com
echo '$=w' | sendmail -bt
возможно (но не обязательно) еще надо будет показать

Код: Выделить всё

hostname
ifconfig | grep inet
cat /etc/hosts
gorlum писал(а):Подскажите в чем проблема плз
FreeBsd-5.3
Sendmail-8.13.3
скорее всего на router.domain.com, являющимся best MX'ом домена domain.com, домен domain.com не указан как локальный в настройках sendmail
--
/corvax

Аватара пользователя
gorlum
Advanced member
Сообщения: 137
Зарегистрирован: 18 июн 2004, 11:43
Откуда: Ангарск
Контактная информация:

Сообщение gorlum » 05 апр 2005, 10:24

corvax писал(а): прошу показать на принимающей стороне:

Код: Выделить всё

host -t mx domain.com
echo '$=w' | sendmail -bt

Код: Выделить всё

router# host -t mx domain.com
domain.com mail is handled by 10 mail.domain.com.
corvax писал(а):возможно (но не обязательно) еще надо будет показать

Код: Выделить всё

hostname
ifconfig | grep inet
cat /etc/hosts

Код: Выделить всё

router# hostname
router.domain.com
router# ifconfig | grep inet
        inet 192.168.1.150 netmask 0xffffff00 broadcast 192.168.1.255
        inet6 fe80::2e0:4cff:fe39:3125%rl0 prefixlen 64 scopeid 0x1
        inet xxx.xxx.xxx.xxx netmask 0xfffffff8 broadcast xxx.xxx.xxx.xxx
        inet6 fe80::2a0:24ff:fe6e:d3bb%ep0 prefixlen 64 scopeid 0x3
        inet 127.0.0.1 netmask 0xff000000
        inet6 ::1 prefixlen 128
        inet6 fe80::1%lo0 prefixlen 64 scopeid 0x4
router# cat /etc/hosts
::1                     localhost.domain.com localhost
127.0.0.1               localhost.domain.com localhost
192.168.1.150           router.domain.com router
195.206.46.196          domain.com mail.domain.com
corvax писал(а):скорее всего на router.domain.com, являющимся best MX'ом домена domain.com, домен domain.com не указан как локальный в настройках sendmail
сорри, а где это указывается в настройках сендмыла

Аватара пользователя
corvax
free-lance moderator
Сообщения: 877
Зарегистрирован: 06 авг 2004, 17:21
Откуда: Kiev, Ukraine
Контактная информация:

Сообщение corvax » 05 апр 2005, 10:52

gorlum писал(а):
corvax писал(а): прошу показать на принимающей стороне:

Код: Выделить всё

host -t mx domain.com
echo '$=w' | sendmail -bt

Код: Выделить всё

router# host -t mx domain.com
domain.com mail is handled by 10 mail.domain.com.
а кто будет показывать

Код: Выделить всё

echo '$=w' | sendmail -bt
?

кстати, теперь неплохо было бы взглянуть на

Код: Выделить всё

host mail.domain.com
gorlum писал(а):
corvax писал(а):возможно (но не обязательно) еще надо будет показать

Код: Выделить всё

hostname
ifconfig | grep inet
cat /etc/hosts

Код: Выделить всё

router# hostname
router.domain.com
router# ifconfig | grep inet
        inet 192.168.1.150 netmask 0xffffff00 broadcast 192.168.1.255
        inet6 fe80::2e0:4cff:fe39:3125%rl0 prefixlen 64 scopeid 0x1
        inet xxx.xxx.xxx.xxx netmask 0xfffffff8 broadcast xxx.xxx.xxx.xxx
        inet6 fe80::2a0:24ff:fe6e:d3bb%ep0 prefixlen 64 scopeid 0x3
        inet 127.0.0.1 netmask 0xff000000
        inet6 ::1 prefixlen 128
        inet6 fe80::1%lo0 prefixlen 64 scopeid 0x4
router# cat /etc/hosts
::1                     localhost.domain.com localhost
127.0.0.1               localhost.domain.com localhost
192.168.1.150           router.domain.com router
195.206.46.196          domain.com mail.domain.com
corvax писал(а):скорее всего на router.domain.com, являющимся best MX'ом домена domain.com, домен domain.com не указан как локальный в настройках sendmail
сорри, а где это указывается в настройках сендмыла
это шутка?
/etc/mail/local-host-names
вообще этот sendmail настроен хоть как-то?
он хоть для какого-то домена может почту принять и доставить в локальный ящик получателя?
--
/corvax

Аватара пользователя
gorlum
Advanced member
Сообщения: 137
Зарегистрирован: 18 июн 2004, 11:43
Откуда: Ангарск
Контактная информация:

Сообщение gorlum » 05 апр 2005, 11:15

corvax писал(а):а кто будет показывать

Код: Выделить всё

echo '$=w' | sendmail -bt
?

кстати, теперь неплохо было бы взглянуть на

Код: Выделить всё

host mail.domain.com

Код: Выделить всё

router# echo '$=w' | sendmail -bt
ADDRESS TEST MODE (ruleset 3 NOT automatically invoked)
Enter <ruleset> <address>
> [IPv6:::1]
[IPv6:fe80::1]
localhost.domain.com
router.domain.com
router
[192.168.1.150]
[domain.com]
localhost
[IPv6:fe80::2a0:24ff:fe6e:d3bb]
[localhost.domain.com]
[127.0.0.1]
mail.domain.com
[mail.domain.com]
[xxx.xxx.xxx.xxx]
domain.com
[IPv6:fe80::2e0:4cff:fe39:3125]

router# host mail.domain.com
mail.domain.com has address xxx.xxx.xxx.xxx
corvax писал(а): это шутка?
/etc/mail/local-host-names
вообще этот sendmail настроен хоть как-то?
он хоть для какого-то домена может почту принять и доставить в локальный ящик получателя?
Конфигурация данного сендмыла используется на 5-ти почтовых серверах ни на одном из них нет файла local-host-names, однако почту для своих доменов принимают исправно.
sendmail.mc

Код: Выделить всё

OSTYPE(freebsd5)
DOMAIN(generic)

dnl#define(`confMAX_HEADERS_LENGTH', `32768')dnl
define(`confPRIVACY_FLAGS',`authwarnings,goaway')dnl

define(`confCW_FILE', `-o /etc/mail/sendmail.cw')
define(`ALIAS_FILE', `/etc/mail/aliases')
define(`QUEUE_DIR', `/var/spool/mqueue_root')
define(`MSP_QUEUE_DIR', `/var/spool/mqueue')
dnl#define(`LOCAL_MAILER_CHARSET', `windows-1251')

define(`confEIGHT_BIT_HANDLING',`pass8')
define(`confLOG_LEVEL',`14')
define(`confNO_RCPT_ACTION',`add-to-undisclosed')
dnl#define(`confCOPY_ERRORS_TO', `postmaster')
dnl#define(`confUSE_ERRORS_TO', `postmaster')
dnl#define(`confALIAS_WAIT',`10')
dnl#define(`confDEF_CHAR_SET',`windows-1251')

dnl#FEATURE(`virtusertable', `hash -o /etc/mail/virtusertable.db')
FEATURE(`access_db',`hash -o -T<TMPF> /etc/mail/access')
FEATURE(`blacklist_recipients')
FEATURE(`local_lmtp')
FEATURE(`nouucp', `reject')
dnl#FEATURE(`relay_hosts_only')
dnl#FEATURE(`relay_based_on_MX')

dnl# spam bases
FEATURE(`dnsbl',`relays.ordb.org',`Rejected - see http://ordb.org/')dnl
FEATURE(`dnsbl',`bl.spamcop.net',`Spam bloked - see http://spamcop.net/bl.shtml?$&{client_addr}')dnl
FEATURE(`dnsbl',`ex.dnsbl.org',`Spam bloked - see http://www.dnsbl.org/')dnl

MAILER(local)dnl
MAILER(smtp)dnl

Аватара пользователя
corvax
free-lance moderator
Сообщения: 877
Зарегистрирован: 06 авг 2004, 17:21
Откуда: Kiev, Ukraine
Контактная информация:

Сообщение corvax » 05 апр 2005, 11:32

gorlum писал(а):
corvax писал(а):а кто будет показывать

Код: Выделить всё

echo '$=w' | sendmail -bt
?

кстати, теперь неплохо было бы взглянуть на

Код: Выделить всё

host mail.domain.com

Код: Выделить всё

router# echo '$=w' | sendmail -bt
ADDRESS TEST MODE (ruleset 3 NOT automatically invoked)
Enter <ruleset> <address>
> [IPv6:::1]
[IPv6:fe80::1]
localhost.domain.com
router.domain.com
router
[192.168.1.150]
[domain.com]
localhost
[IPv6:fe80::2a0:24ff:fe6e:d3bb]
[localhost.domain.com]
[127.0.0.1]
mail.domain.com
[mail.domain.com]
[xxx.xxx.xxx.xxx]
domain.com
вот этой строки вполне хватает
gorlum писал(а):

Код: Выделить всё

[IPv6:fe80::2e0:4cff:fe39:3125]

router# host mail.domain.com
mail.domain.com has address xxx.xxx.xxx.xxx
corvax писал(а): это шутка?
/etc/mail/local-host-names
вообще этот sendmail настроен хоть как-то?
он хоть для какого-то домена может почту принять и доставить в локальный ящик получателя?
Конфигурация данного сендмыла используется на 5-ти почтовых серверах
хоть на сорока
gorlum писал(а):ни на одном из них нет файла local-host-names, однако почту для своих доменов принимают исправно.
я так понимаю, что даже грепнуть ридми по слову local-host-names религия не позволяет? для того, чтобы понять, что имя файла sendmail.cw уже давно по дефолту заменено на local-host-names, если в sendmail.mc ручками не указано старое значение sendmail.cw.
мало того, это никак не обосновывает незнания, где нужно прописать локальные домены.

в общем, читайте доку, она рулез

теперь по существу вопроса:
что возвращает

Код: Выделить всё

echo '3,0 user@domain.com' | sendmail -bt
?
--
/corvax

Аватара пользователя
gorlum
Advanced member
Сообщения: 137
Зарегистрирован: 18 июн 2004, 11:43
Откуда: Ангарск
Контактная информация:

Сообщение gorlum » 05 апр 2005, 11:43

corvax писал(а): теперь по существу вопроса:
что возвращает

Код: Выделить всё

echo '3,0 user@domain.com' | sendmail -bt
?

Код: Выделить всё

router# echo '3,0 ian@baikal-telecom.com' | sendmail -bt
ADDRESS TEST MODE (ruleset 3 NOT automatically invoked)
Enter <ruleset> <address>
> canonify           input: user @ domain . com
Canonify2          input: user < @ domain . com >
Canonify2        returns: user < @ domain . com . >
canonify         returns: user < @ domain . com . >
parse              input: user < @ domain . com . >
Parse0             input: user < @ domain . com . >
Parse0           returns: user < @ domain . com . >
ParseLocal         input: user < @ domain . com . >
ParseLocal       returns: user < @ domain . com . >
Parse1             input: user < @ domain . com . >
Parse1           returns: $# local $: user
parse            returns: $# local $: user

Код: Выделить всё

router# cat /etc/mail/sendmail.cw
domain.com

Аватара пользователя
corvax
free-lance moderator
Сообщения: 877
Зарегистрирован: 06 авг 2004, 17:21
Откуда: Kiev, Ukraine
Контактная информация:

Сообщение corvax » 05 апр 2005, 11:57

gorlum писал(а):
corvax писал(а): теперь по существу вопроса:
что возвращает

Код: Выделить всё

echo '3,0 user@domain.com' | sendmail -bt
?

Код: Выделить всё

router# echo '3,0 ian@baikal-telecom.com' | sendmail -bt
ADDRESS TEST MODE (ruleset 3 NOT automatically invoked)
Enter <ruleset> <address>
> canonify           input: user @ domain . com
Canonify2          input: user < @ domain . com >
Canonify2        returns: user < @ domain . com . >
canonify         returns: user < @ domain . com . >
parse              input: user < @ domain . com . >
Parse0             input: user < @ domain . com . >
Parse0           returns: user < @ domain . com . >
ParseLocal         input: user < @ domain . com . >
ParseLocal       returns: user < @ domain . com . >
Parse1             input: user < @ domain . com . >
Parse1           returns: $# local $: user
parse            returns: $# local $: user

Код: Выделить всё

router# cat /etc/mail/sendmail.cw
domain.com
тут все в порядке

я только что пощупал этот хост. такое впечатление, что запущенный sendmail считает router.domain.com входящим в $w, а domain.com - не входящим (я получил 550 5.7.1 <ian@domain.com>... Relaying denied)

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

btw - а из вывода ifconfig'а специально был вынесен IP адрес внешнего интерфейса?
--
/corvax

Аватара пользователя
gorlum
Advanced member
Сообщения: 137
Зарегистрирован: 18 июн 2004, 11:43
Откуда: Ангарск
Контактная информация:

Сообщение gorlum » 05 апр 2005, 12:01

corvax писал(а):btw - а из вывода ifconfig'а специально был вынесен IP адрес внешнего интерфейса?
ну в какой-то степени да :). А что еще надо было убрать?
ладно будем ждать время когда моно будет перегрузится, там посмотрим

Аватара пользователя
corvax
free-lance moderator
Сообщения: 877
Зарегистрирован: 06 авг 2004, 17:21
Откуда: Kiev, Ukraine
Контактная информация:

Сообщение corvax » 05 апр 2005, 12:12

gorlum писал(а):
corvax писал(а):btw - а из вывода ifconfig'а специально был вынесен IP адрес внешнего интерфейса?
ну в какой-то степени да :). А что еще надо было убрать?
ничего не надо было убирать, ибо это иногда мешает понимаю того, кто там что намутил
gorlum писал(а):ладно будем ждать время когда моно будет перегрузится, там посмотрим
дык, перегрузить надо только демона sendmail'а
все разгребатели очереди и текущие сессии останутся живы и здоровы
--
/corvax

Аватара пользователя
gorlum
Advanced member
Сообщения: 137
Зарегистрирован: 18 июн 2004, 11:43
Откуда: Ангарск
Контактная информация:

Сообщение gorlum » 05 апр 2005, 12:23

перегрузил, ничего не изменилось
кстати дайте волшебного пенделя в сторону local-host-names?
чот я найти не могу

Аватара пользователя
corvax
free-lance moderator
Сообщения: 877
Зарегистрирован: 06 авг 2004, 17:21
Откуда: Kiev, Ukraine
Контактная информация:

Сообщение corvax » 05 апр 2005, 12:42

gorlum писал(а):перегрузил, ничего не изменилось
посмотрел я сырцы - такая ошибка бывает как раз тогда, когда данный хост является best MX, но sendmail не знает, что дальше делать с почтой этой. т. е. таки не видит он ее в классе $w

btw - после перегрузки демона у него хоть pid поменялся? а то может он и не перегрузился вовсе?
gorlum писал(а):кстати дайте волшебного пенделя в сторону local-host-names?
чот я найти не могу
выдержки из cf/README:

Код: Выделить всё

FILE LOCATIONS
...
Below is a table of some of the common changes:

Old filename                    New filename
------------                    ------------
...
/etc/sendmail.cw                /etc/mail/local-host-names
/etc/mail/sendmail.cw           /etc/mail/local-host-names
/etc/sendmail/sendmail.cw       /etc/mail/local-host-names

Код: Выделить всё

FEATURES

Special features can be requested using the "FEATURE" macro.  For
example, the .mc line:

        FEATURE(`use_cw_file')

tells sendmail that you want to have it read an /etc/mail/local-host-names
file to get values for class {w}.
...
Available features are:

use_cw_file     Read the file /etc/mail/local-host-names file to get
                alternate names for this host.  This might be used if you
                were on a host that MXed for a dynamic set of other hosts.
                If the set is static, just including the line "Cw<name1>
                <name2> ..." (where the names are fully qualified domain
                names) is probably superior.  The actual filename can be
                overridden by redefining confCW_FILE.
ну и т. д. по тексту... отгрепать README можно и самому

правда, это из доки от 8.12.11, то в 8.13 ничего идеологически особо поменяться не должно было
--
/corvax

Аватара пользователя
gorlum
Advanced member
Сообщения: 137
Зарегистрирован: 18 июн 2004, 11:43
Откуда: Ангарск
Контактная информация:

Сообщение gorlum » 05 апр 2005, 12:50

corvax писал(а):btw - после перегрузки демона у него хоть pid поменялся? а то может он и не перегрузился вовсе?
Я хоть и чайник ну не до такой же степени :)
поменялся.

Аватара пользователя
gorlum
Advanced member
Сообщения: 137
Зарегистрирован: 18 июн 2004, 11:43
Откуда: Ангарск
Контактная информация:

Сообщение gorlum » 05 апр 2005, 13:15

добавил фаил local-host-names
перегрузился и все заработало, хотя в конфиге указано использовать .cw фаил  :?:

Аватара пользователя
corvax
free-lance moderator
Сообщения: 877
Зарегистрирован: 06 авг 2004, 17:21
Откуда: Kiev, Ukraine
Контактная информация:

Сообщение corvax » 05 апр 2005, 13:27

gorlum писал(а):добавил фаил local-host-names
перегрузился и все заработало, хотя в конфиге указано использовать .cw фаил  :?:
при переходе на 8.13 с 8.12 лучше было взять дефолтовый sendmail.mc и добавить туда нужное и убрать ненужное вместо того, чтобы тащить за собой старый sendmail.mc
--
/corvax

Ответить

Вернуться в «Серверы - ПО, Unix подобные системы»

Кто сейчас на конференции

Сейчас этот форум просматривают: нет зарегистрированных пользователей и 18 гостей