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: 63.973 ]

Por: Fábio Berbert de Paula em 06/11/2002 | Blog: https://www.instagram.com/alexabolada/


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 fabio@vivaolinux.com.br avisando à ele sobre o seu sucesso no desenvolvimento em PHP. Vamos ao código:

<?
mail(
"fabio@vivaolinux.com.br",
"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 = "fulano@seudominio.com";
$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
fabio@vivaolinux.com.br

   

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

A trajetória do Viva o Linux - retrospectiva 2003/2004

Criando sites para celular com WML

Criando Aplicativos Mobile com React Native

Viva o Linux com bate-papo via web

Tags automáticas em URLs com a classe urlmatch da PHP

Leitura recomendada

Dicas básicas de segurança no PHP

Organizando projetos com a classe FastTemplate (parte 1)

Utilizando PEAR

PEAR - Utilizando classes prontas e documentadas no PHP

PHP Orientado a Objetos

  
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


fabio_llindao@hotmail.com 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

Destaques

Artigos

Dicas

Tópicos

Top 10 do mês

Scripts