Usamos cookies para medir audiência e melhorar sua experiência. Você pode aceitar ou recusar a qualquer momento. Veja sobre o iMasters.
Pessoal, não estou conseguindo enviar email no PHPMailer...
Ele me retorna esse erro quando uso o debug:
2017-03-06 13:42:45 SMTP ERROR: Failed to connect to server: php_network_getaddresses: getaddrinfo failed: Name or service not known (0) 2017-03-06 13:42:45 SMTP connect() failed. https://github.com/PHPMailer/PHPMailer/wiki/Troubleshooting Não foi possível enviar o e-mail.Informações do erro: SMTP connect() failed. https://github.com/PHPMailer/PHPMailer/wiki/Troubleshooting
Já conferi na wiki deles e não consegui resolver..
Uso o Ubuntu 14.04 LTS c/ PHP 7.0 (openssl está ativada)
Código que estou utilizando para enviar email (Fonte: http://blog.thiagobelem.net/enviar-e-mails-pelo-php-usando-o-phpmailer):
<?php
// Inclui o arquivo class.phpmailer.php localizado na pasta phpmailer
require_once("PHPMailer/PHPMailerAutoload.php");
// Inicia a classe PHPMailer
$mail = new PHPMailer();
// Define os dados do servidor e tipo de conexão
// =-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=
$mail->IsSMTP(); // Define que a mensagem será SMTP
$mail->Host = "smtp.dominio.net"; // Endereço do servidor SMTP
$mail->SMTPAuth = true; // Usa autenticação SMTP? (opcional)
$mail->Username = 'seumail@dominio.net'; // Usuário do servidor SMTP
$mail->Password = 'senha'; // Senha do servidor SMTP
// Define o remetente
// =-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=
$mail->From = "seumail@dominio.net"; // Seu e-mail
$mail->FromName = "Joãozinho"; // Seu nome
// Define os destinatário(s)
// =-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=
$mail->AddAddress('fulano@dominio.com.br', 'Fulano da Silva');
$mail->AddAddress('ciclano@site.net');
$mail->IsHTML(true); // Define que o e-mail será enviado como HTML
// Define a mensagem (Texto e Assunto)
// =-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=
$mail->Subject = "Mensagem Teste"; // Assunto da mensagem
$mail->Body = "Este é o corpo da mensagem de teste, em <b>HTML</b>! :)";
$mail->AltBody = "Este é o corpo da mensagem de teste, em Texto Plano! \r\n :)";
// Envia o e-mail
$enviado = $mail->Send();
// Limpa os destinatários e os anexos
$mail->ClearAllRecipients();
$mail->ClearAttachments();
// Exibe uma mensagem de resultado
if ($enviado) {
echo "E-mail enviado com sucesso!";
} else {
echo "Não foi possível enviar o e-mail.";
echo "<b>Informações do erro:</b> " . $mail->ErrorInfo;
}Troquei e está tudo corretamente.
Só uma observação, testei o mesmo script com as mesmas informações em um servidor Windows com o Wamp e PHP 5.4, funcionou normalmente.. Mas nesse servidor que especifiquei (Ubuntu 14.04 LTS c/ PHP 7.0), continua o erro. =/
Um chute...
Da um ping pelo servidor linux (ssh?) no seu endereço que você informa no PHPMailer.
Aparentemente não está rolando comunicação ou algum problema de má configuração de DNS (sou prego em Servidor :( )
Obtive resposta normalmente com o ping =/
Esse post do Thiago belem, que é de onde você extraiu esse codigo, é muito antigo. De lá para cá o PHPMailer teve algumas alterações.
De uma olhada em https://github.com/PHPMailer/PHPMailer
Tem um exemplo correto de como você deve usar o PHPMailer, nas versões atuais.
Dica, sempre que quiser saber/aprender algo, procure sempre pela documentação, no site oficial, pois sempre estará atualizado
Boa diversão!
Obrigado, consegui resolver aqui.
Pergunta besta: Você trocou as informações de acordo com as suas em Host, Username, Password, From, Fromname e AddAddress?