Ошибка аутентификации SMTP в PHPMailer: не удалось аутентифицироваться

Это мой код для моей почтовой системы на моем сайте, основанный на PHPMailer.
И у меня есть ошибка аутентификации с SMTP, перепробовал много решений от stackoverflow, проверил и перепроверил каждую деталь, пароль, электронную почту.
Но может быть простая ошибка с моей стороны.

PHPMailer 5.2.13

Версия PHP 5.3.10-1ubuntu3.20

и используя мой веб-хостинг SMTP-сервис

include_once("PHPMailerAutoload.php");

$para       = "testTarget@domain";
$nome       = $_POST['nome'];
$email      = $_POST['email'];
$telefone   = $_POST['telefone'];
$assunto    = $_POST['assunto'];
$msg        = $_POST['msg'];
$mail       = new PHPMailer(true);
$pop        = new POP3();
$msg_final  = "";

//MSG Build
$msg_final .= "Telefone: ".$telefone."\n\n<br />";
$msg_final .= "Assunto: ".$assunto."\n\n<br />";
$msg_final .= "Email: ".$email."\n\n<br /><br />";
$msg_final .= $msg;

try{
$mail->SetFrom($email, $nome);
$mail->AddReplyTo($email, $nome);

$mail->Subject = $assunto;
$mail->MsgHTML($msg_final);

$mail->AddAddress($para, "Central Pires");

$mail->CharSet = 'UTF-8';

//Doesnt work anyway
$pop->Authorise('imap.server', 143, 30, 'no-reply=server', 'pass', 0);

$mail->IsSMTP();
$mail->Host = "smtp.hostserver.domain";
$mail->SMTPSecure = "tls"; //ssl
$mail->SMTPDebug = 0;
$mail->SMTPKeepAlive = true;
$mail->SMTPAuth = true;
$mail->Port = 587; //or 465
$mail->Username = "[email protected]";
$mail->Password = "password";

$mail->Send();
} catch (phpmailerException $e) {
echo $e->errorMessage();
} catch (Exception $e) {
echo $e->getMessage();
}

Я попытался обновить обновить мой PHPMailer, проверил OpenSSL включен.

Проверил порты и адрес сервера, я попытался войти с электронной почтой без ответа на сервере и работает нормально

0

Решение

Вот мой рабочий пример, может быть, поможет вам:

$strTo = array("[email protected]");

require 'PHPMailer/PHPMailerAutoload.php';
$email = new PHPMailer();
$email->From      = $email_from;
$email->FromName  = $name;
$email->Subject   = $subject;
$email->Body      = $body;
$email->AddReplyTo($email_from, $name);

foreach($strTo as $receiver){
$email->AddAddress( $receiver );
}
if(isset($_FILES['fileAttach'])){
$name_file = $_FILES['fileAttach']['name'];
$path_file  = $_FILES['fileAttach']['tmp_name'];

$email->AddAttachment( $path_file ,$name_file );
}

$flgSend = $email->Send();
if($flgSend)
{
//success
}else{
//error
}
0

Другие решения

Других решений пока нет …

По вопросам рекламы [email protected]