# smtpp

NAME
SYNOPSIS
DESCRIPTION
OPTIONS
CLIENTS
BUGS
SEE ALSO
AUTHORS

## NAME

smtpp - SMTP proxy gateway service

## SYNOPSIS

smtpp [-d] [-l[[@]logfile]] [-pport] [-iinternal_ip] [-eexternal_ip] [-hdefault_ip[:port]] [-x]

## DESCRIPTION

smtpp is SMTP gateway service to allow internal users to access external SMTP servers.

## OPTIONS

| -I |  | Inetd mode. Standalone service only.
| -d |  | Daemonize. Detach service from console and run in the background.
| -t |  | Be silenT. Do not log start/stop/accept error records.
| -u |  | Never look for username authentication.
| -e |  | External address. IP address of the interface the proxy should initiate connections from. By default, the system will decide which address to use in accordance with the routing table.

-niPATH

(Linux only) Switch to the network namespace identified by PATH before opening the listening socket. The current namespace is saved and restored immediately after binding, so outgoing connections run in the original namespace unless -ne is also given.

-nePATH

(Linux only) Switch to the network namespace identified by PATH after the listening socket has been bound (and after restoring from -ni if applicable). Both options accept any namespace file path (e.g. /var/run/netns/myns or /proc/PID/ns/net) and require CAP_SYS_ADMIN.

| -i |  | Internal address. IP address the proxy accepts connections to. By default, connections to any interface are accepted. It´s usually unsafe. Unix domain sockets can be specified with -iunix:/path/to/socket syntax (e.g., -iunix:/var/run/smtpp.sock). On Linux, abstract sockets use -iunix:@socketname syntax.
| -p |  | Port. Port proxy listens for incoming connections. Default is 587.
| -h |  | Default destination. It’s used if the target address is not specified by the user.
| -x |  | Disable STARTTLS support. STARTTLS is not announced in the EHLO response and the STARTTLS command is not accepted.
| -l |  | Log. By default logging is to stdout. If logfile is specified logging is to file. Under Unix, if ´@´ precedes logfile, syslog is used for logging.
| -S |  | Increase or decrease stack size. You may want to try something like -S8192 if you experience 3proxy crashes.

## CLIENTS

You can use any MUA (Mail User Agent) with SMTP authentication support. Set the client to use internal_ip and port as an SMTP server. The address of the real SMTP server must be configured as a part of the SMTP username. The format for the username is username@server, where server is the address of the SMTP server and username is the user´s login on this SMTP server. The login itself may contain an ´@´ sign. Only cleartext authentication is supported, because challenge-response authentication (CRAM-MD5, SPA, etc.) requires a challenge from the server before we know which server to connect to. When running as a 3proxy service (not as a standalone binary), STARTTLS is supported and announced in the EHLO response unless disabled with -x. After the client issues STARTTLS, the connection is handled by tlspr(8): the destination host is taken from the SNI of the client TLS handshake (or from the -h option), the proxy performs STARTTLS negotiation with the destination server, and then transparently passes TLS traffic between the client and the server. If the destination server does not support STARTTLS, the TLS handshake with the client fails.

## BUGS

Report all bugs to 3proxy@3proxy.org

## SEE ALSO

3proxy(8), ftppr(8), proxy(8), socks(8), tcppm(8), udppm(8), syslogd(8),
https://3proxy.org/

## AUTHORS

3proxy is designed by Vladimir Dubrovin <vlad@3proxy.org>