smtpp(8)

๐Ÿ“ฆ
version 1.0.1 ยท 2 versions
, in epel 10, epel 9, fedora 43, fedora 44

๐Ÿ’Œ smtpp(8) โ€” the SMTP proxy gateway service, bestie edition

okay so you found the smtpp page in section 8 of the Universal proxy server manual, and honestly? it's giving "small tool, big job." let's get into it ๐Ÿ’…


โœจ NAME โœจ

smtpp โ€” SMTP proxy gateway service ๐Ÿฆ‹


โœจ SYNOPSIS โœจ

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

โœจ DESCRIPTION โœจ

so smtpp is an SMTP gateway service, and its whole thing is letting your internal users reach external SMTP servers. that's it, that's the mission. no cap ๐Ÿซถ


โœจ OPTIONS โœจ

  • -I โ€” Inetd mode. standalone service only, bestie, don't try to mix and match.
  • -d โ€” Daemonize. detaches the service from the console and sends it off to run in the background like the independent main character it is โœจ
  • -t โ€” Be silenT. it will not log start, stop, or accept error records. quiet queen behavior.
  • -u โ€” Never look for username authentication. just don't even go looking for it.
  • -e โ€” External address. the IP address of the interface the proxy should initiate connections from. by default the system decides which address to use, according to the routing table. so like, it'll figure it out, but you can pick for it.
  • -niPATH โ€” (Linux only) switch to the network namespace identified by PATH before opening the listening socket. the current namespace gets saved and restored immediately after binding, so outgoing connections run in the original namespace โ€” unless -ne is also given. iykyk.
  • -nePATH โ€” (Linux only) switch to the network namespace identified by PATH after the listening socket has been bound (and after restoring from -ni if that applied). both of these options accept any namespace file path (e.g. /var/run/netns/myns or /proc/PID/ns/net) and they require CAP_SYS_ADMIN. yes, really. ๐Ÿ”ฅ
  • -i โ€” Internal address. the IP address the proxy accepts connections to. by default, connections to any interface are accepted โ€” and bestie, it's usually unsafe ๐Ÿ™ˆ. you can also specify Unix domain sockets with the -iunix:/path/to/socket syntax (e.g., -iunix:/var/run/smtpp.sock). on Linux, abstract sockets use the -iunix:@socketname syntax.
  • -p โ€” Port. the port the proxy listens on for incoming connections. default is 587. ๐Ÿ“ฎ
  • -h โ€” Default destination.</h> it's used when the target address isn't specified by the user.
  • -x โ€” Disable STARTTLS support. STARTTLS is not announced in the EHLO response, and the STARTTLS command is not accepted. periodt.
  • -l โ€” Log. by default, logging goes to stdout. if logfile is specified, logging goes to a 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) that has SMTP authentication support. set the client to use internal_ip and port as its SMTP server. ๐ŸŒธ

the address of the real SMTP server has to be configured as 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 that SMTP server. heads up: the login itself may contain an @ sign, so don't panic when you see two of them ๐Ÿ’€

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. literally can't do it, the vibes don't allow it.

when running as a 3proxy service (not as a standalone binary), STARTTLS is supported and announced in the EHLO response โ€” unless you disabled it 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. slay. โœจ

if the destination server does not support STARTTLS, the TLS handshake with the client fails. that's just how it is, no cap ๐Ÿ˜ญ

โœจ BUGS โœจ

report all bugs to 3proxy@3proxy.org ๐Ÿ› (be nice to them, they're doing their best)


โœจ SEE ALSO โœจ

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


โœจ AUTHORS โœจ

3proxy is designed by Vladimir Dubrovin <vlad@3proxy.org> ๐Ÿ’œ


and that's the whole page, bestie ๐Ÿซถ go forth and proxy your mail, and remember: it's 3proxy version 0.9, dated May 2026, and this was the smtpp(8) page from the Universal proxy server manual. mwah ๐Ÿ’…โœจ

๐Ÿ“ฆ where this page comes from