5

我的邮件发送代码:

    $mail = new PHPMailer(true);
    $mail->IsSMTP();

    try {
        $mail->Host = 192.168.205.19;
        $mail->Port = 25;
        $mail->SMTPDebug  = 2;
        $mail->SMTPSecure = "tls";
        $mail->SMTPAuth = true;
        $mail->Username = "mymailadress@mysite.com";
        $mail->Password = "mypassword";

        $mail->From = "mymailaddress@mysite.com";
        $mail->FromName = "My Mail Address";
        $mail->SetFrom("mymailaddress@mysite.cm", "My Mail Address");

        $mail->AddAddress('toaddress@mysite.com');

        $mail->Subject = "Test for subject";
        $mail->MsgHTML("Test my mail body");

        if ($mail->Send()) {
            $result = 1;
        } else {
            $result = "Error: " . $mail->ErrorInfo;
        }
    } catch (phpmailerException $e) {
        $result = $e->errorMessage();
    } catch (Exception $e) {
        $result = $e->getMessage();
    }

    return $result;

结果?

SMTP -> FROM SERVER:220 evo.callpex.int Microsoft ESMTP MAIL Service ready at Tue, 27 Nov 2012 17:45:24 +0200 
SMTP -> ERROR: Password not accepted from server: 535 5.7.3 Authentication unsuccessful 

我正在使用 PHPMailer 类发送邮件。和 SMTP。我正在连接到 Exchange 邮件服务器。但我有这个错误。

为什么?

谢谢!

4

3 回答 3

1

可能是您使用的是管理员凭据。不知道为什么,但即使我也无法使用具有管理员凭据的 PHPMailer 发送邮件(可能有一些适用于管理员详细信息的安全措施)。尝试提供任何其他用户凭据,它将起作用。它适用于我的其他用户凭据。

而且,在您的代码中

  $mail->From = "mymailaddress@mysite.com";
  $mail->FromName = "My Mail Address";
  $mail->SetFrom("mymailaddress@mysite.cm", "My Mail Address");

$mail->SetFrom("mailid","name") 本身将设置 From & FromName 值。您无需再次设置。

于 2014-06-20T04:45:09.683 回答
0

我认为你的变量$mail->Host应该是一个字符串$mail->Host = '192.168.205.19';,而不是没有引号。

于 2021-01-04T18:36:37.103 回答
-1

我不知道这是否已排序,但交换服务器通常不支持 SMTP。我相信可以启用 SMTP 或创建 SMTP 连接器。

于 2020-10-28T11:15:00.353 回答