【问题标题】:Postfix: Mailgun not triggered within same domain后缀:Mailgun 未在同一域内触发
【发布时间】:2020-05-16 10:25:26
【问题描述】:

配置

我们做了通常的 main.cf(后缀)relay/sasl 条目:

# Amavisd + SpamAssassin + ClamAV
#
content_filter = smtp-amavis:[127.0.0.1]:10024

# Concurrency per recipient limit.
smtp-amavis_destination_recipient_limit = 1

relayhost = [smtp.mailgun.org]:587

smtp_tls_security_level = encrypt
smtp_sasl_auth_enable = yes
smtp_sasl_password_maps = static:login@domain.com:password
smtp_sasl_security_options = noanonymous

这实际上工作得很好,并且邮件传递也可以在 Mailgun 下正确记录。

问题
如果我们在我们的域内发送电子邮件,它不会触发 Mailgun。意思是:如果JohnDoe@ourXYZDomain.com 向JaneDoe@ourXYZDomain 发送电子邮件,则通过postfix 传递。如果 JohnDoe@ourXYZDomain.com 向 JohnDoe@someOtherDomain.com 发送电子邮件,它会通过 Mailgun smtp 传递和记录。

分析
发送同一域内的邮件并且不会引发错误。在查看收到的电子邮件的标题时,它表明 postfix 甚至没有使用 Mailgun。请参阅第 6 行中的 localhost [127.0.0.1]

Subject:test - 00:11
Contact photo
From    johndoe@ourXYZDomain.com    Date    Mon 00:11
Return-Path: <johndoe@ourXYZDomain.com>
Delivered-To: janedoe@ourXYZDomain.com
Received: from mail.ourXYZDomain.com (localhost [127.0.0.1])
    by mail.ourXYZDomain.com (Postfix) with ESMTP id 49KwDw97hggXdtN
    for <janedoe@ourXYZDomain.com>; Sun, 10 May 2020 20:11:12 +0000 (UTC)
Authentication-Results: mail.ourXYZDomain.com (amavisd-new); dkim=pass
    reason="pass (just generated, assumed good)"
    header.d=ourXYZDomain.com
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=
    ourXYZDomain.com; h=user-agent:message-id:subject:subject
    :to:from:from:date:date:content-transfer-encoding:content-type
    :content-type:mime-version; s=dkim; t=1589141471; x=1591733472;
    bh=WonWKNs0MVBQ4Md9bT3TQ0-----=; b=1lp9qX-----YE
    HQwrRVwjLjcPcP/jkjhgjghgfWisfODNZ5xHnQto5Xa
    D6/Wj8fAEpwiu8uG5Ujhugz778gjNZ8UhFXtJf2aK
    1B8iZembDuiIsjg6fKj6snRjA=
X-Virus-Scanned: amavisd-new at mail.ourXYZDomain.com
Received: from mail.ourXYZDomain.com ([127.0.0.1])
    by mail.ourXYZDomain.com (mail.ourXYZDomain.com [127.0.0.1]) (amavisd-new, port 10026)
    with ESMTP id xzds0121548c for <janedoe@ourXYZDomain.com>;
    Sun, 10 May 2020 20:11:11 +0000 (UTC)
Received: from _ (localhost [127.0.0.1])
    by mail.ourXYZDomain.com (Postfix) with ESMTPSA id 49KwDv54101252XdtL
    for <janedoe@ourXYZDomain.com>; Sun, 10 May 2020 20:11:11 +0000 (UTC)
MIME-Version: 1.0
Content-Type: text/plain; charset=US-ASCII;
    format=flowed
Content-Transfer-Encoding: 7bit
Date: Mon, 11 May 2020 00:11:11 +0400
From: johndoe@ourXYZDomain.com
To: janedoe@ourXYZDomain.com
Subject: test - 00:11
Message-ID: <1003f6125a2ff654101214@ourXYZDomain.com>
X-Sender: johndoe@ourXYZDomain.com

我们对此行为没有任何解释。也许我们错过了什么?

感谢您的任何提示

【问题讨论】:

    标签: mailgun postfix-mta


    【解决方案1】:

    当您将邮件从一个 $mydomain 虚拟邮箱发送到另一个 $mydomain 虚拟邮箱时,postfix 不会将其中继到 Mailgun 并在本地传输。

    您需要创建多个 Postfix 实例,其中一个实例将所有邮件中继到 Mailgun 而无需本地投递,第二个实例将侦听 25 端口的收入邮件并将其投递到虚拟邮箱。

    这个解决方案的解释你可以在那里找到:http://www.postfix.org/MULTI_INSTANCE_README.html

    【讨论】:

      【解决方案2】:

      Mailgun 是众多邮件中继服务 之一,主要用于将邮件中继到外部网络。邮件中继是将电子邮件从一台服务器传输到另一台服务器以进行传递的过程。例如,如果您在 A 公司工作并向 B 公司的某人发送电子邮件,则您连接到公司的 SMTP 服务器,然后该服务器将您的电子邮件中继到 B 公司拥有的服务器。

      要在同一网络上发送邮件,您不需要需要中继主机。这里的邮件通过后缀在本地发送到其他用户的帐户。本地邮件取决于 ma​​in.cf 中的 "myorigin" "mydestination" mynetworks" 设置。以下邮件主机配置是一个示例,您可以清楚地了解这些设置。

      /etc/postfix/main.cf:
             myorigin = $mydomain
             mydestination = $myhostname localhost.$mydomain localhost $mydomain
             mynetworks = 127.0.0.0/8 10.0.0.0/24
      
             relayhost = [smtp.mailgun.org]:587
      
             # Optional: forward all non-local mail to firewall
             #relayhost = [firewall.example.com]
      

      您可以在以下链接中找到更多信息

      Postfix Standard Configuration Examples

      【讨论】:

      • 是的,但同样:我们需要使用中继主机,即使在同一个域内进行交换也是如此。
      猜你喜欢
      • 2016-09-19
      • 1970-01-01
      • 1970-01-01
      • 2017-05-05
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2021-07-10
      • 2015-09-15
      相关资源
      最近更新 更多