Nginx-ru mailing list archive (nginx-ru@sysoev.ru)
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
nginx как smtp proxy
Здравствуйте.
Никак не получается настроить nginx в качестве smtp-proxy с
авторизацией. Проблемы есть и при отправке клиентом (Thunderbird
1.5.0.10) и при отправке "вручную", через telnet. Вот что происходит при
отправке почтовым клиентом (выловил через tcpdump):
<< 220 nginx-proxy.ru ESMTP ready
EHLO [77.50.62.38]
<< 250-nginx-proxy.ru
<< 250-PIPELINING
<< 250-8BITMIME
<< 250 AUTH PLAIN LOGIN
AUTH PLAIN [login & pass]
<< 235 2.0.0 OK
MAIL FROM:<user@xxxxxxx>
<< 250 ok
RCPT TO:<another_user@xxxxxxx>
<< 553 sorry, that domain isn't in my list of allowed rcpthosts (#5.7.1)
В этот момент клиент сообщает об ошибке и дальше отправлять не хочет.
Вот что остается в логах nginx:
2007/04/29 13:26:10 [info] 7681#0: *5303 client 77.50.62.38 connected to
nginx-proxy.ru:25
2007/04/29 13:26:10 [info] 7681#0: *5303 client logged in, client: 77.50.62.38, server:
nginx-proxy.ru:25, login: "user@xxxxxxx", upstream: real-smtp.ru
2007/04/29 13:26:11 [info] 7681#0: *5303 proxied session done, client: 77.50.62.38,
server: nginx-proxy.ru, login: "user@xxxxxxx", upstream: real-smtp.ru
Если же отправлять не через nginx, а сразу через реальный stmp хост, то
все проходит гладко:
<< 220 real-smtp.ru ESMTP
EHLO [77.50.62.38]
<< 250-real-smtp.ru
<< 250-AUTH LOGIN CRAM-MD5 PLAIN
<< 250-AUTH=LOGIN CRAM-MD5 PLAIN
<< 250-PIPELINING
<< 250 8BITMIME
AUTH PLAIN [login & password]
<< 235 ok, go ahead (#2.0.0)
MAIL FROM:<user@xxxxxxx>
<< 250 ok
RCPT TO:<another_user@xxxxxxx>
<< 250 ok
DATA
<< 354 go ahead
hello there
.
<< 250 ok 1177838939 qp 17768
QUIT
<< 221 real-smtp.ru
Создается впечатление, что nginx почему-то не понимает синтаксиса,
передаваемого клиентом.
Чтобы убедиться в том, что это действительно так, я попробовал отправить
через nginx руками, то есть через telnet:
<< 220 protion.biplane.ru ESMTP ready
EHLO [77.50.62.38]
<< 250-nginx-proxy.ru
<< 250-PIPELINING
<< 250-8BITMIME
<< 250 AUTH PLAIN LOGIN
AUTH PLAIN [login & password]
<< 235 2.0.0 OK
MAIL TO another_user@xxxxxxx
<< 250 ok
MAIL FROM user@xxxxxxx
<< 250 ok
RCPT TO another_user@xxxxxxx
<< 250 ok
DATA
<< 354 go ahead
hello there
.
<< 250 ok 1177840626 qp 17840
<< QUIT
Вроде бы все хорошо, письмо принято и скоро должно попасть к адресату.
Логи nginx:
2007/04/29 14:07:00 [info] 7681#0: *5978 client 77.50.62.38 connected to
nginx-proxy.ru
2007/04/29 14:07:05 [info] 7681#0: *5978 client logged in, client: 77.50.62.38, server:
nginx-proxy.ru:25, login: "user@xxxxxxx", upstream: real-smtp.ru:25
2007/04/29 14:07:17 [info] 7681#0: *5978 proxied session done, client: 77.50.62.38,
server: nginx-proxy.ru:25, login: "user@xxxxxxx", upstream: real-smtp.ru:25
Но на самом деле, письмо не доходит. Вот что остается в логах мыльника:
Apr 29 14:07:17 smtp-host qmail: 1177841237.922926 new msg 14866916
Apr 29 14:07:17 smtp-host qmail: 1177841237.923263 info msg 14866916: bytes 314 from
<> qp 17896 uid 82
Apr 29 14:07:17 smtp-host qmail: 1177841237.923280 starting delivery 169: msg
14866916 to local smtp-host.ru-@xxxxxxxxxxxx
Apr 29 14:07:17 smtp-host qmail: 1177841237.923291 status: local 1/10 remote
0/20
Apr 29 14:07:17 smtp-host qmail: 1177841237.926962 delivery 169: failure:
Sorry,_no_mailbox_here_by_that_name._(#5.1.1)/
Apr 29 14:07:17 smtp-host qmail: 1177841237.929193 status: local 0/10 remote
0/20
Apr 29 14:07:17 smtp-host qmail: 1177841237.929257 double bounce: discarding
bounce/14866916
Apr 29 14:07:17 smtp-host qmail: 1177841237.929780 end msg 14866916
Сервис авторизации и получение почты через pop3/imap работают отлично. В
чем дело - никак не пойму, бьюсь уже три дня, буду благодарен за любую
подсказку.
Теперь о системе.
Хост, на котором крутится nginx:
FreeBSD 6.2-RELEASE #0: Wed Feb 28 11:11:59 MSK 2007
nginx:
nginx version: nginx/0.5.19
built by gcc 3.4.6 [FreeBSD] 20060305
configure arguments: --with-mail --with-http_ssl_module
Хост, на котором расположен почтовый сервер:
FreeBSD 6.2-RELEASE #1: Tue Mar 13 16:37:28 MSK 2007
mta - qmail 1.03
Конфиг nginx:
mail {
auth_http localhost:970/;
auth_http_timeout 5;
proxy_pass_error_message on;
imap_capabilities "IMAP4rev1" "UIDPLUS" "CHILDREN" "NAMESPACE" "THREAD=ORDEREDSUBJECT"
"THREAD=REFERENCES" "SORT" "QUOTA"
pop3_auth plain;
pop3_capabilities "TOP" "USER" "PIPELINING" "UIDL";
smtp_auth login plain;
smtp_capabilities PIPELINING 8BITMIME;
xclient off;
server {
listen proxy-host.ru:25;
protocol smtp;
timeout 300s;
}
server {
listen proxy-host.ru:110;
protocol pop3;
proxy on;
}
server {
listen proxy-host.ru:143;
protocol imap;
proxy on;
}
}
--
Best regards, Alexey Belousov
[no pasaran] [#lan_games] [bbg]
np: XODusShow replay feat. Ben XO (XPOSURE Recs) (Bassdrive - Music Beyond -
24/7 Drum and Bass Jungle Radio Featuring Live Shows) [stopped]
|