2016-07-07 7 views
0

Я работаю над веб-сайтом, и в нем есть форма, которая используется для отправки электронной почты через gmail с помощью PHPMailer.Ошибка подключения PHPMailer SMTP - GoDaddy

У меня все правильно настроено, потому что оно работает на моем сервере AWS EC2. Однако, когда я использую ту же самую настройку в плане хостинга GoDaddy, он не работает (да, я изменил «требуемые» пути).

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

Mailer Error: SMTP connect() failed.

Вот мой код:

$mail = new PHPMailer; 

$mail->SMTPDebug = 0; 

$mail->isSMTP(); 
$mail->Host = "smtp.gmail.com"; 
$mail->SMTPAuth = true; 
$mail->Username = "**********@gmail.com"; 
$mail->Password = "*************"; 
$mail->SMTPSecure = "tls"; 
$mail->Port = 587; 

$mail->setFrom("**********@gmail.com", "Red's Mailer"); 
$mail->addAddress("*********@shaw.ca", "Name"); 

$mail->isHTML = true; 

$mail->Subject = "New Submission From " . $name; 
$mail->Body = $html_msg; 
$mail->AltBody = $alt_msg; 

Любые идеи о проблеме?

+0

Вы попробовали комментировать '$ mail-> isSMTP()', как предложено здесь? http://stackoverflow.com/questions/18496650/smtp-connect-failed-message-was-not-sent-mailer-error-smtp-connect-failed –

+0

@timberspine Я просто так сделал, и он не работает , – RedXTech

+0

Когда вы включаете отладку «$ mail-> SMTPDebug = 1», что вы видите? –

ответ

1

Почтовый сервер GoDaddy не поддерживает электронную почту, содержащую заголовок заголовка «FROM» для aol, gmail, hotmail, yahoo, live, aim или msn.

Если вы используете план хостинга linux cPanel, вам нужно изменить несколько строк в вашем php-коде, и это сработает!

$mail = new PHPMailer; 
$mail->SMTPDebug = 0; 
$mail->isSMTP(); 
$mail->Host = 'localhost'; 
$mail->Port = 25; 
$mail->ssl = false; 
$mail->authentication = false; 
$mail->addAddress("*********@shaw.ca", "Name"); 
$mail->isHTML = true; 
$mail->Subject = "New Submission From " . $name; 
$mail->Body = $html_msg; 
$mail->AltBody = $alt_msg; 
0

У меня были похожие проблемы. GoDaddy не разрешает SMTP использовать внешние сообщения с вашим доменом. Если вы обратитесь в службу поддержки, вы должны получить тот же ответ.

+0

У меня также были те же проблемы, но решение, о котором я упомянул, работает нормально. –

0

Я выяснил, почему это не работает - GoDaddy по какой-то причине не любит позволять своим клиентам использовать любые другие SMTP-серверы, поэтому вам нужно либо использовать хостинг электронной почты, предоставляемый cPanel, что очень медленно и inneficient.

Я сделал вместо этого сценарий, размещенный на экземпляре AWS ec2, и вместо этого вместо него создаются формы для сообщения сценария.

Смежные вопросы