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