PHP :: Enviando e-mail autenticado
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.
Dica:
Confira todo nosso conteúdo de
PHP no site.
Links patrocinados
Últimos artigos do editor
Destaques
Instalando WORDPRESS
Neste tutorial vamos aprender instalar o WORDPRESS em um servidor local. O mesmo serve para um servidor web.
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
O smartphone da Apple chegou ao Brasil com a tecnologia de terceira geração de telefonia.
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
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
Obrigado pela rapida resposta, vc teria ideia de como seria essa configuração???
Publicado em: 25/09/2008 - 11:11
Aí vai depender das configurações do seu servidor de smtp.
Publicado em: 25/09/2008 - 11:09
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
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
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
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
Bacana, funcionou sem problemas, só tive que adaptar ao meu código muito bom
Publicado em: 25/08/2008 - 09:43
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
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