Я знаю, что на этот вопрос много раз отвечали, но 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 и других хостингах.
Заранее спасибо.

Решено!
Просто нужно изменить $ mail-> IsSMTP (); для $ mail-> IsMail ();
Хотя он заставляет ваш код работать, на самом деле это вовсе не решает проблему. Например, вы не сможете использовать свой адрес Gmail в качестве адреса отправителя, поскольку он будет считаться подделкой, и вы не пройдете проверку SPF, а сообщения будут отклонены или отфильтрованы спамом. Когда вы переключаетесь на isMail(), вы отправляете сообщения через серверы GoDaddy, а не через Gmail, как сказано в руководстве по устранению неполадок.
Для использования почтовой программы вам необходимо создать электронную почту в 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']));
}
Вы уверены, что это проблема GoDaddy, а не Gmail (авторизация)? Кажется, что соединение через SMTP не работает.