-1

自分のサーバーに SMF フォーラムをインストールしています。しかし、私が見つけることができない何らかの理由で、SMF は、「apache」と同様に、「from」メールアドレスなしで新しいユーザーアクティベーション用のメールを送信します。明らかに、ほとんどの電子メール サーバーはそれを許可しておらず、電子メールは受信されません。

postmaster アカウントに次の postfix メッセージが表示されます。

<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. 他のアイデアはありますか?

PS: SMF は PHP (SMTP ではなく) でメールを送信するように構成されています。

この問題を解決する方法はありますか?

編集中: 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
4

1 に答える 1

1

Web サーバーがこのローカル ユーザーで実行されているため、送信者はapacheです。

フォーラムが明示的な送信者からメールを送信していることを確認するには、この情報をphp.iniに追加します。

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

-F => 送信者の名前 -f => ヘッダーから

于 2013-07-25T18:30:28.327 に答える