Resumo sobre Enviar email com o PHP
Muitos desenvolvedores fazem uso da função mail
do PHP para o envio de e-mail, já a galera da programação Orientada a Objetos monta suas classes de envio.
Porem não é todo mundo que conhece a classe PHPMailer
, com ela é possível o envio de emails sem autenticação e com autenticação no servidor, ela é simples e muito fácil de usar. Envie anexos em seus email de olhos fechados!
Vamos a um exemplo, lembrando que não vou mostrar como montar um formulário e pegar esses dados por $_POST ou $_GET no PHP, Cristian mas eu não sei fazer isso! Não sabia, aqui você irá aprender
!
Usando o PHPMailer
/**********************************************************************
* Arquivo: CONTATO-ENVIAR.php *
* Data: 12/06/2009 *
* Autor: Cristian Trentin - admderede@gmail.com *
**********************************************************************/
//Requere o arquivo de Configuracao do Sistema
require_once("include/class.phpmailer.php")/
$nome = isset($_POST['nome']) ? trim(addslashes($_POST['nome'])) : '';
$email = isset($_POST['email']) ? trim(addslashes($_POST['email'])) : '';
$assunto = isset($_POST['assunto']) ? trim(addslashes($_POST['assunto'])) : '';
$msg = isset($_POST['msg']) ? trim(addslashes($_POST['msg'])) : '';
$phpMailer = new PHPMailer();
$phpMailer->SetLanguage("br");
$phpMailer->IsMail(); //Seta o metodo de envio dessa msg, a mail é padrão não precisa nem setar
$phpMailer->IsHTML(true); //Passando HTML true, isso permite usar HTML no corpo do email, pois o PHPMailer monta o Header da msg diferente do padrão
$phpMailer->From = $email; //Seta email remetente
$phpMailer->FromName = $nome; //Seta nome remetente
$phpMailer->AddAddress("contato@cristiantrentin.com.br"); //Seta destino da msg, aqui pode ser passado 'N' emails de destino
$phpMailer->AddReplyTo("contato@cristiantrentin.com.br"); //Responder para
$phpMailer->Subject = 'Mensagem do Site - '.$assunto; //Monta assunto da msg
$phpMailer->Body = $msg; //Seta a msg
//Verifica o envio
if( $Email->Send() ){
print 'Mensagem enviada, aguarde nosso contato.';
}else{
print 'Mensagem não enviada, tente novamente daqui alguns segundos.';
}
?>
*Lembrando que o código acima só irá funcionar se hospedado.
Mas e quando precisamos enviar emails autenticados com o SMTP?
/**********************************************************************
* Arquivo: CONTATO-ENVIAR.php *
* Data: 12/06/2009 *
* Autor: Cristian Trentin - admderede@gmail.com *
**********************************************************************/
//Requere o arquivo de Configuracao do Sistema
require_once("include/class.phpmailer.php")/
require_once('../class.phpmailer.php');
$mail = new PHPMailer();
$phpMailer->IsSMTP(); // seta que o envio é por SMTP
$phpMailer->Host = "mail.seudominio.com.br"; // SMTP server
$phpMailer->SMTPAuth = true; // Habilita a autenticação
$phpMailer->Port = 25; // seta a porta de conexão
$phpMailer->Username = "seuemail@seudominio.com.br"; // usuario de conexão com o SMTP
$phpMailer->Password = "senha"; // senha do usuario conexão com o SMTP
//Dados Remetente
$phpMailer->From = 'Cristian';
$phpMailer->FromName = 'contato@cristiantrentin.com.br';
$phpMailer->AddReplyTo("contato@cristiantrentin.com.br"); //responder para
//Destinatario
$phpMailer->AddAddress('email@destino.com.br');
$phpMailer->Subject = "TESTE SMTP"; //assunto
$phpMailer->Body = 'Esse é um teste de envio';
$phpMailer->AddAttachment("relatorio.pdf"); // anexo
if( $phpMailer->Send() )
print 'Msg enviada';
else
print 'Msg não enviada, tente novamente';
?>
Também é possível o envio de email autenticados usando o Gmail
, só lembrando você de habilitar no php.ini a extension ‘;extension=php_openssl.dll’.
Links interessantes
Bom pessoal é isso, para quem quer dar uma estudada ainda de uma procurada em envio de emails via socket, uma maneira uma pouco mais complexa para o envio de emails, lembrando apenas que o PHPMailer já faz isso para você.
*A Indentação
do código ficou estranha com esse plugin de code que estou usando, vou resolver isso logo logo…
[]s
As melhores fotos sobre Enviar email com o PHP
Vídeos incríveis sobre Enviar email com o PHP
Clique na imagem para assistir
Clique na imagem para assistir
Clique na imagem para assistir
Clique na imagem para assistir
Clique na imagem para assistir
Clique na imagem para assistir
Clique na imagem para assistir
Clique na imagem para assistir
Comentários
Não testei, mas algo me diz que isso vai salvar minha vida hehe
[]‘s
Fala @rochester, realmente a PHP Mailer é excelente.
Boa tarde,
Coloquei um código parecido com esses em meu Site, para que o usuário entre em contato. Mas gostaria que ele tivesse o seguinte comportamento: Não enviasse o email se o usuário não colocasse informações em alguns desses campos. Alguém poderia me ajudar?
Desde já agradeço,
Leandro
Olá Leandro, faça uma busca no Google por validação JavaScript.
cara, eu tambem uso o php mailer, mas estou com um sério problema. nao consigo enviar e-mail para e- mails do terra. ;/ alguem tem uma solução:?