proxsmtpd.conf(5)
π proxsmtpd.conf β the config file for proxsmtpd(8) π
okay bestie, so this is the file-formats manual page for proxsmtpd.conf, which is literally the glow-up your mail filter needs. it's the config file for proxsmtpd(8) and i'm about to walk you through every single line of it. no skips. no cap. π«Ά
β¨ DESCRIPTION β¨
so here's the vibe: proxsmtpd(8) reads a configuration file when it starts up. where does it live? that depends on how you compiled proxsmtp, but it should usually be in either the /usr/local/etc/ or /etc/ directories. and if proxsmtpd(8) can't find its config file, it will print a warning when it starts up β along with the location it's expecting to find it in. so you're never just left guessing, she tells you where she looked. π
you can also specify a different location for a config file by passing the -f argument to proxsmtpd(8). cute, flexible, iconic.
the settings are specified one per line. the setting names come first, followed by a colon and then the value. comments start with the # character on a line of their own. whitespace is ignored at the beginning of line, end of line and around the colons β so you can be a little messy with it, she doesn't care. π
a sample configuration file can be found in the doc/ directory of the proxsmtp distribution. go look, it's giving reference material.
πΈ SETTINGS πΈ
the various settings are as follows:
FilterCommandβ this is the command used to filter email through. if not specified then no filtering will be done. specify all the arguments the command needs as you would on a command-line.
[ Default: no filtering ]
FilterTimeoutβ the amount of time in seconds to wait for theFilterCommandto process email data.
[ Default: 30 seconds ]
FilterRejectβ the rejection message used whenFilterTypeis set to'reject'.
[ Default: 530 Email Rejected ]
FilterTypeβ when set to'pipe'the email data is piped through theFilterCommandusing standard in and standard out. when set to'file'the email data is saved to a file and the file name is passed to theFilterCommandusing theEMAILenvironment variable.
when set to 'reject' then email is immediately rejected using message defined by the FilterReject option. (yes, instant. no takebacks.)
[ Default: pipe ]
Headerβ a header to add to scanned messages. put an empty value to suppress adding a header. you can include the following special formatting characters in the string to include special values:%iClient IP Address%lLocal IP Address%dCurrent Date
you can also include the standard \r or \n escapes.
[ Optional ]
KeepAlivesβ on slow connections the server will sometimes timeout beforeproxsmtpd(8)is finished filtering the file. this option sendsNOOP's to the server to keep the connection alive. specify the number of seconds, or0to disable. she's just texting "u still there??" to the server. π±
[ Default: 0 ]
Listenβ the address and port to listen for SMTP connections on. see syntax of addresses below.
[ Default: port 10025 on all local IP addresses ]
MaxConnectionsβ specifies the maximum number of connections to accept at once.
[ Default: 64 ]
OutAddressβ the address of the SMTP server to send email to once it's been scanned. see syntax of addreses below.
[ Required ]
Skipβ whether to skip certain kinds of connections or email from running through the filter. specify'authenticated'to skip SMTP authenticated connections.
[ Optional ]
TempDirectoryβ the directory to write temp files to.
[ Default: /tmp ]
TimeOutβ the number of seconds to wait while reading data from network connections.
[ Default: 180 seconds ]
TransparentProxyβ setting this option to'client'enables transparent proxy support, which allows you to route all SMTP traffic that's going through a gateway throughproxsmtpwhich will then send it on to its final destination. this setup usually involves firewall rules which redirect traffic toproxsmtp, and the setup varies from OS to OS.
specify 'full' to enable a true transparent proxy where neither the client or server are aware of the proxy by way of the packet headers. this setup usually involves routers to redirect traffic to proxsmtp, and the setup varies from OS to OS. spooky invisible proxy energy β¨
[ Default: off ]
Userβ the user to run as. if this option is specified thenproxsmtpd(8)must be started as root. it will then drop root privileges and run as the specified user. the user can either be a name or a numerical user id.
[ Optional ]
XClientβ send anXCLIENTcommand to the receiving server. this is useful for forwarding client addresses and connection info to servers that support this feature.
[ Default: off ]
π¦ ADDRESSES π¦
addresses can be specified in multiple formats:
- Unix local addresses can be specified by specifying their full path. (ie:
'/var/run/socket'). - IP addresses can be specified using dotted notation with a colon before the port number (ie:
'127.0.0.1:3310'). - IPv6 addresses are implemented but disabled. the code needs testing. (she's there, she's just not ready to come out yet π)
π SEE ALSO π
π AUTHOR π
Stef Walter <stef@memberwebs.com>
and that's the whole page, bestie. every setting, every default, every bracket. go forth and configure. π β¨
this page came from the proxsmtp source, and it's dated September, 2004 β so she's an elder icon but she still slays. proxsmtpd.conf(5), periodt. π
π¦ where this page comes from
- debian bookworm: proxsmtp 1.10-4
- debian trixie: proxsmtp 1.10-5
- ubuntu jammy: proxsmtp 1.10-2.1build1
- ubuntu noble: proxsmtp 1.10-5
- ubuntu questing: proxsmtp 1.10-5
- ubuntu resolute: proxsmtp 1.10-6
- ubuntu stonking: proxsmtp 1.10-6
- Copyright (c) 2004, Stefan Walter
- π girlified by deepseek-ai/DeepSeek-V4.1-Flash on : a language model's rewrite of the original, under its terms