_smtpd - UnderSMTPD, the underscore SMTP daemon
#make some aliases echo 'username: "|someprogram and args"' > /etc/aliases
#inetd setup echo "smtp stream tcp nowait mail /usr/local/bin/_smtpd" >>/etc/inetd.conf echo "_smtpd: my.mail.server.ip" >>/etc/hosts.allow echo "_smtpd: ALL" >>/etc/hosts.deny
#or add an smtp file to /etc/xinetd.d/ service smtp { socket_type = stream protocol = tcp wait = no user = mail server = /usr/local/bin/_smtpd }
This is a minimal SMTP server which only forwards mail to pipe destinations in /etc/aliases. It does nothing else. Its intended function is on an internal mail server that forwards mail to other programs on a per address basis.
UnderSMTPD reads /etc/aliases for usernames; if a match is identified the message is piped to the given program. Any problems executing the program will cause a temporary SMTP error to be returned to the connecting client.
Other kinds of aliases are not recognized and cause a permanent SMTP error to be returned to the connecting client, as do usernames not found in /etc/aliases
UnderSMTPD was originally written to be used with the Request Tracker ticketing system.
UnderSMTPD uses Net::Server::Mail to do all the hard work.
username: |program and args username: "|program and args"
Quotes are not necessary around the pipe symbol, program and arguments but are stripped if present. Line continuations are not supported.
support: |/opt/rt3/bin/rt-mailgate --queue support --action correspond --url http://rt.example.com/ billing: |/opt/rt3/bin/rt-mailgate --queue billing --action correspond --url http://rt.example.com/
Yes.
Ivan Kohler <ivan-undersmtpd@420.am>