如何使用phpmailer与smtp.office365.com发送邮件

时间:2015-05-06 14:02:19

标签: phpmailer office365

我使用下面的代码发送邮件,但这对我不起作用。请帮我解决这个问题。

require 'class.phpmailer.php';
require 'class.smtp.php';
$subject="Test PHP mailer";
$message="Hi";

$mail   = new PHPMailer();
$mail->IsSMTP();
$mail->SMTPAuth   = true;                  // enable SMTP authentication
$mail->SMTPSecure = "tls";                 // sets the prefix to the servier - TLS/SSL
$mail->Host       = "smtp.office365.com";      // sets GMAIL as the SMTP server - smtp.gmail.com
$mail->Port       =  587;                   // set the SMTP port for the GMAIL server - Gmail SMTP port (SSL): 465 **** Gmail SMTP port (TLS): 587
$mail->Username   = "";  // other email address
$mail->Password   = "";            // password
$mail->SetFrom("customercare@test.com", "John");
$mail->addReplyTo('customercare@test.com', 'John');
$mail->Subject    = $subject;
//$mail->IsHTML(true);
$mail->MsgHTML($message);
$mail->AddAddress('abc@example.com');
if (!$mail->send()) {
    echo "Mailer Error: " . $mail->ErrorInfo;
} else {
    echo "Message sent!";
}

显示错误消息:

邮件程序错误:SMTP错误:数据未被接受.STP服务器错误:DATA END命令失败详细信息:5.7.60 SMTP;客户端无权作为此发件人SMTP代码发送:550

1 个答案:

答案 0 :(得分:0)

查看错误消息,这不是代码问题,但是您尝试发送的用户的权限存在问题。

您需要获取您尝试发送的用户,以允许以这种方式使用其帐户,或者您必须找到要使用的其他smtp服务。