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 [...]

Texto iniciado em - 5 comentários - voltar à lista principal

Resumo sobre Enviar email com o PHP


Muitos desenvolvedores fazem uso da função mail Link Externo 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 PHPMailerLink Externo, 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á aprenderLink Externo
!
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 GmailLink Externo, 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 Link Externo do código ficou estranha com esse plugin de code que estou usando, vou resolver isso logo logo…
[]s


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 [...]

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

Links mais importantes sobre Enviar email com o PHP

Notícias atualizadas sobre Enviar email com o PHP










Comentários

  • Rochester

    Não testei, mas algo me diz que isso vai salvar minha vida hehe

    []‘s

  • Cristian Trentin

    Fala @rochester, realmente a PHP Mailer é excelente.

  • Leandro Gomes

    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

  • Cristian Trentin

    Olá Leandro, faça uma busca no Google por validação JavaScript.

  • Renan

    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:?