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

Por: Fábio Berbert de Paula em 06/11/2002 | Blog: https://fabio.city


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

FISL 10: Venturas e desventuras da turma do VOL

Verificando integridade de servidores POP com PHP/sockets

Criando um sistema de banners rotativos em PHP

Tasker - Cotação do dólar usando Javascript

Tradutor de palavras em vários idiomas via shell

Leitura recomendada

Sistema de notícias em PHP

Estatísticas para todos

Sistema de Gerenciamento de Conteúdo

Gerando documento PDF em PHP

Ato 2 - comandos de saída, constantes e operadores em PHP (básico)

  
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
Linux banner
Linux banner

Destaques

Artigos

Dicas

Tópicos

Top 10 do mês

Scripts