Lỗi xác thực SMTP bằng PHPMailer [đã đóng]


1

Tôi đang sử dụng PHPMailer để gửi một biểu mẫu cơ bản đến địa chỉ email nhưng tôi gặp phải lỗi sau:

Lỗi SMTP: KHÔNG THỂ XÁC THỰC. Tin nhắn không thể được gửi. Lỗi Mailer: Lỗi SMTP: Không thể xác thực. Lỗi máy chủ SMTP: VXNlcm5hbWU6

Điều kỳ lạ là nếu tôi cố gắng gửi nó một lần nữa, nó hoạt động! Mỗi lần tôi gửi biểu mẫu sau lỗi đầu tiên, nó hoạt động. Nhưng nếu tôi để nó trong vài phút và sau đó thử lại thì tôi lại gặp lỗi tương tự.

Tên người dùng và mật khẩu phải đúng vì đôi khi nó hoạt động tốt. Tôi thậm chí đã tạo tập lệnh (rất cơ bản) sau đây chỉ để kiểm tra và tôi đã nhận được kết quả tương tự

<?php

require("phpmailer/class.phpmailer.php");

$mail = new PHPMailer();

$mail->IsSMTP();
$mail->Host = "smtp.host.com";
$mail->SMTPAuth = true;
$mail->Username = "mail@mail.com";
$mail->Password = "password";

$mail->From = "mail@mail.com";
$mail->FromName = "From Name";
$mail->AddAddress("mail@mail.com");
$mail->AddReplyTo("mail@mail.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";

?>

Tôi không nghĩ rằng điều này có liên quan, nhưng tôi chỉ thay đổi lưu trữ của mình thành một máy chủ chia sẻ Linux. Bất cứ ý tưởng tại sao điều này đang xảy ra?

Cảm ơn!

*** CẬP NHẬT 02/06/2012
Tôi đã làm một số bài kiểm tra. Kết quả:

Tôi đã thử nghiệm tập lệnh trong máy chủ IIS và nó hoạt động tốt. Lỗi dường như chỉ xảy ra trong máy chủ Linux.

Ngoài ra, nếu tôi sử dụng máy chủ thư gmail, nó hoạt động tốt ở cả IIS và Linux.

Nó có thể là một vấn đề với cấu hình của máy chủ Linux của tôi không ??

*** CẬP NHẬT 2
Tôi đã thử swiftmail và nó hoạt động tốt :-) vì vậy tôi đang bán PHPMailer


Sẽ rất hữu ích khi biết thiết lập của máy chủ nơi đặt phpmailer. Chẳng hạn như các mô-đun OS và PHP được cài đặt cũng như phiên bản PHP
Frostalf

Câu trả lời:


0

Tôi không chắc vấn đề là máy chủ hay PHPMailer, nhưng tôi đã thử Swiftmail và nó hoạt động tốt. Tôi thường muốn biết TẠI SAO một cái gì đó không hoạt động nhưng tôi không thể tìm thấy vấn đề và dịch vụ kỹ thuật cũng bị mất như tôi. Vì vậy, từ giờ tôi sẽ gắn bó với Swiftmail cho các dự án của mình.

Cảm ơn đã giúp đỡ!


sử dụng wireshark xem những gì cho thấy
barlop

-1

Bạn có thể thử yêu cầu kết nối TLS như thế này:

$mail->SMTPAuth   = true;
$mail->SMTPSecure = "tls";

câu hỏi / câu trả lời này trên SO có thêm thông tin Bao gồm khuyến nghị sử dụng thư viện php PEAR thay vì phpmailer.


Xin chào Jeremy. Tôi đã thử nghiệm tùy chọn tls và tôi đã gặp lỗi sau: Chuỗi ngôn ngữ không tải được: tls Tin nhắn không thể gửi được. Lỗi Mailer: Chuỗi ngôn ngữ không tải được: tls Sau đó, nếu tôi thử ngay sau đó, nó hoạt động! Tôi sẽ thử nó với Pear. Cảm ơn!
Javier

rất tốt. Bạn đã cập nhật câu trả lời của mình để cho biết bạn đã thử swiftmail. Bạn nên đăng nó như một câu trả lời và sau đó chấp nhận nó (không sao để trả lời câu hỏi của bạn ... thực tế, nó được khuyến khích ở đây)
Jeremy W
Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.