【问题标题】:How to send SMTP emails through another server?如何通过另一台服务器发送 SMTP 电子邮件?
【发布时间】:2017-07-26 04:26:38
【问题描述】:

我正在运行一堆 Debian/Ubuntu 服务器,其中有一个核心主服务器,所有其他 Web 服务器都连接到该服务器。不过,现在,当我们的核心服务器发送电子邮件时(就像某人通过我们的管理 Web GUI 发送电子邮件一样),第一个“Received:”标头列出了我们想要避免的主服务器的地址。

所以我的计划是设置一种方法,通过它应该真正来自的服务器发送电子邮件。因此,当我们从 www.backend.com 的软件发送电子邮件时,我希望标题反映 www.frontend.com。我尝试为 Ubuntu 查找 SMTP 代理,但没有找到太多,除了寻找称为 MTA 的东西。

我玩过 nullmailer 和 msmtp,但我似乎都无法按照我期望的方式工作,例如在 www.backend.com 上为此帐户设置 SMTP 凭据以指向 www.frontend.com 并使前端服务器连接到我们的电子邮件提供商。我正在尝试做的事情可能吗?


编辑 TL;DR

我一直在尝试设置 SMTP 中继服务器,但我无法远程连接到我的 postfix SMTP 服务器。如何在 Debian Ubuntu 上设置简单的电子邮件中继服务器?不确定这是否是正确的术语,因为似乎有数百篇文章解释了如何工作,但我无法找到一篇工作

【问题讨论】:

    标签: email smtp smtpproxy


    【解决方案1】:

    你的MTA是后缀,你想用两次;作为内部网主机和边缘中继。所以第一步是不是删除接收到的标头,而是确保中继被允许并发生,这将在标头中添加“前端”中继。一旦中继功能正常,中继可以删除或替换标题行。

    中继

    在继电器上(前端) docs#relay_from

    mynetworks = 127.0.0.0/8 IP_OF_BACKEND/32 ...others?
    

    在发件人上(BACKEND) relayhost

    relayhost = [www.frontend.com]
    

    在继电器上过滤

    对于简单的过滤器,header_checks 就足够了。

     header_checks = pcre:/etc/postfix/header_checks
    

    (pcre - 确保安装了 postfix-pcre 支持,或者按照下一个链接中的 POSIX regex 调试。)

    通常最好对标头进行清理而不是删除它,因此清理它的文件的示例内容是here,尽管它应该匹配为仅重写从backend而不是所有主机.*接收到的标头.

    因此,在检查了您想要替换的实际接收到的标头并决定将哪些部分保留为正则表达式组之后,您的替换可能很简单,如下所示:

     /^Received: from www.backend.com.*id\s(\w+).*/
       REPLACE Received: from [127.0.0.1] (localhost [127.0.0.1]) with SMTP id $1
    

    删除接收到的标头本质上是相同的,但可以使用IGNORE 操作而不是REPLACE,并且需要更简单的正则表达式,因为没有要构建的替代标头。但是,删除标头更有可能导致问题,因为您添加 Milters 等以满足以后的要求。

    【讨论】:

    • 用了两次!哇,我什至没有想到。我会把这个想法投入测试,当我有结果时回来
    • 我的主要问题似乎只是首先在前端设置后缀服务器。我关注了help.ubuntu.com/lts/serverguide/postfix.html,但在 telnet 快结束时我没有看到 250-STARTTLS250-AUTH LOGIN PLAIN
    • 您可能需要使用 sysytemctl 重新启动它,查看日志,检查 netstat -an 并检查您的任何答案是否破坏了它生成的配置行。如果日志没有指向针对特定问题,然后在您的另一台机器上使用带有默认配置的 diff 可能有助于限制您需要查看的行。
    • 有效!原来我不需要两个,我只是不知道如何正确设置 SMTP 服务器...... :) 但现在我的后端可以 SMTP 到前端,就像它通常对真实目的地所做的那样,现在只是中继它到真正的目的地,出于安全原因我想删除的所有内容都完全不在我的标题中,感谢major.io/2013/04/14/… 非常感谢,你让我走上了正确的轨道,我非常感谢你
    猜你喜欢
    • 2018-10-17
    • 1970-01-01
    • 2013-03-12
    • 2016-02-09
    • 2017-05-19
    • 2012-03-21
    • 1970-01-01
    • 1970-01-01
    • 2014-10-27
    相关资源
    最近更新 更多