PHPMailer SMTP错误550

时间:2010-10-24 02:01:31

标签: php smtp phpmailer

我正在使用PHPMailer通过SMTP在共享服务器上发送电子邮件(我的托管服务是Softsys)。电子邮件正好被发送到同一服务器上的电子邮件地址(即@域是我的webdomain)。但是,当我尝试将收件人更改为@gmail(或任何外部地址)时,我收到以下错误日志:

SMTP -> get_lines(): $data was ""
SMTP -> get_lines(): $str is "550 <jDoe@gmail.com> No such user here"
SMTP -> get_lines(): $data is "550 <jDoe@gmail.com> No such user here"
SMTP -> FROM SERVER:550 <jDoe@gmail.com> No such user here
SMTP -> ERROR: RCPT not accepted from server: 550 <jDoe@gmail.com> No such user here
SMTP -> get_lines(): $data was ""
SMTP -> get_lines(): $str is "250 OK"
SMTP -> get_lines(): $data is "250 OK"
SMTP -> FROM SERVER: 250 OK
Message could not be sent.
Mailer Error: SMTP Error: The following recipients failed: jDoe@gmail.com

这是我的服务器或我的代码的问题吗?我应该联系我的服务器管理员吗?提前感谢您的帮助!

这是我的代码

require("class.phpmailer.php");
$mail = new PHPMailer();

$mail->IsSMTP();
$mail->Host = "mail.mywebsite.com";
$mail->SMTPAuth = true;
$mail->Username = "myemail";
$mail->Password = "********";
$mail->From = "myemail@mywebsite.com";
$mail->FromName = "John Doe";
$mail->AddAddress("jDoe@gmail.com");    

$mail->IsHTML(true);

$mail->Subject = "Here is the subject";
$mail->Body    = "This is the HTML message body <b>in bold!</b>";
$mail->AltBody = "This is the body in plain text for non-HTML mail clients";

if(!$mail->Send())
{
   echo "Message could not be sent. <p>";
   echo "Mailer Error: " . $mail->ErrorInfo;
   exit;
}

echo "Message has been sent";

2 个答案:

答案 0 :(得分:0)

您的帐户是否有shell访问权限?然后你可以用“dig mx gmail.com”命令查看一些像MX记录这样的东西。如果没有,最好的办法是联系你Hoster。我猜在同一台服务器上有人配置了域gmail.com。我猜他们使用exim作为MTA(因为消息响应)。 可能是,由于服务器上的gmail.com域,exim正试图解析它自己的host = local delivery。 您是否尝试过其他域/电子邮件地址?

答案 1 :(得分:0)

如果您尝试向gmail发送电子邮件,gmail表示jDoe@gmail.com不存在,请尝试使用jdoe@gmail.com(删除大写字母)。如果没有,请尝试使用您真正了解的电子邮件。