Ligação SMTP ao servidor de PHPMailer GoDaddy recusada
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.
18 answers
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!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.
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.
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();
?>
$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
<?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!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;
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:
- 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'.
- 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.
Muda isto:
$mail->Host = 'smtpout.secureserver.net:465';
$mail->SMTPSecure = "ssl";
Para isto:
$mail->Host = 'smtpout.secureserver.net:25';
E funcionou comigo!
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.
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.
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;
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;
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;
}
}
Bigrock $mail - >Port =587; / / SMTP ser * vers
GoDaddy $mail - >Port =25; / / SMTP ser * vers