Enviando e-mails complexos pelo PHP
Todos sabem que enviar um simples e-mail utilizando o PHP é uma tarefa bastante trivial, mas e se quisermos enviar e-mails em HTML e formando um cabeçalho legítimo de modo a mostrar para os servidores de e-mail que aquele e-mail enviado pelo seu sistema não é um spam e sim um e-mail legítimo?
Usando a mesma função mail() do PHP podemos montar e-mails complexos, com cabeçalho elaborado a fim de mostrar para servidores que é sim um e-mail legítimo como qualquer outro enviado pelo Outlook ou pelo Thunderbird por exemplo.
Em primeiro passo, para desenvolver em PHP você pode usar desde uma IDE completa como o DreamWeaver ou o simples bloco de notas mesmo. Vamos agora então definir as variáveis que irão compor o nosso e-mail:
$mensagem = "Esse é um e-mail de <b>teste</b>.<br><br> Se você recebeu essa mensagem é porque tudo está funcionando!";
A variável $mensagem é o corpo do nosso e-mail, você pode notar que utilizamos código HTML nela.
Agora iremos definir que irá receber e o título da mensagem:
$to = [email protected]; $titulo = "Título do e-mail.";
Agora a parte mais importante, iremos montar o cabeçalho do e-mail, indicando quem enviou, endereço de resposta, servidor de envio e definindo como HTML:
$cabecalho = "MIME-Version: 1.0\r\n"; $cabecalho .= "Content-type: text/html; charset=UTF-8\r\n"; $cabecalho .= "From: [email protected]\r\n"; $cabecalho .= "Reply-To: [email protected]\r\n"; $cabecalho .= "X-Mailer: PHP/".phpversion();
Agora é só montar tudo isso na função mail() do PHP para realizar o envio propriamente dito:
mail($to, $titulo, $mensagem, $cabecalho);
Esse método embora simples tem um cabeçalho bem formado e facilita a vida dos servidores de recebimento evitando que o seu e-mail ou seja considerado spam ou ainda em casos mais extremos nem seja considerado um e-mail válido. Somente para lembrar é necessário que um servidor SMTP esteja devidamente configurado no PHP para que o envio seja bem sucedido.