InicioHazlo Tu MismoLa mejor manera de enviar emails HTML con PHP

La mejor manera de enviar emails HTML con PHP

Hazlo Tu Mismo6/29/2010
Cansado de enviar emails sin diseño, que pasan desapercibidos o no se ven correctamente? En el artículo de hoy vamos a encargarnos de conocer cómo enviar emails HTML con PHP, formateados para que luzcan bonitos.
PHP usa la función mail() que puede ser usada con HTML para enviar un correo desde el backend con los datos que queramos.

mail($to, $subject, $message, $headers);
El ultimo parámetro, los titulares ($headers), son opcionales para la función pero se requieren para mandar un e-mail HTML; porque esto es lo que permite mandar una declaración de tipo de contenido que le informa al cliente (de correo electrónico) que debe analizar el e-mail como HTML.
De hecho, los titulares nos están dando la oportunidad de llevar a cabo una gran cantidad de funciones de e-mail importantes. Aquí es dónde podemos setear las propiedades From y Reply To, como así también CC y BCC a otros receptores. Este es el código que debemos utilizar:
PLAIN TEXT
$to = '[email protected]';

$subject = 'Asunto del email';

$headers = "From: " . strip_tags($_POST['req-email']) . "rn";
$headers .= "Reply-To: ". strip_tags($_POST['req-email']) . "rn";
$headers .= "CC: [email protected]";
$headers .= "MIME-Version: 1.0rn";
$headers .= "Content-Type: text/html; charset=ISO-8859-1rn";
Ahora podemos utilizar etiquetas HTML
El parámetro mensaje (un gran string que pasamos a la función mail con el cuerpo de nuestro mensaje), ahora puede tener etiquetas HTML. Por ejemplo:
PLAIN TEXT
$message = '<html><body>';
$message .= '<h1>Hola, mundo!</h1>';
$message .= '</body></html>';
Aquí les dejo un ejemplo para incluir una tabla con datos:
PLAIN TEXT
$message = '<html><body>';
$message .= '<img src="http://tudominio.com/images/logo.png" alt="Logotipo" />';
$message .= '<table rules="all" style="border-color: #666;" cellpadding="10">';
$message .= "<tr style='background: #eee;'><td><strong>Nombre:</strong> </td><td>" . strip_tags($_POST['req-name']) . "</td></tr>";
$message .= "<tr><td><strong>Email:</strong> </td><td>" . strip_tags($_POST['req-email']) . "</td></tr>";
$message .= "<tr><td><strong>Opcion:</strong> </td><td>" . strip_tags($_POST['typeOfChange']) . "</td></tr>";
$message .= "<tr><td><strong>Urgencia:</strong> </td><td>" . strip_tags($_POST['urgency']) . "</td></tr>";
$message .= "<tr><td><strong>URL:</strong> </td><td>" . $_POST['URL-main'] . "</td></tr>";
$addURLS = $_POST['addURLS'];
if (($addURLS) != '') {
$message .= "<tr><td><strong>URL (adicional):</strong> </td><td>" . strip_tags($addURLS) . "</td></tr>";
}
$curText = htmlentities($_POST['curText']);
if (($curText) != '') {
$message .= "<tr><td><strong>Contenido actual:</strong> </td><td>" . $curText . "</td></tr>";
}
$message .= "<tr><td><strong>Nuevo contenido:</strong> </td><td>" . htmlentities($_POST['newText']) . "</td></tr>";
$message .= "</table>";
$message .= "</body></html>";
Esto luce mucho más bonito. ¿Verdad?
A tener en cuenta
Algunas personas simplemente odian por completo el correo electrónico HTML. Por un lado, puede ser un riesgo de seguridad ya que es posible ejecutar JavaScript en ellos, en algunos clientes de correo electrónico, lo cual puede ser problemático. Además, los correos electrónicos HTML también tienen la costumbre de ser más fácilmente enviados a la carpeta de Spam. Pero creo que es una preocupación menor aquí como este correo electrónico es esencialmente creado por tí y para tí.
En CSS-Tricks encontrarán una demo y podrán descargar los archivos utilizados en el ejemplo

fuente:webmaster.com
Datos archivados del Taringa! original
3puntos
1,740visitas
0comentarios
Actividad nueva en Posteamelo
0puntos
2visitas
0comentarios
Dar puntos:

Dejá tu comentario

0/2000

Autor del Post

g
gaboviolista🇦🇷
Usuario
Puntos0
Posts11
Ver perfil →
PosteameloArchivo Histórico de Taringa! (2004-2017). Preservando la inteligencia colectiva de la internet hispanohablante.

CONTACTO

18 de Septiembre 455, Casilla 52

Chillán, Región de Ñuble, Chile

Solo correo postal

© 2026 Posteamelo.com. No afiliado con Taringa! ni sus sucesores.

Contenido preservado con fines históricos y culturales.