PHP :: Enviando e-mail autenticado

Publicado em: 12/07/2008  |  PHP  |  Visualizações: 2.377  |  11 Comentário(s)
Olá, caro leitor. Hoje vou mostrar a você como enviar e-mail autenticado pelo servidor, assim você evita de enviar via a função mail do PHP, que vários servidores bloqueiam quando se é muito utilizada.

Bom, para isto precisaremos ter uma conta de e-mail criada no servidor, vamos precisar saber:
- usuário SMTP;
- senha do usuário SMTP;
- servidor SMTP;

Com estas informações teremos condições de enviar o e-mail autenticado. Eu tenho uma classe chamada SMTP que está disponível para download abaixo, e tenho uma função que faz a autenticação no servidor e o envio, conforme abaixo:

function sendMail($para,$de,$mensagem,$assunto)
{
//DADOS SMTP
$smtp = "mail.dominio.com.br";
$usuario = "contato@dominio.com.br";
$senha = "senha";

require_once './smtp/smtp.php';

$mail = new SMTP;
$mail->Delivery('relay');
$mail->Relay($smtp, $usuario, $senha, 25, 'login', false);
$mail->TimeOut(10);
$mail->Priority('high');
$mail->From($de);
$mail->AddTo($para);
$mail->Html($mensagem);

if($mail->Send($assunto))
return true;
else
return false;

}


Está função faz a instanciação do objeto $mail que vem da classe SMTP. Ela faz o seguinte:

$mail = new SMTP; //INSTANCIA O OBJETO
$mail->Delivery('relay'); //DEFINE MÉTODO DE LOGIN
$mail->Relay($smtp, $usuario, $senha, 25, 'login', false); // FAZ O LOGIN
$mail->TimeOut(10); //DEFINE TEMPO DE TIMEOUT (ESPERA CASO FALHE LOGIN)
$mail->Priority('high'); //DEFINE PRIORIDADE DO E-MAIL
$mail->From($de); //DEFINE REMETENTE
$mail->AddTo($para); //DEFINE DESTINATÁRIO
$mail->Html($mensagem); //DEFINE MENSAGEM


Após isto ela efetua o envio, e retorna true ou false, conforme envio.

Para utilizar está função você deve invocá-la da seguinte forma:
sendMail($para,$de,$mensagem,$assunto);

Passando por argumento:
$para = e-mail destino;
$de = e-mail origem;
$mensagem = mensagem do e-mail;
$assunto = assunto do e-mail.

O arquivo da classe encontra-se abaixo para download.
Arquivo anexo: Clique aqui para download
compartilhe
  Dica: Confira todo nosso conteúdo de PHP no site.
Links patrocinados
Últimos artigos do editor

gerencia.jpg A falta de estrutura dos .
Por que sites e sistemas são.
cel.jpg Tudo sobre o iPhone 3G no.
iPhone é um smartphone desen.
internet.jpg Como assinar um RSS
RSS é um formato de distribu.
design.jpg Quando reciclagem digital.
Vejam o que vocês podem faze.
tecnologia.jpg Energia elétrica via Wire.
Recentemente a Intel introdu.
internet.jpg A guerra dos browsers
O Navegador, também conhecid.
Opinião do leitor:
11 Comentário(s)

 Stenio Figueiredo comentou:

Bem, o meu mail->From. É o mesmo dominio do autenticador.. ou seja eu tenho $mail->Relay($smtp, $usuario, $senha, 25, 'login', false); e mail->From($usuario). Não sei sobre este IP reverso, como seria isso???

Publicado em: 25/09/2008 - 11:24

  Nícolas Müller comentou:

Então Stenio, tem que ver se o seu servidor está devidamente configurado. O ip reverso. E se o rementente da mensagem é o mesmo domínio do autenticador no smtp.

Publicado em: 25/09/2008 - 11:20

 Stenio Figueiredo comentou:

Obrigado pela rapida resposta, vc teria ideia de como seria essa configuração???

Publicado em: 25/09/2008 - 11:11

  Nícolas Müller comentou:

Aí vai depender das configurações do seu servidor de smtp.

Publicado em: 25/09/2008 - 11:09

 Stenio Figueiredo comentou:

Dúvida, só estou conseguindo enviar no minha Rede.. exemplo: só envia para emails @blessconnect.com.br. Que é o meu SMTP. mas não envia pra OI, Ibest essas coisas....

Publicado em: 25/09/2008 - 11:01

 Stenio Figueiredo comentou:

Funciona blza!!! Mas em alguns Gerenciadores de E-mail.. tipo o Squiremail.. O e-mail não vai em HTML...

Publicado em: 24/09/2008 - 17:10

  Gilvan comentou:

Era o que eu procurava a muito tempo, você conseguiu resolver o meu grande problema de um forma simples.

Publicado em: 26/08/2008 - 11:18

  Nicolas comentou:

Log, obrigado pelo comentário. Qualquer dúvida sobre os scripts poste no nosso fórum http://www.ajudanaweb.com

Publicado em: 25/08/2008 - 09:56

  Log comentou:

Bacana, funcionou sem problemas, só tive que adaptar ao meu código muito bom

Publicado em: 25/08/2008 - 09:43

  Nicolas comentou:

Igor, alterei lá... Tava com problema mesmo, colei no word, não sei o por que de ter feito isto, mas o word me tapiou esta vez, rsrs. Uso este script faz algum tempo já, e nunca me deixou na mão, ele é bom por que se você estiver usando o site em uma base local que não tem servidor de e-mail ele funciona igual, pois ele autentica em outro servidor, conforme os dados que você passar nas variáveis de login.

Publicado em: 14/07/2008 - 10:32

  Igor Diniz comentou:

finalmente um que funciona :D!!! sempre algumas pessoas colocam aquelçe codigo de autenticação da hostnet. mas o nicolas disparou na frente :D apenas uma correção, troque “ por "

Publicado em: 14/07/2008 - 10:15

Acesso restrito
Destaques
Instalando WORDPRESS Instalando WORDPRESS
Neste tutorial vamos aprender instalar o WORDPRESS em um servidor local. O mesmo serve para um servidor web.
Peixe Grande 2008 Peixe Grande 2008
O Oficina da Net está este ano participando do Projeto Peixe Grande 2008 na categoria de Blog. Ajude-nos vote!
iPhone 3G no Brasil iPhone 3G no Brasil
O smartphone da Apple chegou ao Brasil com a tecnologia de terceira geração de telefonia.
Links patrocinados
Autor
Tags
Artigos Relacionados
Novos Artigos
Notícias Relacionados
Assine nosso RSS

© 2005 - 2008 - Oficina da Net - v 3.0 - É proibida a reprodução parcial ou completa do conteúdo deste site sem autorização por escrito. Resolução adequada: 1024x768px.