如何设置sendmail将所有邮件转发到外部MTA?

我们有多个应用程序,目前正在谈论SMTP到外部MTA。 电子邮件有任意的目标域(他们是发送给我们的用户的电子邮件),但都来自同一个内部域([email protected])。

我想设置一个内部的MTA(我想用sendmail)将所有的邮件排队,然后让内部的MTA将这些邮件转发到外部的MTA,因为外部的MTA偶尔会出现故障,这会导致我们的应用程序出现各种问题。 我想我可以将sendmail设置为排队中间件。

如果上述假设是正确的,那么sendmailconfiguration是什么样的? “mailertable”function看起来很有希望,“SMART_HOST”也是如此。

在探索这些可能性之前有什么想法?

这种configuration(将所有邮件中继到另一个MTA)称为“nullclient”configuration。 一些指南可用:

  • 后缀: http : //www.postfix.org/STANDARD_CONFIGURATION_README.html#null_client
  • Sendmail: http : //www.sendmail.org/m4/features.html

对于sendmail,你应该需要它:

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

一些发行版(openSuSE)为此提供了一个单独的“nullclient.mc”configuration文件。

SMART_HOST参数正是您正在查找的内容。 具体的configuration细节将取决于您的sendmail版本,但是相当简单。 在configuration时,您将指定外部MTA的名称作为智能主机。 (请确保您正在configuration的机器也可以parsing智能主机的名称。)

这个问题与之前提出的问题非常相似。

考虑使用SSMTP作为我的答案在这里的选项。

将自己的复杂性和使用Sendmail的安全性问题省去一个简单的任务。

我很好地清除了sendmail,并select了一个名为“nullmailer”的“最小中继服务器”。

我在这里发表了博文,对我的情况来说效果很好 – 你的里程可能会有所不同;-)

SMART_HOST确实是正确的选项,但也是nullclient 。 例子:

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

基本的区别在于,与SMART_HOST相反,nullclient也将本地用户的消息转发给远程主机。 SMART_HOST仅向远程主机转发非本地用户的消息。 在以下问题中,以下选项也可能会有用:LOCAL_RELAY,MAIL_HUB,LUSER_RELAY

我在这里find了这些选项的一个很好的解释: http : //docstore.mik.ua/orelly/other/Sendmail_3rd/1565928393_sendmail3-chp-4-sect-5.html

也看到这个postsendmail foward本地邮件转发主机

我知道这个问题很老,但似乎适合发布信息。 我花了一段时间把所有的东西收集在一起。

使用postfix,这是我的首选邮件软件,configuration选项是relayhost。