Enviando email em formato HTML em PHP

Neste artigo vamos mostrar como é simples enviar um email em formato HTML usando a linguagem PHP. Apesar de minha preferência ser receber emails em formato texto, muitas vezes é necessário o envio de um email bem formatado, com hiperlinks, fontes destacadas, etc.

[ Hits: 60.097 ]

Por: Fábio Berbert de Paula em 06/11/2002 | Blog: https://youtube.com/c/cotidianohackeado


Introdução



A função mail() do PHP nos permite enviar email através de um script de forma simples e objetiva. Vamos supor que deseja-se enviar um email para [email protected] avisando à ele sobre o seu sucesso no desenvolvimento em PHP. Vamos ao código:

<?
mail(
"[email protected]",
"Oi Fábio",
"Meu script para envio de email deu certo !"
);
?>
O comando mail() é definido da seguinte forma:

bool mail ( string to, string subject, string message [, string additional_headers [, string additional_parameters]])

Em nosso primeiro exemplo definimos apenas os campos to, subject e message, mas ainda existem os cabeçalhos adicionais que podem ser definidos e são opcionais. Sempre que você estiver consultando a sintaxe de uma função e encontrar parâmetros delimitados por [] (colchetes), significa que os mesmos são opcionais, ou seja, você pode omiti-los.

Sendo assim, para enviar um email em formato HTML, basta informar que o mesmo é do tipo text/html através do cabeçalho do email e digitar tags Html misturadas com o texto da mensagem no campo subject. Vamos ao código:
<?

$to = "[email protected]";
$subject = "Olá, mundo!";
$html = "
<html>
<body>
Este é meu <b>primeiro</b> email em formato HTML!
</body>
</html>";
$headers = "Content-type: text/html; charset=iso-8859-1\r\n";

if (mail($to, $subject, $html, $headers)) {
echo "Email enviado com sucesso !";
} else {
echo "Ocorreu um erro durante o envio do email.";
}

?>
Como a função mail() retorna um valor booleano (verdadeiro ou falso) de acordo com o status de envio de email, podemos tratar uma mensagem de sucesso ou de erro durante o envio de email.

Atenciosamente,
Fábio Berbert de Paula
[email protected]br

   

Páginas do artigo
   1. Introdução
Outros artigos deste autor

SQL Dicas & Truques (parte 2)

Implementando um tradutor de línguas no seu web site

Como baixar vídeos do Facebook via terminal

Entrevista com um hacker, via Internet

Como jogar poker no Full Tilt Poker pelo Linux

Leitura recomendada

VirtualBox + Apache + PHP + SQL Server

Armazenando datas de uma outra forma

Expressões regulares no PHP

Segurança: Autenticando o PHP com HTTP (Authentication Required)

Ambiente LAMP no Debian

  
Comentários
[1] Comentário enviado por crynos em 29/07/2004 - 09:53h

Estou tendo um problema com html mail aqui na empresas. O script envia o email certinho , mas come algumas letras as vezes, letras simples como B , A, C ... alguem sabe se tem curA?

[2] Comentário enviado por tranco_rj em 21/03/2005 - 07:05h

Estou precisando de um exemplo para receber email com anexo. Tem alguém que poderia me auxiliar?

[3] Comentário enviado por fawill em 01/10/2005 - 17:55h

Eu gostaria de Saber se tem problema da variável $html receber dados concatenados???
exemplo:

$var="http://www.clickinfoweb.com.br/cursos/";
$html = "
<html>
<body>
<a href='$var'>
Este é meu <b>primeiro</b> email em formato HTML!
</a>
</body>
</html>";


Grato.

[4] Comentário enviado por barucco em 02/12/2005 - 12:11h

Criei um script em PHP para envio de email. Tipo, o cara recebe uma newsletter por email e o script é feito para essa pessoa reenviar a newsletter para um ou mais amigos.
Bem eu acesso uma tabela onde está o link dessa newsletter, pego o link, uso a função show_source($newsletter) e como faço para reenviar a newsletter já em formato HTML para os amigos da pesssoa?? Só consigo reenviar como código fonte.
Obrigado!!

[5] Comentário enviado por lionforte em 20/02/2006 - 19:58h

ola cara tu ta bem

sim quero uma ajuda sua sobre php e se pode podemos ter um sistema politico financeiro em sua ajuda ok ,,,


e sobre envio de emails em php ....

grato


[email protected] add ai mano





[6] Comentário enviado por PaMCastanheirA em 08/08/2006 - 09:40h

Olá.
Como faço pra enviar um anexo?

[7] Comentário enviado por HackSpy em 21/12/2006 - 17:37h

gostaria de saber de você se você sabe algum script PHP em que eu fico sabendo se um e-mail enviado via função mail() foi recebida pelo cliente ou retornou mail failure?

[8] Comentário enviado por moon-coder em 07/08/2007 - 04:03h

cara com esse script eu consigo enviar so um e-mail ou consigo enviar uma lista inteira tipo 1000 emails ?
sou leigo nesta area
um abraço e vlw

[9] Comentário enviado por wallace2anjos em 22/06/2013 - 21:09h

Cara muito obrigado !
Você me ajudou muito !


Contribuir com comentário




Patrocínio

Site hospedado pelo provedor RedeHost.
Linux banner
Linux banner
Linux banner

Destaques

Artigos

Dicas

Tópicos

Top 10 do mês

Scripts