Страница 1 из 1

Howto SendMail + Relay

Добавлено: 2008-08-03 19:41:37
dm07
Добрый вечер.
Имеется sendmail, нужно, чтобы аутентифицированные клиенты, типа Office Outlook, Express Outlook могли отсылать через сендмейл почту другим доменам. В почтовых клиентах стоит галка, что SMTP серверу требуется проверка подлинности, как для сервера входящей почты.
Сейчас релей запрещен, вот лог на почтовом сервере при отправке письма от клиента через почтовый сервер:

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

Aug  3 21:15:17 mail sm-mta[39177]: NOQUEUE: connect from ppp85-140-90-148.pppoe.mtu-net.ru [85.140.90.148]
Aug  3 21:15:17 mail sm-mta[39177]: AUTH: available mech=GSSAPI CRAM-MD5, allowed mech=LOGIN PLAIN DIGEST-MD5 CRAM-MD5
Aug  3 21:15:17 mail sm-mta[39177]: m73HFHFQ039177: Milter: no active filter
Aug  3 21:15:17 mail sm-mta[39177]: m73HFHFQ039177: --- 220 mail.itcall.ru ESMTP Sendmail 8.14.3/8.14.3; Sun, 3 Aug 2008 21:15:17 +0400 (MSD)
Aug  3 21:15:17 mail sm-mta[39177]: m73HFHFQ039177: <-- EHLO Dmitry
Aug  3 21:15:17 mail sm-mta[39177]: m73HFHFQ039177: --- 250-mail.itcall.ru Hello ppp85-140-90-148.pppoe.mtu-net.ru [85.140.90.148], pleased to meet you
Aug  3 21:15:17 mail sm-mta[39177]: m73HFHFQ039177: --- 250-ENHANCEDSTATUSCODES
Aug  3 21:15:17 mail sm-mta[39177]: m73HFHFQ039177: --- 250-PIPELINING
Aug  3 21:15:17 mail sm-mta[39177]: m73HFHFQ039177: --- 250-8BITMIME
Aug  3 21:15:17 mail sm-mta[39177]: m73HFHFQ039177: --- 250-SIZE
Aug  3 21:15:17 mail sm-mta[39177]: m73HFHFQ039177: --- 250-DSN
Aug  3 21:15:17 mail sm-mta[39177]: m73HFHFQ039177: --- 250-ETRN
Aug  3 21:15:17 mail sm-mta[39177]: m73HFHFQ039177: --- 250-AUTH CRAM-MD5
Aug  3 21:15:17 mail sm-mta[39177]: m73HFHFQ039177: --- 250-DELIVERBY
Aug  3 21:15:17 mail sm-mta[39177]: m73HFHFQ039177: --- 250 HELP
Aug  3 21:15:17 mail sm-mta[39177]: m73HFHFQ039177: <-- MAIL FROM: <testuser@itcall.ru>
Aug  3 21:15:17 mail sm-mta[39177]: m73HFHFQ039177: --- 250 2.1.0 <testuser@itcall.ru>... Sender ok
Aug  3 21:15:17 mail sm-mta[39177]: m73HFHFQ039177: <-- RCPT TO: <user@gmail.com>
Aug  3 21:15:17 mail sm-mta[39177]: m73HFHFQ039177: ---[b] 550 5.7.1 <user@gmail.com>... Relaying denied. Proper authentication required.[/b]
Aug  3 21:15:17 mail sm-mta[39177]: m73HFHFQ039177: ruleset=check_rcpt, arg1=<user@gmail.com>, relay=ppp85-140-90-148.pppoe.mtu-net.ru [85.140.90.148], reject=550 5.7.1 <user@gmail.com>... Relaying denied. Proper authentication required.
Aug  3 21:15:20 mail sm-mta[39177]: m73HFHFQ039177: <-- QUIT
Aug  3 21:15:20 mail sm-mta[39177]: m73HFHFQ039177: --- 221 2.0.0 mail.itcall.ru closing connection
в sources_sendmail/cf/README четко сказано, что relaying is allowed for any user who authenticated via a "trusted" mechanism, у меня в sendmail.mc:

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

TRUST_AUTH_MECH(`LOGIN PLAIN DIGEST-MD5 CRAM-MD5')dnl
Хотя по-прежнему аутентифицированные пользователи не могут отсылать почту.
Помогите, кто занимался настройкой почтового сервера sendmail и настроил релей для аутентифицированных пользователей.
Спасибо.

Re: Howto SendMail + Relay

Добавлено: 2008-08-04 22:46:14
dm07
В-общем, частично подобрался к причине того, что у меня не выдается AUTH PLAIN LOGIN. На данный момент:

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

На данный момент: 
telnet localhost 25
Trying 127.0.0.1...
Connected to localhost.
Escape character is '^]'.
220 mail.xxx.ru ESMTP Sendmail 8.14.3/8.14.3; Mon, 4 Aug 2008 18:40:42 +0400 (MSD)
ehlo localhost
250-mail.xxx.ru Hello localhost [127.0.0.1], pleased to meet you
250-ENHANCEDSTATUSCODES
250-PIPELINING
250-EXPN
250-VERB
250-8BITMIME
250-SIZE
250-DSN
250-ETRN
250-DELIVERBY
250 HELP
AUTH PLAIN
503 5.3.3 AUTH not available
Я пересобрал CYRUS-SASL-2, при запуске сендмыла вижу в auth.log:
Aug 5 00:28:25 mail sm-mta[66066]: Could not find a dlname line in .la file: libdigestmd5.la
Aug 5 00:28:25 mail sm-mta[66066]: Could not find a dlname line in .la file: libplain.la
Aug 5 00:28:25 mail sm-mta[66066]: Could not find a dlname line in .la file: liblogin.la
Думаю, что сбой в SASL как раз и не дает AUTH.
Гуглил на эту тему, полно народа, но решения нет. Может кто встречался с подобной проблемой...

Re: Howto SendMail + Relay

Добавлено: 2008-08-04 23:30:30
zingel
http://www.sendmail.org/~ca/email/roaming.html
relay-domains не подходит, т.к. мне нужно, чтобы только аутентифицированные пользователи могли релеить, а вы предлагаете мне забить домены, для которых я могу релеить безо всякой проверки.
попробуйте другой MTA.

Re: Howto SendMail + Relay

Добавлено: 2008-08-05 0:09:51
Alex Keda
2 зингель
ты неправ. Это очень хороший MTA, умеющий не меньше экзима.
Не так прозрачно и понятно - но со своей внутренней логикой.

Re: Howto SendMail + Relay

Добавлено: 2008-08-05 0:16:49
zingel
Не так прозрачно и понятно - но со своей внутренней логикой.
m4....Вот только по-этому.

Re: Howto SendMail + Relay

Добавлено: 2008-08-05 7:25:24
manefesto
ты на осилил m4 вот твоя проблема.
А я еще и начинал его осиливать =)
Помогите парню кто в теме
==============================================
PS: Сам читаю про sendmail
==============================================
Переместил в MTA

Re: Howto SendMail + Relay

Добавлено: 2008-08-11 17:01:23
dm07
dm07 писал(а):В-общем, частично подобрался к причине того, что у меня не выдается AUTH PLAIN LOGIN. На данный момент:

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

На данный момент: 
telnet localhost 25
Trying 127.0.0.1...
Connected to localhost.
Escape character is '^]'.
220 mail.xxx.ru ESMTP Sendmail 8.14.3/8.14.3; Mon, 4 Aug 2008 18:40:42 +0400 (MSD)
ehlo localhost
250-mail.xxx.ru Hello localhost [127.0.0.1], pleased to meet you
250-ENHANCEDSTATUSCODES
250-PIPELINING
250-EXPN
250-VERB
250-8BITMIME
250-SIZE
250-DSN
250-ETRN
250-DELIVERBY
250 HELP
AUTH PLAIN
503 5.3.3 AUTH not available
Я пересобрал CYRUS-SASL-2, при запуске сендмыла вижу в auth.log:
Aug 5 00:28:25 mail sm-mta[66066]: Could not find a dlname line in .la file: libdigestmd5.la
Aug 5 00:28:25 mail sm-mta[66066]: Could not find a dlname line in .la file: libplain.la
Aug 5 00:28:25 mail sm-mta[66066]: Could not find a dlname line in .la file: liblogin.la
Думаю, что сбой в SASL как раз и не дает AUTH.
Гуглил на эту тему, полно народа, но решения нет. Может кто встречался с подобной проблемой...
Проблема состояла в том, что SASL был неправильно создан. Нужно удалить libtool, а также cyrus-*. Дальше заново переустановить Cyrus-Sasl2, который переустановит libtool.
Моя ошибка была в том, что собирал из исходников Sasl, а нужно было из портов.