PHPMailer, ошибка SMTP на хостинге godaddy

Я знаю, что на этот вопрос много раз отвечали, но godaddy внес некоторые изменения в конфигурацию в начале 2018 года, и я не могу заставить свою веб-форму работать.

Я пытаюсь отправить электронное письмо с помощью PHPMailer через контактную форму с веб-страницы, размещенной на godaddy.

Я использую конфигурацию SMTP Gmail:

$mail = new PHPMailer();
$mail->IsSMTP();
$mail->SMTPDebug = 2;
$mail->SMTPAuth = true;
$mail->SMTPSecure = 'ssl';
$mail->Host = "smtp.gmail.com";
$mail->Port = 465;
$mail->Username = "[email protected]";
$mail->Password = "************";
$mail->AddReplyTo([email protected]);
$mail->SetFrom([email protected]);
$mail->From = [email protected];
$mail->FromName = Sender Name;
$mail->AddAddress([email protected]);
$mail->Subject = utf8_encode("=?UTF-8?B?" . base64_encode("Email text") . "? = ");
$mail->MsgHTML("Message");
$mail->WordWrap = 450;
$mail->IsHTML(true);
$mail->Send();

Я получаю вот такую ​​ошибку:

SMTP ERROR: Failed to connect to server: Connection refused (111) 2018-04-12 17:08:56   SMTP connect() failed. https://github.com/PHPMailer/PHPMailer/wiki/Troubleshooting 
Error: SMTP connect() failed. https://github.com/PHPMailer/PHPMailer/wiki/Troubleshooting   

Я уже пытаюсь найти проблему в Интернете, проверю Устранение неполадок PHPMailer и меняю параметры конфигурации, но все еще не могу заставить его работать. Также звонить godaddy бесполезно, сказали, что это ошибка кода.

Тот же код работает на localhost и других хостингах.

Заранее спасибо.

Вы уверены, что это проблема GoDaddy, а не Gmail (авторизация)? Кажется, что соединение через SMTP не работает.

Greg McMullen 12.04.2018 20:33
Отправка электронной почты с помощью Python менее чем за 1 минуту
Отправка электронной почты с помощью Python менее чем за 1 минуту
Отправка электронной почты с помощью Python - это удобный способ автоматизировать процесс отправки электронных писем. Это может быть полезно для...
0
1
1 186
2

Ответы 2

Решено!

Просто нужно изменить $ mail-> IsSMTP (); для $ mail-> IsMail ();

Хотя он заставляет ваш код работать, на самом деле это вовсе не решает проблему. Например, вы не сможете использовать свой адрес Gmail в качестве адреса отправителя, поскольку он будет считаться подделкой, и вы не пройдете проверку SPF, а сообщения будут отклонены или отфильтрованы спамом. Когда вы переключаетесь на isMail(), вы отправляете сообщения через серверы GoDaddy, а не через Gmail, как сказано в руководстве по устранению неполадок.

Synchro 12.04.2018 22:32

Для использования почтовой программы вам необходимо создать электронную почту в godaddy

focus on $mail->IsMail();

$mail = new PHPMailer;
$mail->IsMail();        // Set mailer to use  NONE SMTP
$mail->Host = 'mail.vedantaxyz.com';  // Specify main and backup SMTP servers
$mail->SMTPAuth = false;                               // Enable SMTP authentication
$mail->Username = '[email protected]';                 // SMTP username
$mail->Password = 'password';                           // SMTP password
$mail->SMTPSecure = 'tls';                            // Enable TLS encryption, `ssl` also accepted
$mail->Port = 25;        

$mail->setFrom($adminemail, $appname);
$mail->addAddress($reciveremail, 'Hello - Forgot Password');     // Add a recipient

$mail->addReplyTo($adminemail, $appname);
$mail->isHTML(true);                                  // Set email format to HTML
$mail->Subject = 'Hello- Forgot Your Password';
$body = "<b>Body here</>";
$mail->Body    = $body;
$mail->AltBody = '';

if (!$mail->send()) {
    echo $mail->ErrorInfo;
    echo (json_encode(['status'=>true,'msg'=>'Mail sent to your email']));
} else {
    echo (json_encode(['status'=>false,'msg'=>'Mail not sent']));
}

Другие вопросы по теме