php邮件可以工作,但我';我无法向公司webmail发送邮件

php邮件可以工作,但我';我无法向公司webmail发送邮件,php,apache,email,joomla,Php,Apache,Email,Joomla,我正试图在joomla网站上设置一个联系人表单模块。联系人模块适用于我的每个个人电子邮件地址,例如xxxxxxxxxxxx@gmail.com或xxxxxxxxxxxx@libero.it,等等。但是当我用我客户公司的邮件收件人测试它时,邮件功能无法正常工作 为了获得有关失败的更多信息,我将mailsender属性设置为我的个人邮件地址,如下所示: $mailSender->setSender('xxxxxxx@libero.it'); $mailSender->addReplyTo

我正试图在joomla网站上设置一个联系人表单模块。联系人模块适用于我的每个个人电子邮件地址,例如xxxxxxxxxxxx@gmail.com或xxxxxxxxxxxx@libero.it,等等。但是当我用我客户公司的邮件收件人测试它时,邮件功能无法正常工作

为了获得有关失败的更多信息,我将mailsender属性设置为我的个人邮件地址,如下所示:

$mailSender->setSender('xxxxxxx@libero.it');
$mailSender->addReplyTo('xxxxxxx@libero.it');
这就是我得到的:

原始信息于2012年10月21日星期日15:05:00+0200时收到 从…起apache@localhost

-----以下地址有永久性致命错误-----

info@xxxxxx.it
(原因:553 5.3.0…此处没有此类用户)
(扩展自:info@xxxxxx.it)
-----会议记录如下-----

。。。与[127.0.0.1]交谈时:
>>>资料

这可能是因为发件人的电子邮件不是您试图向其发送电子邮件的邮件列表中的注册成员。某些邮件列表仅接受来自注册为成员的电子邮件地址的电子邮件(可在邮件列表选项中的“允许发件人”中进行管理)。

您正在通过本地主机转发邮件(您正在与
127.0.0.1
),因此,您的本地sendmail安装可能认为它应该为您的域处理邮件,而不仅仅是中继。系统中没有名为
info
的用户,因此返回错误
550此处没有此类用户

检查
/etc/mail/local host names
,查看是否列出了域,如果是,请将其注释掉,然后使用
服务sendmail restart
重新启动sendmail

另外,请验证您是否允许在
/etc/mail/access
中中继本地主机,我的文件在CentOS 5.8和Sendmail 8.13.8上看起来像这样

Connect:localhost.localdomain           RELAY
Connect:localhost                       RELAY
Connect:127.0.0.1                       RELAY

另一种选择是使用real mail服务器作为SMTP中继,而不是在
localhost
上发送邮件-我不能说它对于所讨论的域是什么,但可能是
SMTP.example.com
mail.example.com
。另外一个警告是,此服务器可能需要身份验证才能中继来自web服务器的邮件-您需要与管理员联系,并相应地更新PHP代码。

让我看看是否收到了您告诉我的内容: 1) 托管我的joomla网站的服务器有一个邮件“引擎”,用于管理邮件发送请求; 2) 鉴于收件人info@xxxxxx.it位于收集其调用127.0.0.1的请求的同一邮件服务器上

3) 找不到名为info的用户

事实上,我对我客户的公司webmail或webserver没有任何控制权

我可以屏蔽请求以不显示它来自本地主机吗?还有其他解决办法吗?
对不起,我的英语不好……

我无法控制网络邮件,也无法控制我客户公司的服务器,我只能通过ftp访问我当前创建的网站的根目录。我可以使用php脚本执行您建议的测试吗?很遗憾,不可以,您需要root或sudo访问权限才能更改该文件。另一个选项是不通过localhost SMTP服务器发送邮件。您确实会失去一些健壮性(如果您的web服务器无法访问邮件服务器),但它应该可以工作。很难说主机是什么,但可能是mail.example.com或smtp.example.com。答案更新一致我有一个类似的问题。这解决了我的问题
... while talking to [127.0.0.1]:
>>> DATA
<<< 553 5.3.0 <info@xxxxxx.it>... No such user here
550 5.1.1 info@xxxxxx.it... User unknown
<<< 503 5.0.0 Need RCPT (recipient)
Reporting-MTA: dns; xxxxxx.yyyyyyy.com
Arrival-Date: Sun, 21 Oct 2012 15:05:00 +0200

Final-Recipient: RFC822; info@xxxxxx.it
Action: failed
Status: 5.3.0
Remote-MTA: DNS; [127.0.0.1]
Diagnostic-Code: SMTP; 553 5.3.0 <info@xxxxxx.it>... No such user here
Last-Attempt-Date: Sun, 21 Oct 2012 15:05:01 +0200
 $mailSender = &JFactory::getMailer();
$mailSender->addRecipient($recipient);

$mailSender->setSender('xxxxxxxxxxxxx@libero.it');
$mailSender->addReplyTo('xxxxxxxxxxxxx@libero.it');

$mailSender->setSubject('Richiesta informazioni da sito web');
$mailSender->setBody($myMessage);

if ($mailSender->Send() !== true) {
  $myReplacement = '<span style="color: ' . $error_text_color . ';">' . $errorText . '</span>';
  //header("Location: $url",303);
  print $myReplacement;
  return true;
}
else {
  $myReplacement = '<span style="color: '.$thanksTextColor.';">' . $pageText . '</span>';
  print $myReplacement;
  return true;
}
Connect:localhost.localdomain           RELAY
Connect:localhost                       RELAY
Connect:127.0.0.1                       RELAY