Globedia.com

×

Error de autenticación

Ha habido un problema a la hora de conectarse a la red social. Por favor intentalo de nuevo

Si el problema persiste, nos lo puedes decir AQUÍ

×
×
Recibir alertas

¿Quieres recibir una notificación por email cada vez que Darkchicles escriba una noticia?

Enviar correo electrónico con PHP - PHPMailer

20/05/2011 08:33 0 Comentarios Lectura: ( palabras)

Si, alguna vez necesitamos enviar un correo electrónico con PHP, gracias a la recomendación de http://twitter/ivonsue conocí una librería de PHP, 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 pagina PHP que envié correo utilizando una cuenta de terra.com.mx

1.- Nos creamos una cuenta en terra.com.mx especialmente para enviar correos desde allí.

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

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

4.- Creamos un archivo php con lo siguiente:

    1:  < ?php< /pre> 
    2:      require( "class.phpmailer.php" );
    3:      $mail             =  new  PHPMailer(); 
    4:      $mail-> IsSMTP(); 
    5:      $mail-> SMTPAuth   =  true ;
    6:       //$mail-> SMTPSecure = "ssl";  
    7:      $mail-> Host       =  "smtp.terra.com.mx" ;
    8:      $mail-> Port       = 587; 
    9:      $mail-> Username   =  'micorreodeterra@terra.com.mx' ;
   10:      $mail-> Password   =  "myPassWord" ;
   11:       //> > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > >  
   12:       //====== DE QUIEN ES ======== 
   13:      $mail-> From       =  "micorreodeterra@terra.com.mx" ;
   14:      $mail-> FromName   =  "Mi Nombre" ;
   15:      $mail-> AddAttachment( "images/foto.jpg" ,  "foto_regalo.jpg" );  //Archivo adjunto 
   16:       //====== PARA QUIEN ========= 
   17:      $mail-> Subject    =  "Test Mail" ;
   18:      $mail-> AddAddress( "juanscutiaa@terra.com.mx" , "Para ti juan" );
   19:      $mail-> AddAddress( "albertinn@hotmail.com" , "Para ti alberto" );
   20:      
   21:       //Cuerpo del mensaje 
   22:      $mail-> Body      =  "HOLA ESTO ES UNA PRUEBA" ;
   23:      $mail-> Send(); 
   24:  ?>

5.- Colocamos nuestro archivo php en la misma carpeta que los archivos class.phpmailer.php y class.smtp.php que descargamos de la pagina de phpMailer.

image

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

«Por ultimo me gustaría explicar un poco el código de la pagina para no dejar alguna duda, a mi parecer es bastante sencillo pero quien sabe ;) »

En la línea:

    1:  require( "class.phpmailer.php" );

Simplemente "importamos" los métodos necesarios de la clase phpmailer

En la línea:

    1:  $mail             =  new  PHPMailer(); 

Creamos un objetos de tipo PHPMailer, para poder interactuar con sus

métodos.

En las líneas:

    1:  $mail-> IsSMTP(); 
    2:      $mail-> SMTPAuth   =  true ;
    3:       //$mail-> SMTPSecure = "ssl";  
    4:      $mail-> Host       =  "smtp.terra.com.mx" ;
    5:      $mail-> Port       = 587; 
    6:      $mail-> Username   =  'micorreodeterra@terra.com.mx' ;
    7:      $mail-> Password   =  "myPassWord" ;

Configuramos el SMTP de terra.com.mx ;) colocamos los datos de nuestra cuenta de terra.

En las líneas:

    1:   //====== DE QUIEN ES ======== 
    2:  $mail-> From       =  "micorreodeterra@terra.com.mx" ;
    3:  $mail-> FromName   =  "Mi Nombre" ;
    4:  $mail-> AddAttachment( "images/foto.jpg" ,  "foto_regalo.jpg" );  //Archivo adjunto 
    5:   //====== PARA QUIEN ========= 
    6:  $mail-> Subject    =  "Test Mail" ;
    7:  $mail-> AddAddress( "juanscutiaa@terra.com.mx" , "Para ti juan" );
    8:  $mail-> AddAddress( "albertinn@hotmail.com" , "Para ti alberto" );

Configuramos departe de quien es el correo y si deseamos agregar algun 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 mas destinarios simplemente lo hacemos con el método AddAddress.

Ya por ultimo en las líneas:

    1:   //Cuerpo del mensaje 
    2:      $mail-> Body      =  "HOLA ESTO ES UNA PRUEBA" ;
    3:      $mail-> Send(); 

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

Si desean tener una mayor seguridad de que el correo se envió correctamente pueden agregar una condición de la siguiente forma:

    1:   
    2:   if ($mail-> Send()) {
    3:  echo  "Mensaje enviado correctamente" ;
    4:  }  else  {
    5:  echo  "Error al enviar mensaje: "  . $mail-> ErrorInfo; 
    6:  }

Si todo sale correctamente ustedes verían el correo algo similar a esto:

image

*Es muy importante tomar en cuenta que este ejemplo es inseguro ya que al dejar en "texto plano" la contraseña de la cuenta, esta podría ser leída con facilidad.

Gracias Sue :)

image Descargar archivos fuentes

Update: 21-Marzo-2011

Si desean agregar un mensaje que acompañe el mail, basta con agregar las siguientes líneas:

   1:  $htmlBody =  "HTML Email

TituloEsto es un link http://darkchicles.wordpress.com\ title=\"Blog darkchicles\"> Da clic para visitar el blog Tu puedes colocar etiquetas html como lo quieras" ;

   2:   
   3:     $mail-> Body=$htmlBody; 
   4:     $mail-> isHTML( true );

Body, es el cuerpo del mail, allí podremos ocupar código html.

Mas info:

Uso de la clase PHPMailer

PHP Mailer Tutorial (en ingles)

Enviar email con PHPMailer utilizando tu cuenta de Gmail

Otro ejemplo para enviar correos con PHPMailes desde tu propio smtp

Configurar Outlook 2007 con cuenta de hotmail

PHPM@iler: http://phpmailer.worxware.com/

Be the first to like this post. 6 comentarios
  1. en febrero 1, 2011 a 1:06 am | Responder Chinchu

    Que padre empezare a creear mi página agregandole la opcion de correo.

    Gracias Chickles y Sue por aportar apuntes como este que a varios les puede servir como a miguelito(osea yo) jejejeje.

  2. en Febrero 2, 2011 a 9:49 am | Responder jacK

    Buenos Dias mi estimado Darkchicles

    que tal ehh, ya tenia un rato que no veia algo nuevo y apenas entro y veo un buen aporte en php, sigue publicando con el buen animo de siempre.

    Saludos a Sue

  3. en marzo 30, 2011 a 6:43 pm | Responder elmer

    sadasdsd

    • en marzo 31, 2011 a 2:09 am | Responder darkchicles

      dsfsgfdgdgdfgdgdfgdgg gfdgdfgdfg

  4. en marzo 31, 2011 a 2:15 pm | Responder xaam

    Interesante el tema, pero como le hago si tengo un formulario y quiero adjuntar un archivo y enviarlo. porque alli adjuntas algo pero ya defines tu archivo..en cambio yo lo quiero mostrar un sitio con el formulario que adjunte archive y que lo envie… Urgente ayudenme

    • en abril 3, 2011 a 6:06 pm | Responder darkchicles

      Una forma de hacerlo es que implementaras un ‘ UPLOAD’ donde el servidor reciba el archivo deseado, y posteriormente hagas referencia a el (adjuntar), cuando envies el mail. Espero te sea util esta idea.

RSS de los Comentarios

Deja un comentario Cancelar respuesta

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

Nombre *

Web

Comentario

Puedes usar las siguientes etiquetas y atributos HTML:

Recibir siguientes comentarios por correo.

Recibir nuevas entradas por email.

Blog de WordPress.com.

Theme: MistyLook by Sadish.


// /* */ _qoptions={qacct:'p-18-mFEk4J448M', labels:'language.es, type.wpcom, posttag.%e2%96%ba-php, posttag.con-php, posttag.configurar-phpmailer, posttag.configurar-smtp, posttag.correo, posttag.email-con-php, posttag.enviar-correo, posttag.enviar-correo-php, posttag.mailer, posttag.mailing, posttag.php-email, posttag.phpmailer, posttag.smtp, posttag.terra, as'};

/* */ _acseed='JlZZSUUlYjhpbVAwLkRzVV48LnxyXj9BKV1nV296SFJCSW5tWEhQXiZ8QzsxMVR6LkJ6VlhXRlo1bUt1a105MWIjalAqX210R1kwQSNAYWFnOmJjWnh9YkdPaj1qS114anBFVjZgeT9aKE0xK057eUxaYFdQSGZnOmE1NmJLdHNaZWA6KXdRNkh6R19zfVAo'; try{COMSCORE.beacon({c1:2, c2:7518284}); }catch(e){}


Sobre esta noticia

Autor:
Darkchicles (9 noticias)
Fuente:
darkchicles.wordpress.com
Visitas:
5721
Tipo:
Reportaje
Licencia:
Creative Commons License
¿Problemas con esta noticia?
×
Denunciar esta noticia por

Denunciar

Comentarios

Aún no hay comentarios en esta noticia.