Enviar correo electrónico con PHP – PHPMailer

Si alguna vez necesitamos enviar un correo electrónico con PHP les sugiero una librería PHP que conocí, llamada PHPMailer; la cual facilita en definitivo el envió de email con PHP; entre sus características tenemos:

  • La opción de enviar datos adjuntos.
  • Elegir Servidor SMTP.
  • Tipo de Seguridad SMTP.
  • Cuerpo del mensaje personalizado con HTML.
  • Cuenta a la que se responderá el email.
  • etc…

En fin, sus bondades son muchas, pasemos a lo que nos importa.

Crear página PHP que envié correo utilizando una cuenta de correo que ya tengamos, por ejemplo: yuniels@midominio.cu

1.- Utilizamos una cuenta de correo que tenemos.

2.- Bajamos la librería de PHPMailer de aquí

3.- Levantamos nuestro servidor (en este caso utilizo XAMPP ).

4.- Creamos un archivo.php con lo siguiente:

<?php
require( “class.phpmailer.php” );
$mail  =  new  mosPHPMailer();
$mail-> IsSMTP();
$mail-> SMTPAuth   =  true ;
//$mail-> SMTPSecure = “ssl”; 
$mail-> Host  =  “smtp.midominio.cu” ;     //ejemplo 192.168.100.130
$mail-> Port   =  25;
 $mail-> Username   =  ‘miuser’ ;
 $mail-> Password   =  “miclave” ;
//> > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > 
//====== DE QUIEN ES ========
$mail-> From       =  “yuniels@midominio.cu” ;   
$mail-> FromName   =  “Mi Nombre” ;
$mail-> AddAttachment( “images/foto.jpg” ,  “foto_regalo.jpg” );  //Archivo adjunto
//====== PARA QUIEN =========
$mail-> Subject    =  “Test Mail” ;
$mail-> AddAddress( “juan@gmail.com” , “Para ti Juan” );
//$mail-> AddAddress( “rosa@yahoo.es” , “Para ti Rosa” );
        
//Cuerpo del mensaje
$mail-> Body      =  “CORTESIA http://deprogramacion.cubava.cu” ;
 $mail-> Send();
 
if ($mail-> Send()) {
echo  “Mensaje enviado correctamente” ;
}  else  {
echo  “Error al enviar mensaje: ”  . $mail-> ErrorInfo;
}
?>

 5.- Colocamos nuestro archivo php en la misma carpeta que los archivos class.phpmailer.php y class.smtp.php que descargamos con la librería PHPMailer.

6.- Para probar nuestra página basta con abrir nuestro explorador e ingresar la dirección de nuestra página que acabamos de hacer.

«Por último me gustaría explicar un poco el código de la página para no dejar alguna duda, a mi parecer es bastante sencillo pero quien sabe »

En la línea

require( “class.phpmailer.php” );

Simplemente “importamos” los métodos necesarios de la clase phpmailer

En la línea:

$mail  =  new  mosPHPMailer();

Creamos un objetos de tipo mosPHPMailer, para poder interactuar con sus métodos.

En las líneas:

$mail-> IsSMTP();
$mail-> SMTPAuth   =  true ;
//$mail-> SMTPSecure = “ssl”; 
$mail-> Host  =  “smtp.midominio.cu” ;     //ejemplo 192.168.100.130
$mail-> Port   =  25;
 $mail-> Username   =  ‘miuser’ ;
 $mail-> Password   =  “miclave” ;

Configuramos el SMTP de mi servidor de correo, colocamos los datos de nuestra cuenta.

En las líneas:

//====== DE QUIEN ES ========
$mail-> From       =  “yuniels@midominio.cu” ;   
$mail-> FromName   =  “Mi Nombre” ;
$mail-> AddAttachment( “images/foto.jpg” ,  “foto_regalo.jpg” );  //Archivo adjunto
//====== PARA QUIEN =========
$mail-> Subject    =  “Test Mail” ;
$mail-> AddAddress( “juan@gmail.com” , “Para ti Juan” );
//$mail-> AddAddress( “rosa@yahoo.es” , “Para ti Rosa” );

Configuramos departe de quien es el correo y si deseamos agregar algún archivo adjunto como en este caso una foto que se encuentra en la carpeta images, entonces haremos uso del método AddAttachment , de igual forma colocamos el Asunto del mensaje y los distintos destinatarios, si deseamos agregar más destinarios simplemente lo hacemos con el método AddAddress.

Ya por último en las líneas:

//Cuerpo del mensaje
$mail-> Body      =  “CORTESIA http://deprogramacion.cubava.cu” ;
 $mail-> Send();

Escribimos el cuerpo del mensaje con Body y enviamos el correo con Send()

Para tener una mayor seguridad de que el correo se envió correctamente utilizamos la condición siguiente:

if ($mail-> Send()) {
echo  “Mensaje enviado correctamente” ;
}  else  {
echo  “Error al enviar mensaje: ”  . $mail-> ErrorInfo;
}

Bueno amigos espero que les sirva, saludos y mucha suerte…

Deja un comentario

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *