sm-archive(1) a sendmail milter to add recipients to messages


sm-archive [-c] [-d n] [-p sendmail-socket] [-t timeout]


Load the configuration file, print a cannonical form of the configuration on stdout, and exit.

-d n
Set the debug level to n.

-p sendmail-socket
Set the socket used for the milter connection to sendmail. This is either "inet:[email protected]" or "local:local-domain-socket-file-name".

-t timeout
Set the timeout in seconds used for communication with sendmail.


sm-archive -c

sm-archive -d 10 -p local:sm-archive.sock


This is now a standard GNU autoconf/automake installation, so the normal "./configure; make; su; make install" works. "make chkconfig" will setup the init.d runlevel scripts. Alternatively, you can use the source or binary RPMs at

Note that this has ONLY been tested on Linux, specifically RedHat Linux. You will need at a minimum a C++ compiler with a minimally thread safe STL implementation. The distribution includes a test.cpp program. If it fails this milter won't work. If it passes, this milter might work.

Modify your by adding the following line in your and rebuild the .cf file

INPUT_MAIL_FILTER(`sm-archive', `S=local:/var/run/sm-archive/sm-archive.sock, F=T, T=C:30s;S:5m;R:5m;E:5m')

Modify the default sm-archive.conf(5) configuration.


The configuration file is documented in sm-archive.conf(5). Any change to the config file, or any file included from that config file, will cause it to be reloaded within three minutes.


Consider the problem of archiving all the mail sent to or from particular email addresses or domains. This milter allows you to configure archive mailboxes for each address or domain. It will add the address of the archive mailbox to messages that pass thru this milter.

The archive milter reads a text configuration file (sm-archive.conf) on startup, and whenever the config file (or any of the referenced include files) is changed. The entire configuration file is case insensitive. If the configuration cannot be loaded due to a syntax error, the milter will log the error and quit. If the configuration cannot be reloaded after being modified, the milter will log the error and send an email to root from [email protected]$hostname. You probably want to added [email protected]$hostname to your /etc/mail/virtusertable since otherwise sendmail will reject that message.


Placeholder for future ideas.


Copyright (C) 2007 by 510 Software Group <[email protected]>

This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation; either version 3, or (at your option) any later version.

You should have received a copy of the GNU General Public License along with this program; see the file COPYING. If not, please write to the Free Software Foundation, 675 Mass Ave, Cambridge, MA 02139, USA.