Mercurial > hg > nginx-mail
view auto/init @ 400:f1e2fab7a46c
Mail: smtp proxy without authentication.
Activated by auth method "unauth" in smtp_auth directive.
Waits for MAIL FROM and first RCPT TO from client, asks auth_http for
backend with additional headers Auth-SMTP-Helo, Auth-SMTP-From,
Auth-SMTP-To, and establishes connection to backend.
Auth-SMTP-From/To currently contain full command (e.g. "mail from: <>"),
this may change in future.
The functionality was designed to take off load from real smtp servers.
Additionally it may be used to implement pop-before-smtp authentication
(but dont do it unless you really need it - use real auth instead).
Current bug-features:
- If only "unauth" method activated in config, other methods (e.g. plain,
login) not advertised but accepted. Make sure your auth server handles
this gracefully.
- If backend server returns error on MAIL FROM / RCPT TO command while
proxy tunnel setup, nginx will close connection to client with 4xx
error. One may use proxy_pass_error_message directive to pass original
error message to client.
- Syntax of MAIL FROM / RCPT TO commands from client isn't checked.
author | Maxim Dounin <mdounin@mdounin.ru> |
---|---|
date | Sun, 22 Jul 2007 23:55:12 +0000 |
parents | 45945fa8b8ba |
children | 9fc4ab6673f9 |
line wrap: on
line source
# Copyright (C) Igor Sysoev NGX_MAKEFILE=$NGX_OBJS/Makefile NGX_MODULES_C=$NGX_OBJS/ngx_modules.c NGX_AUTO_HEADERS_H=$NGX_OBJS/ngx_auto_headers.h NGX_AUTO_CONFIG_H=$NGX_OBJS/ngx_auto_config.h NGX_AUTOTEST=$NGX_OBJS/autotest NGX_AUTOCONF_ERR=$NGX_OBJS/autoconf.err # STUBs NGX_ERR=$NGX_OBJS/autoconf.err MAKEFILE=$NGX_OBJS/Makefile NGX_PCH= NGX_USE_PCH= # check the echo's "-n" option and "\c" capability if echo "test\c" | grep c >/dev/null; then if echo -n test | grep n >/dev/null; then ngx_n= ngx_c= else ngx_n=-n ngx_c= fi else ngx_n= ngx_c='\c' fi # create Makefile cat << END > Makefile build: \$(MAKE) -f $NGX_MAKEFILE install: \$(MAKE) -f $NGX_MAKEFILE install clean: rm -rf Makefile $NGX_OBJS upgrade: $NGX_SBIN_PATH -t # upgrade compatibility from 0.1.x to 0.2.x cp $NGX_PID_PATH $NGX_PID_PATH.oldbin kill -USR2 \`cat $NGX_PID_PATH\` sleep 1 test -f $NGX_PID_PATH.oldbin # upgrade compatibility from 0.1.x to 0.2.x cp $NGX_PID_PATH $NGX_PID_PATH.newbin kill -WINCH \`cat $NGX_PID_PATH.oldbin\` END