Enviar HTML E-Mails con PHPMailer



1- Averiguar que version de PHP tienes instalada.

<?php
echo phpversion();
?> 

2- De acuerdo a la version que tengas descargar PHPMailer desde aqui .
3- Luego descomprimir el archivo que descargaste en la carpeta de tu proyecto.
4- Crear el archivo index e incluir el siguiente codigo:

<?php
$destinatario = 'destinatario@algo.com';
$nombre = 'Juana';
$apellido = 'Almonte';

require("PHPMailer-master/class.phpmailer.php");

$mail = new PHPMailer();

$mail->IsSMTP(); // Enviar via SMTP
$mail->Host = "smtp.gmail.com"; // SMTP servers
$mail->SMTPAuth = true; // encender SMTP autenticacion
$mail->SMTPSecure = 'ssl';
$mail->Port = 465;
$mail->Username = "mi_email@gmail.com"; // aqui escribe tu correo de gmail
$mail->Password = "mi_contrasena"; // aqui escribe tu contrasena del correo 

$mail->From = "mi_email@gmail.com";
$mail->FromName = "PHPMailer prueba";
$mail->AddAddress($destinatario,$nombre.' '.$apellido);
$mail->AddReplyTo("mi_email@gmail.com","PHPMailer.com");

$mail->WordWrap = 50; // establecer word wrap

$mail->IsHTML(true); // enviar como HTML

$mail->Subject = "PHPMailer mensaje de prueba";
$mail->Body = "
<!DOCTYPE html PUBLIC '-//W3C//DTD XHTML 1.0 Transitional//EN' 'http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd'>
<html xmlns='http://www.w3.org/1999/xhtml'>
<head>
<meta http-equiv='Content-Type' content='text/html; charset=UTF-8' />
<title>PHPMailer E-mail</title>
<meta name='viewport' content='width=device-width, initial-scale=1.0'/>
</head>
<body style='margin: 0; padding: 0;'>

<table width='600px' bgcolor='#ffffff' style='border:1px solid #CCCCCC; color: #696969; border-collapse: collapse; padding:15px 10px 20px 10px; margin: 5px 0;'>
<tr>
<td width='100%' bgcolor='#1fc8f2' style='padding: 5px; letter-spacing: -3px; color: #ffffff; font-size: 24px; border-bottom: 2px dashed #f2821f;'> TuEmail </td>
<td width='30%'> </td>
</tr>

<tr>
<td style='padding: 0 15px;'>Hola <strong>$nombre $apellido,</strong></td> 
<td width='30%'> </td>
</tr>

<tr>
<td style='padding: 0 15px;'> Este es un email de prueba </td>
<td width='30%'> </td>
</tr>


<tr>
<td bgcolor='#EFEFEF' style='padding: 0 0 10px 5px;'>Gracias por aprender con nosotros.<br /> <i> BlueProgramming Staff </i> </td>
<td width='30%'> </td>
</tr>

</table>
</body>
</html>
";
$mail->AltBody = "Este es un mensaje de solo texto";


if(!$mail->Send())
{
echo "el mensaje no fue enviado";
echo "Mailer Error: " . $mail->ErrorInfo;
exit;
}

echo "El mensaje ha dijo enviando";

    
?>


5- Editar el codigo de acurdo a tu necesidad ej
La variable $destinatario cambiar por el correo al que quieras que llegue este correo de prueba.
En este ejemplo se envia mediante el server de Gmail por lo que es obligatio en username escribir un correo de tu propiedad (desde el que se enviara el email) que sea de Gmail y en password escribir la contrasena de ese correo.

En la parte del body o cuerpo de el mensaje esta todo el codigo HTML que se enviara al correo. Algunas notas que hay que tener en cuenta al enviar correos HTML son las siguientes:

a) Procura usar la menor cantidad de CSS para el estilo del mensaje. En vez de eso se recomienda usar los  atributos HTML como por ejemplo para el color de fondo la una tabla bgcolor en vez de background-color de CSS.

b) Cuando asignes colores siempre hacerlo de la forma larga de seis caracteres debido a la que forma corta de tres no siempre va a funcionar.

Puedes descargar este ejemplo desde aqui.




Descargar Paint Tool SAI Portable gratis

Paint Tool SAI es una herramienta ligera de dibujo para Microsoft Windows.

Link de descarga

Algunos ejemplos de dibujos hechos con esta herramienta:





Otros menos profesionales




Factura en DFD

Para emprezar en una figura de lectura declaramos las variables canart y precio.

Elemento Variable
Cantidad de articulos canart
Precio del articulo precio

Luego en una figura de asignacion asignamos a las constantes itbis, subtotal y total las siguientes operaciones:
Constante Operacion
itbis cantart*precio* 0.16
subtotal cantart *precio
total cantart *precio + itbis

En una figura de Salida escribimos el sigte mensaje (entre comillas simples):
'Desea aplicar descuento : si/no'

En la figura de lectura leemos la variable "d". Para cuando se lea esta variable si deseamos aplicar el descuento escribimos 'si', si no deseamos aplicar descuento entonces escribimos 'no' (entre comillas simples).

Despues colocamos una variable de Desicion con el texto: d='si'. Esto pregunta si la variable "d" es igual a 'si'. Si es asi el programa seguira ejecutandose hacia la derecha, de lo contrario se ira hacia la izquieda.

En caso de que se aplique el descuento, utilizaremos una variable de lectura con llamada "desc" que representara el valor del descuento a aplicar a la factura. 

Despues con una figura de asignacion asignamos a las variables p_desc, tdesc y total_desc las sigtes opetaciones.

ConstanteOperacion
p_descdesc /100
tdesctotal * p_desc
total_desctotal -tdesc


En caso de que no se valla a aplicar un descuento a la factura es necesario asignar a las constantes p_desc y total_desc el valor de 0, en ua figura de asignacion de el lado izquierdo de la figura de Desicion.

Finalmente en una figura de Salida insertar las variable necesarias para imprimir la factura.

'precio=',precio, '   ','itbis=',itbis ,'   ','subtotal=',subtotal ,'   ','total=',total ,'   ', 'descuento=' ,p_desc, '%', '  ' ,'descuento aplicado=',total_desc