Ligação SMTP ao servidor de PHPMailer GoDaddy recusada

No outro dia, tive alguns problemas com o site do meu GoDaddy. Liguei para o suporte técnico deles, e a pessoa com quem falei sugeriu que meus problemas estavam relacionados com o fato de que eu estava em uma caixa do Windows e seria melhor servida em uma caixa Linux. Não tendo opinião sobre isso, eu concordei e eles me trocaram.

Na sequência dessa transição, a minha funcionalidade de PHPMailer abandonou-me. Tenho isto a funcionar há meses, por isso sei que as minhas configurações são preciso. Eu confirmei com GoDaddy que a conta que estou tentando enviar não mudou de sua perspectiva. Não foram feitas alterações do lado do utilizador (como uma nova senha). Resumindo, a única coisa que é diferente é que o meu site está agora hospedado num servidor Linux. É isso.

Por isso, presumo que as minhas dificuldades com o PHPMailer devem estar relacionadas com isso, uma vez que é demasiada coincidência que um script que tem funcionado durante meses falhe no momento exacto em que o servidor a transição ocorre. Mas porquê? Passei uma hora com o suporte técnico deles, e eles não vêem nada de errado com as configurações do servidor. Verificámos as minhas configurações (só por Diversão). Tudo parece bem, mas quando Envio um e-mail, recebo este erro:

SMTP -> ERROR: Failed to connect to server: Connection refused (111)SMTP Connect() failed.

Existem muitas mensagens sobre este tipo de erro, e quase todas se relacionam com as pessoas que estão a ser configuradas pela primeira vez que têm configurações mal introduzidas ou configurações omitidas. No entanto, eu sei que as minhas configurações são completas e precisas desde que eu tenho estou a usá-los com sucesso há meses. Vou postá-los aqui só para ser completo.

$mail = new PHPMailer();
$mail->IsSMTP();  //telling the class to use SMTP
$mail->isHTML(true);
$mail->Host         = "smtpout.secureserver.net"; //also tried "relay-hosting.secureserver.net"
$mail->WordWrap     = 50;
$mail->SMTPAuth     = true;
$mail->SMTPSecure   = "ssl";
$mail->Port         = 465;
$mail->Username     = "[email protected]";
$mail->Password     = *******;
$mail->Subject      = "Test Email";
$mail->SMTPDebug = 1;
Alguém tem alguma ideia do porquê disto estar a acontecer? Há alguma configuração de servidor que as pessoas do suporte técnico não estejam cientes, como talvez no meu php.ficheiro ini? O tipo com quem trabalhei fez o seu melhor para me ajudar, mas ele pode não estar ciente de alguma coisa.

qualquer ajuda é apreciada. Avisa-me se houver mais alguma informação que possa fornecer. Obrigado!

editar: eu devo também mencione algumas das outras tentativas que eu fiz. Recebo o mesmo resultado, aconteça o que acontecer.

1) TLS com porto 587 2) Sem SSL usando portas 25, 80 e 3535. 2) meu próprio endereço gmail modificando o servidor, nome de usuário, senha, etc.

Author: Alex, 2014-02-18

18 answers

Como parece que este é um problema contínuo, permitam-me que acrescente a minha própria experiência. O nosso site usa o PHPMailer e o site está hospedado num servidor linux GoDaddy. As configurações que pareciam estar correctas (de acordo com tudo o que consegui encontrar sobre SO e o site de apoio a goDaddy) eram as seguintes:
SMTP_SERVER: smtpout.secureserver.net (or alternatively relay-hosting.secureserver.net)
SMTP_PORT: 465 //or 3535 or 80 or 25
SMTP_AUTH: true //always
SMTP_Secure: 'ssl' //only if using port 465
{[3]Depois de passar mais de 6 horas tentando cada variação de portos (25, 3535, 4655), servidores relay-hosting.secureserver.net,smtpout.secureserver.net: [porto], etc.), nome, senhas, etc. Liguei ao goDaddy. Mais 40 minutos depois, foi revelado que: As contas de email "workspace" estão a ser retiradas. Isso é importante porque se você tem uma conta de E-mail com goDaddy hoje, você provavelmente tem uma conta no espaço de trabalho. Isto é, de acordo com o rep de suporte técnico, hospedado separadamente da sua conta linux. O goDaddy está a dirigir-se para as contas de e-mail da cPanel. Viva! Mesa do tempo? "...nos próximos 2 a 3 anos!" Mudei as nossas contas de Espaço de trabalho para as contas do cPanel enquanto eu estava ao telefone com o rep. realmente fácil de fazer.

4) Depois de mudar as suas contas de E-mail (incluindo a edição dos seus registos MX) para um e-mail cPanel (vs. a "workspace" email), as configurações apropriadas para um e-mail de formulário web usando o PHPMailer são:

SMTP_SERVER: localhost   //(and I mean literally: "localhost"- in place of smtp.secureserver.net and relay-hosting.secureserver.net, etc.)

... e tudo o resto (como acima) é igual...

A webform que construí com o PHPMailer funcionou perfeitamente depois desta mudança!

Use a sua conta de e-mail do cPaneL (utilizador) e senha na configuração do PHPMailer e seus e-mails da web funcionarão perfeitamente!

Um bónus adicional é o webmail (alguém ainda usa isto?) pode ser acessado em [yourdoman]\webmail. Não há mais url enigmáticos para lembrar! E as contas podem ser IMAP ou POP! É certo que isto significa que deves usar as contas de e-mail da cPanel de goDaddy, mas fazer com que a webform funcione sem falhas com o PHPMailer foi a verdadeira recompensa!
 30
Author: globalSchmidt, 2014-08-10 05:53:46

Estou no GoDaddy num Linux como o @surfbird0713. Na minha 32ª tentativa, o seguinte também funcionou para mim:

$mail2->Host = localhost;
//$mail2->SMTPAuth = false;
//$mail2->Username = '[email protected]';
//$mail2->Password = '*******';

//$mail2->SMTPSecure = 'tls';

//$mail2->Port = 465;

Eu estava tentando anteriormente com o nome de usuário, login, port, etc. Quando eu comentei tudo isso, e apenas fui com localhost funcionou.

 36
Author: Nate Byram, 2015-01-10 08:52:32
Tenho sentido este problema há muitas semanas. Finalmente, consegui resolvê-lo. Primeiro, eu diria as causas do problema (como eu o experimentei). GoDaddy só permite o porto 25, 465, 80 para sair. Então, você não pode alcançar nenhum servidor SMTP que não esteja usando nenhuma dessas 3 portas. Mas se você estiver usando SMTP do GMAIL por exemplo, ou qualquer outro servidor de replay (especialmente do Bell Canada, no porto 465), então qualquer pedido de relé do GoDaddy será bloqueado-portanto você vai ver o Connection Refused (111). Sim, eles são concorrentes em serviços de hospedagem... então, tire suas próprias conclusões sobre quando este problema será resolvido entre eles. Pior, quando você envia um e-mail de relay-hosting.secureserver.net fornecido por GoDaddy, você está enfrentando um grande inconveniente de longas filas que podem levar alguns minutos para obter o e-mail para fora. Pior ainda, as pessoas com a conta de E - mail da Bell Canada (ou afiliados da Bell) não vão ver e-mail deste servidor de retransmissão-o e-mail nem sequer chega à sua caixa de spam! Como o e-mail está completamente bloqueado por Bell (sua desculpa = spams demais de GoDaddy). Então, recentemente fiz isto e funcionou bem para mim. Se você tem um serviço de hospedagem com GoDaddy, em seguida, registar uma conta de E-mail. Então usando essa conta de E-mail, exemplo [email protected], faça isso com o PHPMail:
$mail = new PHPMailer();
$mail->IsSMTP();
$mail->Host = "smtpout.secureserver.net";
$mail->Username = "[email protected]"; /*Substitute with your real email*/
$mail->Password = "myverylongpassword"; /*Substitute with your real password*/
$mail->SMTPAuth = true;
$mail->Port = 80;
Então faz as tuas coisas normais de PHPMailing... Isto funciona muito bem para mim. Espero que faça o mesmo por ti.
 4
Author: KLL, 2017-05-30 07:43:58
Depois de muita frustração, isto também funcionou comigo.
include("includes/class.phpmailer.php");

date_default_timezone_set('UTC');

define('SMTP_HOST','relay-hosting.secureserver.net');
define('SMTP_PORT',25);**
define('SMTP_USERNAME','[email protected]');
define('SMTP_PASSWORD','me123');
define('SMTP_AUTH',false);

$email = '[email protected]';
$firstName = 'Aravind';

$mail = new PHPMailerR();
$mail->IsSMTP();
$mail->SMTPDebug = 1;                 
$mail->SMTPAuth = SMTP_AUTH;                
$mail->Host = SMTP_HOST;
$mail->Port = 25;
$mail->Username = SMTP_USERNAME;
$mail->Password = SMTP_PASSWORD;
$mail->SetFrom(SMTP_USERNAME,'AravindNC.IN');
$mail->AddReplyTo(SMTP_USERNAME,"AravindNC.IN");
$mail->Subject = "Welcome to AravindNC.IN";
$mail->AltBody = "To view the message, please use an HTML compatible email viewer!";
$mail->MsgHTML('This is a test.');
$mail->AddAddress($email, 'Aravind NC');
$mail->Send();

?>
 3
Author: Sagar Anand, 2016-08-09 15:41:18
Tenho o mesmo problema, mas tentei isto.
$mail->SMTPAuth = false;

E nome da máquina: relay-hosting.secureserver.net

E Bingooooooooooo seu funcionamento

Por favor, faça apenas uma vez esta opção em SMTP

 2
Author: Chintan Gor, 2014-11-21 10:49:56
Usando alguns dos conselhos acima, consegui criar um site de bootstrap chave-na-mão com e-mail sobre hospedagem compartilhada em GoDaddy. Fiz uma chamada AJAX para o e-mail.php que continha:
 <?php

require 'PHPMailerAutoload.php';

if ($_POST) {
    $name    = $_POST['contactName'];
    $email   = $_POST['contactEmail'];
    $message = $_POST['contactMessage'];

    /* Don't touch */
    $mail = new PHPMailer();
    $mail->isSMTP();
    $mail->Host        = "relay-hosting.secureserver.net";
    $mail->SMTPAuth    = false;
    $mail->setFrom($email, $name);
    /* end */

    /* Configure the address the email will be sent to */
    $mail->addAddress('[email protected]', 'Adam InTae Gerard');
    $mail->Subject = 'Re: StackChampion Inquest';
    /* This is forwarded through a GoDaddy forwarding account */

    $mail->Body    = $message;

    if (!$mail->send()) {
        echo "Mailer Error: " . $mail->ErrorInfo;
    } else {
        echo "Message sent!";
    }
}
?> 
Montei uma demo no GitHub disponível aqui.

Https://github.com/Thoughtscript/wp_postlib_godaddy_php_emailer

Isso é livre de usar e opensource, mas o código relevante está listado acima. Aparentemente, há muitos problemas com seus servidores SMTP-eu descobri que você pode contornar isso usando seus servidores de retransmissão oferecidos que não exigem autenticação, embora eles ainda podem ser associados com um de seus e-mails registrados acumula.

Espero que isso ajude alguém! Saúde!
 2
Author: Adam Gerard, 2017-02-22 10:03:25
Bem, tenho isto resolvido, mas não de uma forma boa. Depois de esgotar tudo o que consegui pensar, levantei as mãos e disse ao GoDaddy para me mudar para o servidor do Windows. Assim que fizeram isso, o problema desapareceu. Como eu não me importo com que tipo de servidor eu estou, este resultado é satisfatório, mas dificilmente satisfatório. Então, o meu conselho para qualquer cliente GoDaddy que acredite que eles têm PHPMailer configurado corretamente mas não pode fazê-lo funcionar é descobrir se você estão num servidor Linux. Parece-me que o GoDaddy tem os seus servidores Linux configurados para bloquear este tipo de Transacção de correio. Não posso dizer isso definitivamente, já que só acredito nisso porque falhei em fazê-lo funcionar. Mas posso dizer claramente que a minha configuração do PHPMailer era precisa, pelo menos com o Windows. Talvez isto ajude a poupar tempo e frustração a alguém. Se alguém tiver uma ideia melhor, por favor publique.
 1
Author: Alex, 2014-02-18 23:06:34

Se na sua hospedagem tiver um servidor de E-mail próprio, o seu servidor de E-mail usando as seguintes portas 25.465.587. Configurações para GoDaddy:

$mail->isSMTP(); 
$mail->Host = localhost; 
$mail->SMTPAuth = true;
$mail->Username = '[email protected]';
$mail->Password = 'password';

//$mail->SMTPSecure = 'tls'; 
//$mail->Port = 587;

Nos outros servidores é necessário criar uma caixa de correio com o seu domínio:

$mail->isSMTP(); 
$mail->Host = localhost; 
$mail->SMTPAuth = true;
$mail->Username = '[email protected]';
$mail->Password = 'password';

//$mail->SMTPSecure = 'tls'; 
//$mail->Port = 587;
 1
Author: Karen Danielyan, 2014-09-21 08:56:35

Actualização para janeiro de 2015: só tinha de resolver este problema EXACTO. Você precisa ter GoDaddy linux hospedando com contas de email do cPanel:

  1. na secção de contas de E-mail, ao lado de cada endereço de E-mail numa lista, carregue na opção 'Configurar o cliente de E-mail'.
  2. na página seguinte, desça para'configuração Manual'. Aqui você verá que GoDaddy agora cria um servidor de entrada/saída sob medida para cada endereço de E-mail. Então use o servidor de saída, SSL, auth: true, port: 465, e-mail/Senha.
Espero que isso ajude.
 1
Author: user3349250, 2015-01-28 14:13:06

Muda isto:

$mail->Host = 'smtpout.secureserver.net:465';
$mail->SMTPSecure = "ssl";

Para isto:

$mail->Host = 'smtpout.secureserver.net:25';
E funcionou comigo!
 1
Author: Ronen, 2015-02-09 15:36:28

De acordo com Godaddy, substituir

$mail->Host = "smtpout.secureserver.net"; //also tried "relay-hosting.secureserver.net"

Com

$mail->Host = "smtp.secureserver.net"; //also tried "relay-hosting.secureserver.net"
Funcionou comigo.
 1
Author: Chicken Man, 2015-09-17 02:41:15

Se usar cPanel e formulários WP no WordPress

O que me ajudou foi a criar o endereço de E-mail do cPanel. e use a sua configuração da secção de configuração Manual com SSL ou não SSL

enter image description here

 1
Author: Arlan T, 2017-12-20 03:05:20

GoDaddy / Linux (cPanel)/PHPMailer

require_once("../include/PHPMailer-master/PHPMailerAutoload.php");

$mail = new PHPMailer();
$mail->isSMTP();
$mail->Host         = "a2plcpnXXXXX.prod.iad2.secureserver.net";
$mail->SMTPDebug    = 2; 
$mail->SMTPAuth     = true;
$mail->Username     = "your username";
$mail->Password     = "your password";
$mail->SMTPSecure   = "tls";
$mail->Port         = 587;

Sinta-se à vontade para usar qualquer e-mail/nome que desejar para os valores de $mail - >de e $mail - >FromName. Espero que isto ajude.

 0
Author: sysnomad, 2015-07-25 19:58:01
Acabei de ter este problema, contactei o GoDaddy e eles trocaram o meu MX de Local para remoto e isso resolveu o problema instantaneamente! Apenas um aviso para quem ainda está a passar por esta questão.
 0
Author: Austin Tans, 2016-05-08 01:04:38
Depois de lutar com este problema por alguns dias e pô-lo a funcionar, pensei em actualizar este tópico para 2017. Espero poder salvar alguém algumas horas desperdiçadas. Estou hospedado em Godaddy com o cpanel. Foi a configuração SMTPAutoTLS que finalmente encontrei e tentei que era a peça que faltava. O erro que eu estava recebendo é o seguinte:

PHP Warning: stream_socket_ enable_crypto (): certificado outro CN=*.prod.iad2.secureserver.net' did not match expected CN= localhost ' in /home/utilizador/public_ HTML/classes/PHPMailer / class.smtp.php na linha 369

Erro do Mailer: o SMTP connect() falhou. https://github.com/PHPMailer/PHPMailer/wiki/Troubleshooting

A seguir estão as configurações do PHPMailer que funcionaram para mim.

$mail->isSMTP();
$mail->Host = 'localhost';
$mail->Port = 25;
$mail->SMTPSecure = false;
$mail->SMTPAutoTLS = false;
$mail->SMTPAuth = false;  
 0
Author: Paul in Colorado, 2017-03-24 01:54:20

Estas serão as vossas configurações SMTP para GoDaddy:

require("PHPMailer-master/PHPMailerAutoload.php");
$mail = new PHPMailer();
$mail->IsSMTP();
$mail->SMTPDebug  = 2;
$mail->From = "[email protected]";
$mail->FromName = "name";
$mail->Host = "localhost"; 
$mail->SMTPAuth = false; 
$mail->SMTPSecure = false;
$mail->SMTPAutoTLS = false;
 0
Author: Abdulrehman, 2017-07-13 18:03:58
O Godaddy é o pesadelo.

Se está a usar uma conta de E-mail do espaço de trabalho mais antiga e não está familiarizado com o cpanel, tente isto

require '/home/content/94/8357694/html/SHTECH/server/PHPMailer.php';
use PHPMailer\PHPMailer\PHPMailer;

function sendmail($to,$subject,$message,$name)
{

define('SMTP_HOST','relay-hosting.secureserver.net');
define('SMTP_PORT',25);
define('SMTP_AUTH',true);



              $mail             = new PHPMailer();

              $mail->IsSMTP();
              $mail -> SMTPDebug = 1;
              $mail->Host       = "smtpout.secureserver.net";
              $mail->SMTPAuth   = SMTP_AUTH;
              $mail->Port       = 80;
              $mail->Username   = "[email protected]";
              $mail->Password   = "allen1";
              //$mail->SMTPSecure = 'ssl';
              $mail->SetFrom('[email protected]', 'Cagney');
              $mail->AddReplyTo("[email protected]","Cagney");
              $mail->Subject    = $subject;
              $body             = $message;
              $mail->AltBody    = "To view the message, please use an HTML compatible email viewer!";
              $mail->MsgHTML($body);
              $address = $to;
              $mail->AddAddress($address, $name);
              if(!$mail->Send()) {
                  return 0;
              } else {
                    return 1;
              }




}
 0
Author: cagney, 2018-08-13 19:15:53
Ligação SMTP do servidor GoDaddy recusada.

Bigrock $mail - >Port =587; / / SMTP ser * vers

GoDaddy $mail - >Port =25; / / SMTP ser * vers
 -2
Author: Rajesh Patil, 2015-10-23 08:11:47