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.
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:
$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
[1] Comentário enviado por thiago_mtr em 29/10/2007 - 16:41h
Amigo, o meu sisteminha que está hospedado em uma máquina usando o LAMPP tá retornando o seguinte erro.
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
[8] Comentário enviado por gocorrea em 09/11/2007 - 10:47h
não, a função mail utiliza o servidor de e-mail local (no caso o sendmail). Se não me engano essa classe conecta ao outro pc via socket.
Você conseguiu mandar via gmail ou para um e-mail do gmail?
Se você recebeu no gmail mas não recebeu no Lacaweb o mesmo e-mail pode ser problema de spam. Talvez o Locaweb tenha marcado seu ip (ou o ip do servidor que esta mandado o e-mail) como spam.
[9] Comentário enviado por thiago_mtr em 16/11/2007 - 13:40h
Vim aqui dizer que consegui solucionar o problema !!! Após eu consegui enviar para o gmail, depois de muita pesquisa eu descobri que o problema era uma configuração no DNS, feito isso tive que colocar o ip do meu servidor na entrada TXT da locaweb para que ela não seja barrado no anti-spam.
Agora eu quero ajuda em outra coisa...
O e-mail está chegando da seguinte forma:
Número da OS: 1 Nome do Cliente: XEROX Código do Cliente: XXXXXXXXXXXXXXX Número do Equipamento: 1 Tipo do Equipamento:Elevador Rua: mais Número: 1 Bairro: bairro Cidade:BH Estado: mg Tel Contato:2212121 Resp Atendimento:thiago Data Atendimento: 2007-01-01 Descrição da Reclamação:teste Status:Pendente
Porém eu gostaria de formatar isso direitinho, porém não sei como fazer. Aguarda ajuda de vocês...
Abaixo o código que pega os dados do formulário e envia o e-mail:
$mail->IsSMTP(); // mandar via SMTP
$mail->Host = "localhost"; // Seu servidor smtp
$mail->Port = "25";
$mail->SMTPAuth = true; // smtp autenticado
$mail->From = "fulano@provedor.com.br";
$mail->FromName = "Empresa";
$mail->AddAddress("fulano@provedor.com.br","Empresa - Sistema de Manutenção");
$mail->AddAddress("fulano@provedor.com.br","Empresa - Sistema de Manutenção");
$mail->AddReplyTo("fulano@provedor.com.br","Resposta");
$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 = "Serviço Web";
$mail->Body = $mensagem;
$mail->AltBody = "This is the text-only body";
if(!$mail->Send())
{
echo "A mensagem não pode ser enviada";
echo "Erro: " . $mail->ErrorInfo;
exit;
}
[10] Comentário enviado por jgaboardi em 19/11/2007 - 09:24h
Bom dia,
Estou tentando por para funcionar e esta me dando esta menssagem de erro:
[Mon Nov 19 09:15:40 2007] [error] [client 200.xxx.yyy.z] PHP Warning: require(class.phpmailer.php) [<a href='function.require'>function.require</a>]: failed to open stream: No such file or directory in /srv/www/htdocs/mail.php on line 3
[Mon Nov 19 09:15:40 2007] [error] [client 200.xxx.yyy.z] PHP Fatal error: require() [<a href='function.require'>function.require</a>]: Failed opening required 'class.phpmailer.php' (include_path='.:/usr/lib/php5/PHPMailer') in /srv/www/htdocs/mail.php on line 3
e vejam como esta no arquivo:
<?php
require ("class.phpmailer.php");
$mail = new PHPMailer();
$mail->IsSMTP(); // set mailer to use SMTP
.......
[12] Comentário enviado por gocorrea em 19/11/2007 - 14:03h
Thiago: Substitua os "\n" da sua mensagem por "<br>"
jgaboardi: Verifique se a classe esta na pasta do seu script, se não certifique-se de ou informar o caminho correto até ela ou adicionar a classe no diretório /usr/lib/php5. Verifique também as permissões de acesso a classe.