Home Switchboard Unix Administration Red Hat TCP/IP Networks Neoliberalism Toxic Managers
May the source be with you, but remember the KISS principle ;-)
Skepticism and critical thinking is not panacea, but can help to understand the world better

Dual-instance sendmail


Recommended Books

Recommended Links Tutorials Recommended Papers Reference Humor Etc


Dual-instance sendmail with amavisd-new

Mark Martinec, 2003-05-06 (based on initial research by Ricardo Stella) last updated on: 2004-04-16

The most recent version of this document can be found at:

The setup is very similar to the one described in README.sendmail (by Rainer Link) in section 'Scanning incoming/outgoing and relayed mail', except that it uses SMTP protocol over inet socket (instead of pipes to commands) to transfer files between MTA and amavisd-new and back, and that it uses a permanently running second sendmail instance in 'queue only' delivery mode, instead of bringing it up every time a new checked mail comes from amavisd.

Comparing the setup described in this document with the sendmail milter setup, as described in README.milter:

milter - reasons in favour:

dual-MTA - reasons in favour:

The following setup is described in this document:

      ............................   ............................
      : sendmail instance MTA-RX :   : sendmail instance MTA-TX :
      :                          :   :                          :
 25 -----> \ (mqueue-rx)         :   : (mqueue)          / -------> forward
587 ----->  > -queue-            :   : -queue-   ->-----+       :
 ^    :    /     | MAIL_HUB,     :   :   |               \ -------> local
 |    :          v SMART_HOST    :   :   ^                      :  delivery
msp   ...........|................   ....|.......................
                 |                       ^ loopback interface
                 v                       | port 10025
 loopback interf.| port 10024            |
            : $inet_socket_port=10024    |            :
            :                            |            :
            : $forward_method='smtp:'  :
            : $notify_method ='smtp:'  :
            :                                         :
            :    amavisd-new                          :

The setup is based on the recent sendmail (8.12.9 or later) with its set of m4 configuration macros. Because of several security problems with earlier versions of sendmail it is advised to stick to the most recent version, although the functionality needed for this setup has long been available. If a particular macro or feature is not available with some older version, it is usually possible to achieve the same or similar by manually writing a new 'mailer' specification and/or tweaking the .cf file.

We'll prepare two sendmail daemon instances (processes), let's call them MTA-RX (receiving, accepting) and MTA-TX (transmitting, delivering).

For convenience we keep the name of the configuration file and the queue (spool) area at default names for one mailer instance, and choose non-default names for the other. Let's choose the MTA-TX to keep default names, and supply non-default names to MTA-RX explicitly. This will make admin utilities like mailq, newaliases, hoststat and purgestat operate on the outgoing mailer instance unless explicitly told otherwise. It can just as well be the other way around.

MTA-RX (receiving mailer) will be responsible for accepting mail from the Internet or from internal hosts on port 25, optionally accepting local message submissions on tcp port 587 (rfc2476), and for message submissions via sendmail program. It will forward all mail (both for local and for nonlocal recipients) via SMTP protocol (or LMTP) to (a loopback interface) on tcp port 10024, where amavisd daemon will be listening.

MTA-TX (transmitting mailer) will be responsible for accepting checked mail and notifications from amavisd-new via SMTP on the loopback interface ( at tcp port 10025, and will forward all mail to its final destinations, either for local delivery, or delivering outgoing mail to the Internet or to other internal mailers.

Neohapsis Archives - OpenBSD - #2320 - Re Sendmail + MailScanner

Re: Sendmail + MailScanner

From: J Moore (
Date: Mon Jun 28 2004 - 16:52:13 CDT

> On Sat, 2004-06-26 at 03:08 -0400, Carlos A. Carnero Delgado wrote:
> > Hi,
> >
> > is anyone here running MailScanner with sendmail? Which method should I use:
> > sendmail+milter or the dual sendmail setup?

On Mon, Jun 28, 2004 at 01:08:13PM +0000, the unit calling itself Todd T. Fries wrote:

> I'm successfully running sendmail + mailscanner in the dual sendmail
> setup. I wasn't aware mailscanner did a milter plugin, perhaps this is
> a recent thing; threaded perl scares me. So I'll likely stick with the
> dual setup.

According to info at their website, mimedefang does not require
multi-threaded Perl:

Multithreaded mimedefang threads talk to single-threaded

Multiplexor manages a pool of single-threaded Perl slaves that do
the actual filtering.


Maybe someone who has actually tried mimedefang on OBSD will chime in,
but it appears that only sendmail requires re-compilation to run



The Last but not Least Technology is dominated by two types of people: those who understand what they do not manage and those who manage what they do not understand ~Archibald Putt. Ph.D

Copyright 1996-2018 by Dr. Nikolai Bezroukov. was initially created as a service to the (now defunct) UN Sustainable Development Networking Programme (SDNP) in the author free time and without any remuneration. This document is an industrial compilation designed and created exclusively for educational use and is distributed under the Softpanorama Content License. Original materials copyright belong to respective owners. Quotes are made for educational purposes only in compliance with the fair use doctrine.

FAIR USE NOTICE This site contains copyrighted material the use of which has not always been specifically authorized by the copyright owner. We are making such material available to advance understanding of computer science, IT technology, economic, scientific, and social issues. We believe this constitutes a 'fair use' of any such copyrighted material as provided by section 107 of the US Copyright Law according to which such material can be distributed without profit exclusively for research and educational purposes.

This is a Spartan WHYFF (We Help You For Free) site written by people for whom English is not a native language. Grammar and spelling errors should be expected. The site contain some broken links as it develops like a living tree...

You can use PayPal to make a contribution, supporting development of this site and speed up access. In case is down you can use the at


The statements, views and opinions presented on this web page are those of the author (or referenced source) and are not endorsed by, nor do they necessarily reflect, the opinions of the author present and former employers, SDNP or any other organization the author may be associated with. We do not warrant the correctness of the information provided or its fitness for any purpose.

The site uses AdSense so you need to be aware of Google privacy policy. You you do not want to be tracked by Google please disable Javascript for this site. This site is perfectly usable without Javascript.

Last modified: March, 12, 2019