8

We have multiple applications that currently talk SMTP to an external MTA. The emails have arbitrary destination domains (they're emails to be sent to our users), but all from the same internal domain (support@company.com).

I want to set up an internal MTA (i guess with sendmail) that queues all mails, and have the internal MTA forward these emails to the external MTA, because the external MTA occasionally goes down and this causes various problems in our applications. I figure I can set up sendmail as a queuing middleware.

If the above assumptions are correct, what would the sendmail configuration look like? The 'mailertable' feature looks promising, and so does 'SMART_HOST'.

Any thoughts before I explore these possibilities?

  • Jae
5

SMART_HOST is indeed the right option, but as well nullclient is. Examples:

FEATURE(`nullclient',`mta.external.com') dnl
define(`SMART_HOST',`mta.external.com') dnl

The basic difference is that nullclient, contrary to SMART_HOST, also forwards messages for local users to the remote host. SMART_HOST forwards to the remote host only messages for non-local users. Also following options might prove useful in a situation similar to that described in the question: LOCAL_RELAY, MAIL_HUB, LUSER_RELAY

I have found a great explanation of these options here: http://docstore.mik.ua/orelly/other/Sendmail_3rd/1565928393_sendmail3-chp-4-sect-5.html

Also see this post sendmail foward local mail to relay host

I know the question is old, but seems suitable to post the information. It took me a while to collect all the bits together.

| improve this answer | |
4

Such a configuration (relaying all mail to a single other MTA) is called a 'nullclient' configuration. Some guides are available:

For sendmail, all you should need it:

FEATURE(`nullclient', `mailhub.domain.notused')dnl

Some distros (openSuSE) provide a separate 'nullclient.mc' configuration file for this purpose.

| improve this answer | |
2

The SMART_HOST parameter is exactly what you're looking for. Exact configuration details will depend on your sendmail version, but it's fairly straightforward. You'll specify the name of the external MTA as the smart host when you configure it. (Be sure that the machine you're configuring can resolve the name of the smart host, too.)

| improve this answer | |
2

I steered well clear of sendmail and opted for an 'minimal relay server' called nullmailer.

I blogged about it here and it works well for my scenario - your mileage may vary ;-)

Edit: Thanks to @tanius for the nudge to correct this link ;-)

| improve this answer | |
1

The question is very similar to some that have been asked before.

Consider the option of using SSMTP instead as my answer here.

Save yourself the complexity and security issues of using Sendmail for such a simple task.

| improve this answer | |
  • 1
    ssmtp is unmaintained... – Onlyjob Sep 14 '18 at 12:12
0

With postfix, which is my preferred mail software, the configuration options is relayhost.

| improve this answer | |

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy