SMF“<apache>:发件人地址必须包含域”</apache>

时间:2013-07-17 12:47:23

标签: email postfix-mta email-validation smf-forum

我在自己的服务器上安装了一个SMF论坛。但由于某些原因我无法找到,SMF发送电子邮件以进行新的用户激活而没有任何“来自”电子邮件地址,就像“apache”一样。 显然,大多数电子邮件服务器都不允许这样做,并且永远不会收到电子邮件。

我将以下后缀邮件发送到我的邮局主管帐户。

<email@dest.example.com>: host dest.example.com[255.255.255.255] said: 501
<apache>: sender address must contain a domain (in reply to MAIL FROM
command)

Reporting-MTA: dns; my.example.com
X-Postfix-Queue-ID: 62653A403D7
X-Postfix-Sender: rfc822; apache
Arrival-Date: Sat, 13 Jul 2013 01:44:57 +0200 (CEST)

Final-Recipient: rfc822; email@dest.example.com
Action: failed
Status: 5.0.0
Remote-MTA: dns; dest.example.com
Diagnostic-Code: smtp; 501 <apache>: sender address must contain a domain

Return-Path: <apache>
Received: by my.example.com (Postfix, from userid 48)
    id 62653A403D7; Sat, 13 Jul 2013 01:44:57 +0200 (CEST)
To: email@dest.example.com
Subject: EXAMPLE TITLE
X-PHP-Originating-Script: 48:Subs-Post.php
From: "MY PAGE TITLE" <noreply@my.example.com>
Date: Fri, 12 Jul 2013 23:44:57 -0000
X-Mailer: SMF
Mime-Version: 1.0
Content-Type: multipart/alternative; boundary="SMF-2b3ce4fbf69b6d2e40cb7c5b15d5a97c"
Content-Transfer-Encoding: 7bit
Message-Id: <20130712234457.62653A403D7@my.example.com>

我认为问题可能是:

  1. 缺少php / apache / postfix的某些配置。
  2. SMF需要一些额外配置或有错误。
  3. 还有其他想法吗?
  4. PS:SMF配置为通过PHP(而不是SMTP)发送电子邮件

    如何解决这个问题?

    EDITING: 在SMTP通信之后。

     In:  220 server.domain.com ESMTP Exim 4.69 Fri, 26 Jul 2013 12:51:21 -0400
     Out: EHLO my.example.com
     In:  250-server.domain.com Hello my.example.com [79.143.177.174]
     In:  250-SIZE 20971520
     In:  250-PIPELINING
     In:  250-AUTH PLAIN LOGIN
     In:  250-STARTTLS
     In:  250 HELP
     Out: MAIL FROM:<apache>
     Out: RCPT TO:<email@dest.example.com>
     Out: DATA
     In:  501 <apache>: sender address must contain a domain
     In:  503 sender not yet given
     In:  503-All RCPT commands were rejected with this error:
     In:  503-503 sender not yet given
     In:  503 Valid RCPT command must precede DATA
     Out: RSET
     Out: QUIT
     In:  250 Reset OK
    

1 个答案:

答案 0 :(得分:1)

您的发件人是 apache ,因为您的网络服务器与此本地用户一起运行。

为确保您的论坛从显式发件人发送邮件,您可以将此信息添加到 php.ini

sendmail_path = /usr/sbin/sendmail -t -i -F 'noreply@domain.tld' -f 'forum registration <noreply@domain.tld>'

-F =&gt;发件人姓名 -f =&gt;来自标题