У меня проблема, с моим кодом ниже я получаю это сообщение об ошибке: Сообщение не может быть отправлено. Ошибка отправителя: Ошибка SMTP: Не удалось получить следующие получатели:! Censored!PHPmailer не работает получатель
Я просмотрел Host, Порт, Имя пользователя, Пароль, Получатель и все правильно, в чем проблема? Спасибо!
Не могли бы вы объяснить слишком Потому что Im новой для PHP-кодирования
<?php
require 'PHPMailerAutoload.php';
$mail = new PHPMailer;
$name = $_POST['name'];
$email = $_POST['email'];
$subject = $_POST['amne'];
$message = $_POST['message'];
//$mail->SMTPDebug = 3; // Enable verbose debug output
$mail->isSMTP(); // Set mailer to use SMTP
$mail->Host = '!Censored!'; // Specify main and backup SMTP servers
$mail->SMTPAuth = true; // Enable SMTP authentication
$mail->Username = '!Censored!'; // SMTP username
$mail->Password = '!Censored!'; // SMTP password
$mail->SMTPSecure = 'tls'; // Enable TLS encryption, `ssl` also accepted
$mail->Port = 587; // TCP port to connect to
$mail->From = $email;
$mail->FromName = $name;
$mail->addAddress('!Censored!'); // Add a recipient
$mail->addAttachment('/var/tmp/file.tar.gz'); // Add attachments
$mail->addAttachment('/tmp/image.jpg', 'new.jpg'); // Optional name
$mail->isHTML(true); // Set email format to HTML
$mail->Subject = $subject;
$mail->Body = $message;
$mail->AltBody = $message;
if(!$mail->send()) {
echo 'Message could not be sent.';
echo 'Mailer Error: ' . $mail->ErrorInfo;
} else {
echo 'Message has been sent';
}
EDIT: Я нашел эту проблему, проблема не в самом PHP коде. Он был в контактной форме. Проблема возникла, когда я поставил переменные в виде имен и писем. Если письмо не проверено, оно не работает.
Поскольку вы не хотите, чтобы показать адрес электронной почты, имя пользователя и пароль (который прекрасно, кстати), не могли бы вы перепроверить, что они правы, просто чтобы сделать что проблема связана с самим кодом? –
Попробуйте установить $ mail-> SMTPSecure = 'tls'; to $ mail-> SMTPSecure = 'ssl'; – Joci93
Нет, не переключайтесь на 'tls'. Установите '$ mail-> SMTPDebug = 2;', и вы увидите протокол SMTP, который, вероятно, скажет вам, что случилось. Вы также должны прочитать [документы по устранению неполадок] (https://github.com/PHPMailer/PHPMailer/wiki/Troubleshooting). – Synchro