我在自己的服务器上安装了一个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>
我认为问题可能是:
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
答案 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;来自标题