ОЧЕНЬ НУЖНА ПОМОЩЬ!!!!!Подскажите в чем я ошибся.
Есть почтовый сервер: система FreeBSD 6.1 на нем установлена связка: Sendmail 8.14, Cyrus-imapd-2.3.8_1, Cyrus-sasl-2.1.22, Clamav-0.90.2_1, Spamass-milter-0.3.1_3.Часть пользоветелей которые находяться в удаленных филиалах подключается по dial-up и авторизируется на сервере, после чего успешно закачивает почту и отправляет ее на почтовые ящики коллег на этом-же сервере (в этом же домене), но при попытке их отправить почту на user@mail.ru (или другие домены) они получают сообщение "Ошибка отправления почты. Почтовый сервер ответил 5.7.1 <user@mail.ru>... Relaing denied. Убедитесь что указанній вами в настройках адресс електронной почті вереи и попробуйте снова".
При этом из центрального офиса можно без проблем отправить почту на адресс ser@mail.ru и другие внешние домены.
10.111.0 и 10.111.1 - локальные подсети.
Ниже приведен конфиг:
########################sendmail.mc##################################
divert(-1)
dnl ---------------------------------------------------------------------------
dnl Sendmail & ClamAV & Clammilter & CyrusIMAP & Cyrus SASL & Spamassasin & Spammilter
dnl ---------------------------------------------------------------------------divert(0)
VERSIONID(`$FreeBSD: src/etc/sendmail/freebsd.mc,v 1.30.2.2 2006/08/23 03:31:00 gshapiro Exp $')
OSTYPE(freebsd6)
DOMAIN(generic)FEATURE(access_db, `hash -o -T<TMPF> /etc/mail/access')dnl
FEATURE(blacklist_recipients)dnl
FEATURE(local_lmtp)dnl
FEATURE(mailertable, `hash -o /etc/mail/mailertable')dnldnl ---------------------------------------------------------------------------
dnl Подключение ClamAV
dnl ---------------------------------------------------------------------------dnl INPUT_MAIL_FILTER(`clmilter',`S=local:/var/clamav/clmilter.sock, F=T, T=C:1m;S:5m;R:5m;E:1h')
INPUT_MAIL_FILTER(`clmilter',`S=local:/var/run/clamav/clmilter.sock, F=, T=S:4m;R:4m')dnl
define(`confINPUT_MAIL_FILTERS', `clmilter')dnldnl ---------------------------------------------------------------------------
dnl Подключиние SpamAssassin
dnl ---------------------------------------------------------------------------INPUT_MAIL_FILTER(`spamassassin', `S=local:/var/run/spamass-milter.sock, F=, T=C:15m;S:4m;R:4m;E:10m')dnl
define(`confMILTER_MACROS_CONNECT',`b, j, _, {daemon_name}, {if_name}, {if_addr}')dnldefine(`confCW_FILE', `-o /etc/mail/local-host-names')
define(`confBIND_OPTS', `WorkAroundBrokenAAAA')
define(`confNO_RCPT_ACTION', `add-to-undisclosed')
define(`confPRIVACY_FLAGS', `authwarnings,noexpn,novrfy')dnl ---------------------------------------------------------------------------
dnl Подключиние CyrusIMAP
dnl ---------------------------------------------------------------------------define(`confLOCAL_MAILER', `cyrusv2')dnl
define(`CYRUS_LMTP_SOCKET',`/var/imap/socket/lmtp')dnldnl ---------------------------------------------------------------------------
MAILER(local)
MAILER(smtp)
MAILER(`cyrusv2')dnl############################# access ################################
localhost.domen.ru RELAY
localhost RELAY
127.0.0.1 RELAY
domen.ru RELAY
domen.ru RELAY
10.111.1 RELAY
10.111.0 RELAY######################## relay-domains ########################################
domen.ru####################### mailertable #########################################
.domen.ru smtp:relay.domen.ru
###################### local-host-names #########################################
domen.ru
ns.domen.ru
ЗАРАНЕЕ ОЧЕНЬ БЛАГОДАРЕН ЗА ПОМОЩЬ!!!!
>ОЧЕНЬ НУЖНА ПОМОЩЬ!!!!!
>
>Подскажите в чем я ошибся.
>Есть почтовый сервер: система FreeBSD 6.1 на нем установлена связка: Sendmail 8.14,
>Cyrus-imapd-2.3.8_1, Cyrus-sasl-2.1.22, Clamav-0.90.2_1, Spamass-milter-0.3.1_3.
>
>Часть пользоветелей которые находяться в удаленных филиалах подключается по dial-up и авторизируется на сервере, после чего успешно закачивает почту и отправляет ее на почтовые ящики коллег на этом-же сервере (в этом же домене), но при попытке их отправить почту на user@mail.ru (или другие домены) они получают сообщение "Ошибка отправления почты. Почтовый сервер ответил 5.7.1 <user@mail.ru>... Relaing denied. Убедитесь что указанній вами в настройках адресс електронной почті вереи и попробуйте снова".
>
>При этом из центрального офиса можно без проблем отправить почту на адресс
>ser@mail.ru и другие внешние домены.
>
>10.111.0 и 10.111.1 - локальные подсети.Какие IP адреса у пользователей dial-up?
Включите эти адреса в access
Dial-UP_IP RELAYили делайте SMTP-AUTH .
SMTP-AUTH не прописан в вашем конфиге.
>>ОЧЕНЬ НУЖНА ПОМОЩЬ!!!!!
>
>Какие IP адреса у пользователей dial-up?
>Включите эти адреса в access
>Dial-UP_IP RELAYИ хорошо бы их в DNS или hosts прописать, возможно проблема в резолвинге.
>Какие IP адреса у пользователей dial-up?
>Включите эти адреса в access
>Dial-UP_IP RELAY
>
>или делайте SMTP-AUTH .
>SMTP-AUTH не прописан в вашем конфиге.
Прописать IP адресса клиентов я не могу т.к. они соединяются через местных провайдеров - соответственно получают разные IP.Где лучше почитать про SMTP-AUTH?!
>>Какие IP адреса у пользователей dial-up?
>>Включите эти адреса в access
>>Dial-UP_IP RELAY
>>
>>или делайте SMTP-AUTH .
>>SMTP-AUTH не прописан в вашем конфиге.
>
>
>Прописать IP адресса клиентов я не могу т.к. они соединяются через местных
>провайдеров - соответственно получают разные IP.
>
>Где лучше почитать про SMTP-AUTH?!http://www.sendmail.org/~ca/email/misc.html
http://www.sendmail.org/~ca/email/auth.html#AUTH
>http://www.sendmail.org/~ca/email/misc.html
>http://www.sendmail.org/~ca/email/auth.html#AUTHчто-то я запутался...
внес в sendmail.mc строки:
dnl ---------------------------------------------------------------------------
dnl Аутентификация пользователей
dnl ---------------------------------------------------------------------------define(`confAUTH_OPTIONS', `A p y')dnl
TRUST_AUTH_MECH(`LOGIN PLAIN DIGEST-MD5 CRAM-MD5')dnl
define(`confAUTH_MECHANISMS', `LOGIN PLAIN DIGEST-MD5 CRAM-MD5')dnldnl ---------------------------------------------------------------------------
пересобрал sendmail.cf ... и ничего не изменилось:
при попытке отправить письмо на user@mail.ru:у клиента:
The message could not be sent because one of the recipients was rejected by the server. The rejected e-mail address was 'user@mail.ru'. Subject 'test', Account: 'ns.domen.ru', Server: 'ns.domen.ru', Protocol: SMTP, Server Response: '550 5.7.1 <user@mail.ru>... Relaying denied. Proper authentication required.', Port: 25, Secure(SSL): No, Server Error: 550, Error Number: 0x800CCC79на сервере:
Apr 25 13:28:08 ns sm-mta[83682]: l3PARR2o083682: ruleset=check_rcpt, arg1=<user@mail.ru>, relay=swift-basher.volia.net [XXX.XXX.XXX.XXX], reject=550 5.7.1 <user@mail.ru>... Relaying denied. Proper authentication required.
Apr 25 13:28:08 ns sm-mta[83682]: l3PARR2o083682: from=<user@domen.ru>, size=0, class=0, nrcpts=0, proto=ESMTP, daemon=IPv4, relay=swift-basher.volia.net [XXX.XXX.XXX.XXX]
>>http://www.sendmail.org/~ca/email/misc.html
>>http://www.sendmail.org/~ca/email/auth.html#AUTH
>
>что-то я запутался...
>
>внес в sendmail.mc строки:
>dnl ---------------------------------------------------------------------------
>dnl Аутентификация пользователей
>dnl ---------------------------------------------------------------------------
>
>define(`confAUTH_OPTIONS', `A p y')dnl
>TRUST_AUTH_MECH(`LOGIN PLAIN DIGEST-MD5 CRAM-MD5')dnl
>define(`confAUTH_MECHANISMS', `LOGIN PLAIN DIGEST-MD5 CRAM-MD5')dnl
>
>dnl ---------------------------------------------------------------------------
>
>пересобрал sendmail.cf ... и ничего не изменилось:
>при попытке отправить письмо на user@mail.ru:
>
>у клиента:
>The message could not be sent because one of the recipients was rejected by the server. The rejected e-mail address was 'user@mail.ru'. Subject 'test', Account: 'ns.domen.ru', Server: 'ns.domen.ru', Protocol: SMTP, Server Response: '550 5.7.1 <user@mail.ru>... Relaying denied. Proper authentication required.', Port: 25, Secure(SSL): No, Server Error: 550, Error Number: 0x800CCC79
>
>на сервере:
>Apr 25 13:28:08 ns sm-mta[83682]: l3PARR2o083682: ruleset=check_rcpt, arg1=<user@mail.ru>, relay=swift-basher.volia.net [XXX.XXX.XXX.XXX], reject=550 5.7.1 <user@mail.ru>... Relaying denied. Proper authentication required.
>Apr 25 13:28:08 ns sm-mta[83682]: l3PARR2o083682: from=<user@domen.ru>, size=0, class=0, nrcpts=0, proto=ESMTP, daemon=IPv4, relay=swift-basher.volia.net [XXX.XXX.XXX.XXX]Значит клиент (The BAT , Outlook и т.д.) не прошел
SMTP AUTH, как определено RFC 2554 .
Тестируйте.
http://www.jonfullmer.com/smtpauth/
Step 7 - Try it outПро
% printf "usename" | mmencode
% printf "password" | mmencode
не забудьте.
>Значит клиент (The BAT , Outlook и т.д.) не прошел
>
>SMTP AUTH, как определено RFC 2554 .
>Тестируйте.
>http://www.jonfullmer.com/smtpauth/
>Step 7 - Try it out
>
>Про
>% printf "usename" | mmencode
>% printf "password" | mmencode
>не забудьте.
ns# telnet localhost 25
Trying ::1...
Connected to localhost.domen.ru.
Escape character is '^]'.
220 ns.domen.ru ESMTP Sendmail 8.14.1/8.14.1; Wed, 25 Apr 2007 16:01:50 +0300 (EEST)
EHLO localhost
250-ns.domen.ru Hello localhost.domen.ru [IPv6:::1], pleased to meet you
250-ENHANCEDSTATUSCODES
250-PIPELINING
250-8BITMIME
250-SIZE
250-DSN
250-ETRN
250-DELIVERBY
250 HELPт.е. сейчас нет строки: 250-AUTH LOGIN PLAIN
>>Значит клиент (The BAT , Outlook и т.д.) не прошел
>>
>>SMTP AUTH, как определено RFC 2554 .
>>Тестируйте.
>>http://www.jonfullmer.com/smtpauth/
>>Step 7 - Try it out
>>
>>Про
>>% printf "usename" | mmencode
>>% printf "password" | mmencode
>>не забудьте.
>
>
>ns# telnet localhost 25
>Trying ::1...
>Connected to localhost.domen.ru.
>Escape character is '^]'.
>220 ns.domen.ru ESMTP Sendmail 8.14.1/8.14.1; Wed, 25 Apr 2007 16:01:50 +0300 (EEST)
>
>EHLO localhost
>250-ns.domen.ru Hello localhost.domen.ru [IPv6:::1], pleased to meet you
>250-ENHANCEDSTATUSCODES
>250-PIPELINING
>250-8BITMIME
>250-SIZE
>250-DSN
>250-ETRN
>250-DELIVERBY
>250 HELP
>
>т.е. сейчас нет строки: 250-AUTH LOGIN PLAINСтранно, обязательно должно быть. Тот ли конфиг ?
>Странно, обязательно должно быть. Тот ли конфиг ?еще раз проверил!
ниже текст конфига:divert(-1)
dnl ---------------------------------------------------------------------------
dnl Sendmail & ClamAV & Clammilter & CyrusIMAP & Cyrus SASL & Spamassasin & Spammilter
dnl ---------------------------------------------------------------------------divert(0)
VERSIONID(`$FreeBSD: src/etc/sendmail/freebsd.mc,v 1.30.2.2 2006/08/23 03:31:00 gshapiro Exp $')
OSTYPE(freebsd6)
DOMAIN(generic)dnl ---------------------------------------------------------------------------
dnl Аутентификация пользователей
dnl ---------------------------------------------------------------------------define(`confAUTH_OPTIONS', `A p y')dnl
TRUST_AUTH_MECH(`LOGIN PLAIN DIGEST-MD5 CRAM-MD5')dnl
define(`confAUTH_MECHANISMS', `LOGIN PLAIN DIGEST-MD5 CRAM-MD5')dnldnl ---------------------------------------------------------------------------
FEATURE(access_db, `hash -o -T<TMPF> /etc/mail/access')dnl
FEATURE(blacklist_recipients)dnl
FEATURE(local_lmtp)dnl
FEATURE(mailertable, `hash -o /etc/mail/mailertable')dnldnl FEATURE(virtusertable, `hash -o /etc/mail/virtusertable')
dnl Uncomment to allow relaying based on your MX records.
dnl NOTE: This can allow sites to use your server as a backup MX without
dnl your permission.
dnl FEATURE(relay_based_on_MX)dnl DNS based black hole lists
dnl --------------------------------
dnl DNS based black hole lists come and go on a regular basis
dnl so this file will not serve as a database of the available servers.
dnl For that, visit
dnl http://directory.google.com/Top/Computers/Internet/Abuse/Spa.../dnl Uncomment to activate Realtime Blackhole List
dnl information available at http://www.mail-abuse.com/
dnl NOTE: This is a subscription service as of July 31, 2001
dnl FEATURE(dnsbl)
dnl Alternatively, you can provide your own server and rejection message:
dnl FEATURE(dnsbl, `blackholes.mail-abuse.org', `"550 Mail from " $&{client_addr} " rejected, see http://mail-abuse.org/cgi-bin/lookup?" $&{client_addr}')dnl ---------------------------------------------------------------------------
dnl Подключение ClamAV
dnl ---------------------------------------------------------------------------dnl INPUT_MAIL_FILTER(`clmilter',`S=local:/var/clamav/clmilter.sock, F=T, T=C:1m;S:5m;R:5m;E:1h')
INPUT_MAIL_FILTER(`clmilter',`S=local:/var/run/clamav/clmilter.sock, F=, T=S:4m;R:4m')dnl
define(`confINPUT_MAIL_FILTERS', `clmilter')dnldnl ---------------------------------------------------------------------------
dnl Подключиние SpamAssassin
dnl ---------------------------------------------------------------------------INPUT_MAIL_FILTER(`spamassassin', `S=local:/var/run/spamass-milter.sock, F=, T=C:15m;S:4m;R:4m;E:10m')dnl
define(`confMILTER_MACROS_CONNECT',`b, j, _, {daemon_name}, {if_name}, {if_addr}')dnldnl ---------------------------------------------------------------------------
dnl Dialup users should uncomment and define this appropriately
dnl define(`SMART_HOST', `your.isp.mail.server')dnl Uncomment the first line to change the location of the default
dnl /etc/mail/local-host-names and comment out the second line.
dnl define(`confCW_FILE', `-o /etc/mail/sendmail.cw')
define(`confCW_FILE', `-o /etc/mail/local-host-names')dnl Enable for both IPv4 and IPv6 (optional)
DAEMON_OPTIONS(`Name=IPv4, Family=inet')
DAEMON_OPTIONS(`Name=IPv6, Family=inet6, Modifiers=O')define(`confBIND_OPTS', `WorkAroundBrokenAAAA')
define(`confNO_RCPT_ACTION', `add-to-undisclosed')
define(`confPRIVACY_FLAGS', `authwarnings,noexpn,novrfy')dnl ---------------------------------------------------------------------------
dnl Подключиние CyrusIMAP
dnl ---------------------------------------------------------------------------define(`confLOCAL_MAILER', `cyrusv2')dnl
define(`CYRUS_LMTP_SOCKET',`/var/imap/socket/lmtp')dnldnl ---------------------------------------------------------------------------
MAILER(local)
MAILER(smtp)
MAILER(`cyrusv2')dnlпосле чего:
ns# ./Build sendmail.cf
/usr/bin/m4 -D_CF_DIR_=/usr/local/share/sendmail/cf/ /usr/local/share/sendmail/cf/m4/cf.m4 sendmail.mc > sendmail.cf
ns# /etc/rc.d/sendmail stop
Stopping sendmail.
Stopping sendmail_clientmqueue.
ns# /etc/rc.d/sendmail start
Starting sendmail.
ns#потом:
ns# telnet localhost 25
Trying ::1...
Connected to localhost.domen.ru.
Escape character is '^]'.
220 ns.domen.ru ESMTP Sendmail 8.14.1/8.14.1; Wed, 25 Apr 2007 16:51:24 +0300 (EEST)
EHLO localhost
250-ns.domen.ru Hello localhost.domen.ru [IPv6:::1], pleased to meet you
250-ENHANCEDSTATUSCODES
250-PIPELINING
250-8BITMIME
250-SIZE
250-DSN
250-ETRN
250-DELIVERBY
250 HELP
quit
221 2.0.0 ns.domen.ru closing connection
Connection closed by foreign host.
ns#все так как я писал...
>>Странно, обязательно должно быть. Тот ли конфиг ?
>>
>после чего:
>ns# ./Build sendmail.cf
>/usr/bin/m4 -D_CF_DIR_=/usr/local/share/sendmail/cf/ /usr/local/share/sendmail/cf/m4/cf.m4 sendmail.mc > sendmail.cf
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
sendmail.cf в какой каталог пишется?
Тот ли конфиг стартует?>ns# /etc/rc.d/sendmail stop
>Stopping sendmail.
>Stopping sendmail_clientmqueue.
>ns# /etc/rc.d/sendmail start
>Starting sendmail.
>ns#
>
>>>Странно, обязательно должно быть. Тот ли конфиг ?
>sendmail.cf в какой каталог пишется?
>Тот ли конфиг стартует?пишется в нужный каталог:
1. вносим правки в sendmail.mc - изменяется дата его редактирования:
Apr 25 16:49 sendmail.cf
Apr 25 17:27 sendmail.mc2. запускаем ./Build sendmail.cf
ns# ./Build sendmail.cf
/usr/bin/m4 -D_CF_DIR_=/usr/local/share/sendmail/cf/ /usr/local/share/sendmail/cf/m4/cf.m4 sendmail.mc > sendmail.cf3. проверяем дату:
Apr 25 17:29 sendmail.cf
Apr 25 17:27 sendmail.mcзначит sendmail.cf пишется в нужный каталог.
загружается этот конфиг:
1. вносим в sendmail.mc строку: FEATURE(`relay_mail_from')dnl вместо записей о авторизации
и в access строку: From:user@domen.ru RELAY
2. пересобираем sendmail.mc
3. получаем работающую пересылку почты для писем приходящих с адреса user@domen.ru на любой домен, при соединении с любого IP после ввода пароля для доступа к почтовому ящику (ящики в CyrusIMAP, вносим пользователей при помощи saslpasswd2 -с user), причем сервак требует авторизации как перед получением так и перед отправкой.но этот способ решения вопроса мне кажется не сильно корректным...
с другой стороны - то что он работет говорит о том что стартует нужный конфиг!
>>>>Странно, обязательно должно быть. Тот ли конфиг ?
>>sendmail.cf в какой каталог пишется?
>>Тот ли конфиг стартует?
>
>пишется в нужный каталог:
>1. вносим правки в sendmail.mc - изменяется дата его редактирования:
>Apr 25 16:49 sendmail.cf
>Apr 25 17:27 sendmail.mcВопрос был не о дате создания файла sendmail.cf , а где он располагается.
>2. запускаем ./Build sendmail.cf
>
>ns# ./Build sendmail.cf!?
ns# pwd>/usr/bin/m4 -D_CF_DIR_=/usr/local/share/sendmail/cf/ /usr/local/share/sendmail/cf/m4/cf.m4 sendmail.mc > sendmail.cf
>
>3. проверяем дату:
>Apr 25 17:29 sendmail.cf
>Apr 25 17:27 sendmail.mc
>
>значит sendmail.cf пишется в нужный каталог.В какой каталог?
ls -lg /etc/mail/sendmail.cfСтартуйте ваш sendmail с опцией актуального конфига
-C/etc/mail/sendmail.cf
>загружается этот конфиг:
>1. вносим в sendmail.mc строку: FEATURE(`relay_mail_from')dnl вместо записей о авторизации
>и в access строку: From:user@domen.ru RELAY
>2. пересобираем sendmail.mc
>3. получаем работающую пересылку почты для писем приходящих с адреса user@domen.ru на
>любой домен, при соединении с любого IP после ввода пароля для
>доступа к почтовому ящику (ящики в CyrusIMAP, вносим пользователей при помощи
>saslpasswd2 -с user), причем сервак требует авторизации как перед получением так
>и перед отправкой.Вы путаете аутентификацию на сервере CyrusIMAP и аутентификацию на почтовом
релее. Это разные сервисы, хотя используют один SASL.>но этот способ решения вопроса мне кажется не сильно корректным...
Что Вы говорите? Почитайте, хотя бы RFC 2505 п.2.1 .
Я обеспечу Вас спамом. ;-)/usr/local/share/sendmail/cf/README
relay_mail_from
Allows relaying if the mail sender is listed as RELAY in
the access map. If an optional argument `domain' (this
is the literal word `domain', not a placeholder) is given,
relaying can be allowed just based on the domain portion
of the sender address. This feature should only be used if
absolutely necessary as the sender address can be easily
forged. Use of this feature requires the "From:" tag to
be used for the key in the access map; see the discussion
of tags and FEATURE(`relay_mail_from') in the section on
anti-spam configuration control.>с другой стороны - то что он работет говорит о том что
>стартует нужный конфиг!Это ни о чем не говорит.
Сдается мне , что Вам надо посмотреть class R в вашем sendmail.cf .
>Вопрос был не о дате создания файла sendmail.cf , а где он
>располагается.
/etc/mail/sendmail.cf
/etc/mail/sendmail.mc>ns# pwd
ns# pwd
/etc/mail>В какой каталог?
>ls -lg /etc/mail/sendmail.cfns# ls -lg /etc/mail/sendmail.cf
-rw-r--r-- 1 root wheel 58362 Apr 25 17:29 /etc/mail/sendmail.cf>Стартуйте ваш sendmail с опцией актуального конфига
>-C/etc/mail/sendmail.cfв /etc/rc.conf прописываю:
sendmail_enable="YES"
sendmail_flags="-Csendmail.cf"при запуске выдает следующее сообщение:
ns# /etc/rc.d/sendmail start
Starting sendmail.
Recipient names must be specified>Сдается мне , что Вам надо посмотреть class R в вашем sendmail.cf
можно об этом подробнее?!
>ns# ls -lg /etc/mail/sendmail.cf
>-rw-r--r-- 1 root wheel 58362 Apr 25 17:29 /etc/mail/sendmail.cfOK!
>в /etc/rc.conf прописываю:
>
>sendmail_enable="YES"
>sendmail_flags="-Csendmail.cf"Лучше бы абсолютный путь
sendmail_flags="-C/etc/mail/sendmail.cf">при запуске выдает следующее сообщение:
>
>ns# /etc/rc.d/sendmail start
>Starting sendmail.
>Recipient names must be specified
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
Смотрите подробнее , что в /var/log/maillogИ включите
O LogLevel=14
>>Сдается мне , что Вам надо посмотреть class R в вашем sendmail.cf
>
>можно об этом подробнее?!
/usr/share/sendmail/cf/README
R domains this system is willing to relay (pass anti-spam filters)
>####################### mailertable #########################################>.domen.ru smtp:relay.domen.ru
Это зачем?
Вообщем еще раз.
ns# telnet ns.domen.ru 25
...
EHLO ...
250-AUTH LOGIN PLAIN ...
^^^^^^^^^^^^^^^^^^^^^^^
Вот это должно быть.Тест для SMTP AUTH (RFC 2554)
http://www.jonfullmer.com/smtpauth/
Step 7 - Try it outНе забудьте преобразовать username/password через mmencode .
Настраиваете клиента TheBAT или другого на аутентификацию SMTP AUTH и работаете.
ns# telnet localhost 25
Trying ::1...
Connected to localhost.domen.ru
Escape character is '^]'.
220 ns.domen.ru ESMTP Sendmail 8.14.1/8.14.1; Thu, 26 Apr 2007 12:34:10 +0300 (EEST)
EHLO localhost
250-ns.domen.ru Hello localhost.domen.ru [IPv6:::1], pleased to meet you
250-ENHANCEDSTATUSCODES
250-PIPELINING
250-8BITMIME
250-SIZE
250-DSN
250-ETRN
250-AUTH LOGIN PLAIN
250-DELIVERBY
250 HELP
AUTH LOGIN
334 VXNlcm5hbWU6
cnN2QG5zLmtyZnNlLmtpZXYudWE=
334 UGFzc3dvcmQ6
cnN2
535 5.7.0 authentication failed
AUTH LOGIN
334 VXNlcm5hbWU6
cnN2QG5zLmtyZnNlLmtpZXYudWE=
334 UGFzc3dvcmQ6
cnN2
535 5.7.0 authentication failed
AUTH LOGIN
334 VXNlcm5hbWU6
cnN2
334 UGFzc3dvcmQ6
cnN2
535 5.7.0 authentication failed
^C
quit
Connection closed by foreign host.пробовал логиниться - не пускает!
логин и пароль внесены в sasldb, пробовал переводить их в вид Base64 - не помогает!
подскажи как необходимо вносить пользователей в БД что-бы работала аутентификация т.к. пользователи внесенные командой saslpasswd -c user не могут авторизироваться!
при попытке отправить почту сервер спрашивает пароль.
логин пароль по которым авторизируемся на Cyrus не подходит!отправляет только при использовании системного пароля
т.е. логина и пароля пользователя который может входить на сервак!как настроить авторизацию по паролям из БД sasldb т.е. что-бы сопадал пароль входа на почтовый ящик Cyrus с паролем на отправку почты!
>AUTH LOGIN
>334 VXNlcm5hbWU6
>cnN2QG5zLmtyZnNlLmtpZXYudWE=
>334 UGFzc3dvcmQ6
>cnN2
>535 5.7.0 authentication failed
>AUTH LOGIN
>334 VXNlcm5hbWU6
>cnN2QG5zLmtyZnNlLmtpZXYudWE=
>334 UGFzc3dvcmQ6
>cnN2>
>пробовал логиниться - не пускает!
>
>логин и пароль внесены в sasldb, пробовал переводить их в вид Base64
>- не помогает!
>подскажи как необходимо вносить пользователей в БД что-бы работала аутентификация т.к. пользователи
>внесенные командой saslpasswd -c user не могут авторизироваться!Нет аутентификации через SASL, вот и локализовали проблему.
Что показывает лог /var/log/messages и /var/log/auth.log ?
А AUTH PLAIN не пробовали?Что в /usr/local/lib/sasl2/Sendmail.conf ?
Почитайте документацию про механизмы аутентификации SASLv2
(LOGIN PLAIN GSSAPI KERBEROS_V4 DIGEST-MD5 CRAM-MD5 ...).
На Realm's обратите внимание.
>Нет аутентификации через SASL, вот и локализовали проблему.
>Что показывает лог /var/log/messages и /var/log/auth.log ?/var/log/auth.log
Apr 26 14:15:05 ns saslauthd[93201]: do_auth : auth failure: [user=rsv] [service=smtp] [realm=] [mech=pam] [reason=PAM auth error]
/var/log/messages - ничего
>А AUTH PLAIN не пробовали?
где именно?!
>Что в /usr/local/lib/sasl2/Sendmail.conf ?
>
только одна строчка:
pwcheck_method: saslauthd
в auth.log часто появляются сообщения подобного плана:
saslpasswd2: error deleting entry from sasldb: DB_NOTFOUND: No matching key/data pair found
это появилось при поытке удалить пользователя, хотя действия с БД выполняются!с чем это может быть связано?!
>в auth.log часто появляются сообщения подобного плана:
>saslpasswd2: error deleting entry from sasldb: DB_NOTFOUND: No matching key/data pair found
>
>
>
>это появилось при поытке удалить пользователя, хотя действия с БД выполняются!
>
>с чем это может быть связано?!
>>Нет аутентификации через SASL, вот и локализовали проблему.
>>Что показывает лог /var/log/messages и /var/log/auth.log ?
>
>/var/log/auth.log
>
>Apr 26 14:15:05 ns saslauthd[93201]: do_auth
> : auth failure: [user=rsv] [service=smtp] [realm=] [mech=pam] [reason=PAM auth
>error]Какую базу (authentication mechanisms) должен смотреть saslauthd, как он запущен ?
Сейчас он обращается к pam .
Наверно, должен к -a sasldb ?Добавьте в /etc/syslog.conf временно:
auth.debug;auth.info;authpriv.info /var/log/auth.log
mail.debug /var/log/maillogПро [realm=] не забудьте.
>>А AUTH PLAIN не пробовали?
>где именно?!
Все там же:
ns# telnet localhost 25
...
AUTH PLAIN
...
>>Что в /usr/local/lib/sasl2/Sendmail.conf ?
>>
>только одна строчка:
>pwcheck_method: saslauthdМожно добавить
mech_list: digest-md5 cram-md5 plain login
Наконец разобрался что к чему.
Ниже привожу конечные конфиги - может кому-то пригодится!##################### Sendmail.mc #############################################
divert(-1)dnl ---------------------------------------------------------------------------
dnl Sendmail
dnl ---------------------------------------------------------------------------divert(0)
VERSIONID(`$FreeBSD: src/etc/sendmail/freebsd.mc,v 1.30.2.2 2006/08/23 03:31:00 gshapiro Exp $')
OSTYPE(freebsd6)
DOMAIN(generic)dnl ---------------------------------------------------------------------------
dnl Аутентификация пользователей на smtp (КАК КЛИЕНТЫ НЕОБХОДИМО ИСПОЛЬЗОВАТЬ Thunderbird или TheBAT т.к. MS OutlookExpress не поддкрживает DIGEST-MD5 или CRAM-MD5, а настраивать сертификаты для майкрософтского клиента мне было лень )
dnl ---------------------------------------------------------------------------define(`confAUTH_OPTIONS', `A y')dnl
define(`confAUTH_MECHANISMS', `DIGEST-MD5 CRAM-MD5')dnl
TRUST_AUTH_MECH(`DIGEST-MD5 CRAM-MD5')dnldnl ---------------------------------------------------------------------------
define(`confTO_IDENT',`0s')dnl
FEATURE(access_db, `hash -o -T<TMPF> /etc/mail/access')dnl
FEATURE(local_lmtp)dnl
FEATURE(mailertable, `hash -o /etc/mail/mailertable')dnldnl ---------------------------------------------------------------------------
dnl Подключение ClamAV
dnl ---------------------------------------------------------------------------INPUT_MAIL_FILTER(`clmilter',`S=local:/var/run/clamav/clmilter.sock, F=, T=S:4m;R:4m')dnl
define(`confINPUT_MAIL_FILTERS', `clmilter')dnldnl ---------------------------------------------------------------------------
dnl Подключиние SpamAssassin
dnl ---------------------------------------------------------------------------INPUT_MAIL_FILTER(`spamassassin', `S=local:/var/run/spamass-milter.sock, F=, T=C:15m;S:4m;R:4m;E:10m')dnl
define(`confMILTER_MACROS_CONNECT',`b, j, _, {daemon_name}, {if_name}, {if_addr}')dnldnl ---------------------------------------------------------------------------
define(`confCW_FILE', `-o /etc/mail/local-host-names')
dnl Enable for both IPv4 and IPv6 (optional)
DAEMON_OPTIONS(`Name=IPv4, Family=inet')
DAEMON_OPTIONS(`Name=IPv6, Family=inet6, Modifiers=O')define(`confBIND_OPTS', `WorkAroundBrokenAAAA')
define(`confNO_RCPT_ACTION', `add-to-undisclosed')
define(`confPRIVACY_FLAGS', `authwarnings,noexpn,novrfy')dnl ---------------------------------------------------------------------------
dnl Подключиние CyrusIMAP
dnl ---------------------------------------------------------------------------define(`confLOCAL_MAILER', `cyrusv2')dnl
define(`CYRUS_LMTP_SOCKET',`/var/imap/socket/lmtp')dnldnl ---------------------------------------------------------------------------
MAILER(local)
MAILER(smtp)
MAILER(`cyrusv2')dnl################## access #####################################################
localhost.domen.ru OK
localhost OK
127.0.0.1 OK
domen.ru OK
10.111.1 OK
10.111.0 OK
################################################################################теперь то в чем была загвоздка: я использовал для авторизации на smtp saslauthd, для чего в файл /usr/local/lib/sasl2/Sendmail.conf внес запись: pwcheck_method: saslauthd
для авторизации по логинам и паролям внесенным в sasldb необходино изменить этот файл приведя его к виду показанному ниже:
######################## Sendmail.conf #########################################
pwcheck_method: auxprop
и можно смело отлючить saslauthd!
Авторизация на POP и SMTP будет проводиться по данным из файла sasldb. Что и требовалось!
Всем большое спасибо за помощь в решении вопроса.
sendmail -bt -d0.4 </dev/null
показывает SASLv2?Что в /usr/lib/sasl/Sendmail.conf?
>sendmail -bt -d0.4 </dev/null
>показывает SASLv2?
>
>Что в /usr/lib/sasl/Sendmail.conf?
ns# sendmail -bt -d0.4 </dev/null
Version 8.14.1
Compiled with: DNSMAP LOG MAP_REGEX MATCHGECOS MILTER MIME7TO8 MIME8TO7
NAMED_BIND NETINET NETINET6 NETUNIX NEWDB NIS PIPELINING SASLv2
SCANF STARTTLS TCPWRAPPERS USERDB XDEBUG
Canonical name: ns.domen.ru
UUCP nodename: ns.domen.ru
a.k.a.: [10.111.1.5]
a.k.a.: [IPv6:fe80::214:38ff:feb9:356c]
a.k.a.: [IPv6:::1]
a.k.a.: localhost.domen.ru
a.k.a.: [IPv6:fe80::1]
a.k.a.: [127.0.0.1]============ SYSTEM IDENTITY (after readcf) ============
(short domain name) $w = ns
(canonical domain name) $j = ns.domen.ru
(subdomain name) $m = domen.ru
(node name) $k = ns.dome
========================================================ADDRESS TEST MODE (ruleset 3 NOT automatically invoked)
Enter <ruleset> <address>
SASLv2 - показывает/usr/local/lib/sasl2/Sendmail.conf
pwcheck_method: saslauthd
mech_list: plain login
описка в node name - должно быть: (node name) $k = ns.domen.ru