SMTP服务器响应:550无效的简单电​​子邮件功能的收件人

时间:2011-05-29 09:10:27

标签: php email smtp

我正在使用php创建一个网站,通过电子邮件发送确认消息..

编辑我的php.ini,我按照这个演练:

http://php.net/manual/en/ref.mail.php

我下载了一个免费的smtp服务器来测试连接,我使用了端口25,DNS服务器作为localhost。我使用此服务器来测试我发送的电子邮件是否已连接

我使用这个简单的代码来测试mail()函数:

<?php
$to = 'myownemail@yahoo.com';
$subject = 'the subject';
$from = 'email@domain.com';
$message = 'hello';

if(mail($to, $subject, $message, "From: $from"))
  echo "Mail sent";
else
  echo "Mail send failure - message not sent"; ?>

运行时,smtp服务器指示当前活动连接是“myownemail@yahoo.com”。

但网站显示以下错误消息:

SMTP服务器响应:550无效收件人

我该怎么办?我对开发很新,并且第一次使用smtp所以我不知道发生了什么

PS。我在这里得到了smtp服务器&gt; softstack.com/freesmtp.html

2 个答案:

答案 0 :(得分:2)

对于测试,您可以尝试this工具,称为测试邮件服务器工具。它的好处是不会发送实际的电子邮件,因此会向您的帐户发送垃圾邮件,但会在桌面上保存/打开电子邮件,这些电子邮件将会发送给您。您可以通过这种方式检查标头,并更轻松,更快地进行调试。请注意,它在生产和远程测试中毫无用处。这不是为了那个。

答案 1 :(得分:0)

从引号内删除请求标头中的$from,然后尝试使用有效的电子邮件地址。

if(mail($to, $subject, $message, "From: " . $from))