Usando SMTP remoto no PHP
Dica publicada em PHP / Correio Eletrônico
Usando SMTP remoto no PHP
Devido a alguns motivos não era possível instalar um servidor de e-mail
no meu servidor WEB e o php.ini não permite (não que eu saiba) utilizar
um SMTP remoto no Linux como no Windows. Essa foi a solução que encontrei.
Depois de algum tempo descobri que o XOOPS (utilizado para fazer portais) também
vem com essa opção e utilizando esse mesmo método.
Para isso eu utilizei uma classe que permitia usar um servidor SMTP remoto.
Vá em:
e faça download da última versão do phpmailer: phpmailer-1.x.x.tar.gz
Extraia-o para o local onde estão as bibliotecas do PHP. Esse diretório é indicado na linha "include_path" do php.ini, normalmente está em /usr/local/lib/php. Ou inclua um novo include_path no php.ini com o diretório desejado (não esqueça de reiniciar o Apache).
Pronto! Agora é só montar o script, no próprio site tem um exemplo. Mas por via das dúvidas, aí vai ele:
Para isso eu utilizei uma classe que permitia usar um servidor SMTP remoto.
Vá em:
e faça download da última versão do phpmailer: phpmailer-1.x.x.tar.gz
Extraia-o para o local onde estão as bibliotecas do PHP. Esse diretório é indicado na linha "include_path" do php.ini, normalmente está em /usr/local/lib/php. Ou inclua um novo include_path no php.ini com o diretório desejado (não esqueça de reiniciar o Apache).
Pronto! Agora é só montar o script, no próprio site tem um exemplo. Mas por via das dúvidas, aí vai ele:
require("class.phpmailer.php");
$mail = new PHPMailer();
$mail->IsSMTP(); // mandar via SMTP
$mail->Host = "smtp1.site.com;smtp2.site.com"; // Seu servidor smtp
$mail->SMTPAuth = true; // smtp autenticado
$mail->Username = "user"; // usuário deste servidor smtp
$mail->Password = "secret"; // senha
$mail->From = "from@email.com";
$mail->FromName = "Mailer";
$mail->AddAddress("josh@site.com","Josh Adams");
$mail->AddAddress("ellen@site.com"); // optional name
$mail->AddReplyTo("info@site.com","Information");
$mail->WordWrap = 50; // set word wrap
$mail->AddAttachment("/var/tmp/file.tar.gz"); // attachment
$mail->AddAttachment("/tmp/image.jpg", "new.jpg");
$mail->IsHTML(true); // send as HTML
$mail->Subject = "Here is the subject";
$mail->Body = "This is the HTML body";
$mail->AltBody = "This is the text-only body";
if(!$mail->Send())
{
echo "A mensagem não pode ser enviada
$mail = new PHPMailer();
$mail->IsSMTP(); // mandar via SMTP
$mail->Host = "smtp1.site.com;smtp2.site.com"; // Seu servidor smtp
$mail->SMTPAuth = true; // smtp autenticado
$mail->Username = "user"; // usuário deste servidor smtp
$mail->Password = "secret"; // senha
$mail->From = "from@email.com";
$mail->FromName = "Mailer";
$mail->AddAddress("josh@site.com","Josh Adams");
$mail->AddAddress("ellen@site.com"); // optional name
$mail->AddReplyTo("info@site.com","Information");
$mail->WordWrap = 50; // set word wrap
$mail->AddAttachment("/var/tmp/file.tar.gz"); // attachment
$mail->AddAttachment("/tmp/image.jpg", "new.jpg");
$mail->IsHTML(true); // send as HTML
$mail->Subject = "Here is the subject";
$mail->Body = "This is the HTML body";
$mail->AltBody = "This is the text-only body";
if(!$mail->Send())
{
echo "A mensagem não pode ser enviada
";
echo "Erro: " . $mail->ErrorInfo;
exit;
}
echo "Mensagem enviada";
?>
Warning: fsockopen() [function.fsockopen]: php_network_getaddresses: getaddrinfo failed: Name or service not known in /opt/lampp/lib/php/class.smtp.php on line 105
Warning: fsockopen() [function.fsockopen]: unable to connect to smtp.montele.com.br:110 (Unknown error) in /opt/lampp/lib/php/class.smtp.php on line 105
Se puder me ajudar.