Entradas etiquetadas como ‘► PHP’

Enviar correo electrónico con PHP – PHPMailer

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
   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 🙂

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><head><title>HTML Email</title></head><body>
<br /><h2>Titulo</h2><p>Esto es un link
<a href=\https://darkchicles.wordpress.com\
title=\"Blog darkchicles\">Da clic para visitar el blog</a>
Tu puedes colocar etiquetas html como lo quieras</p>"
;

   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/

Anuncios

Taller – PHP & jQuery “Freedom Day UPIICSA OSUM”

Para los asistentes al taller de PHP & jQuery aqui dejo el material que les prometí:

– Presentación de Power Point usada en el taller
 jQuery.pdf

– Documento con todos los códigos usados en el taller
  Apuntes_PHP-jQuery.pdf

– Código fuente de todos los ejercicios
  Codigo_fuente_PHPjQuery.rar 

– Archivo de texto que contiene las direcciones para ver los videos de jQuery
 LEAME.txt

 

*Si requieren el *.pptx  ó en *.docx no duden en pedírmelo a la dirección de darkchicles[ar]student-partners.com

 

image

Paginas PHP en Expression Web

Si al tratar de correr una pagina PHP en Expression Web nos aparece el siguiente error:

image 

Entonces tendremos que configurar nuestro servidor de PHP para que funcione con Expression Web.

Esto es muy fácil:

1.- Si no tenemos un motor dinámico PHP (Mas info) entonces descargamos la aplicación XAMPP

2.- Una vez instalada Abrimos Expression web y creamos una pagina llamada:

phpinfo.php

Colocamos el siguiente código:

   1: <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
   2: <html xmlns="http://www.w3.org/1999/xhtml">
   3: <head>
   4: <meta content="text/html; charset=utf-8" http-equiv="Content-Type" />
   5: <title>Sin título 1</title>
   6: </head>
   7: <body>
   8: <?php
   9: phpinfo();
  10: ?>
  11: </body>
  12: </html>

 

3.-En Expression Web damos clic en el menu Herramientas –> Opciones de Aplicación

image

y en la ruta colocamos la siguiente: C:\xampp\php\php-cgi.exe

Damos clic en Aceptar, Guardamos nuestra pagina y probamos image

Aparece el siguiente mensaje:

image

Presionamos en SI.

Y listo =) nuestra pagina PHP corriendo en Expression Web

image

Levantar Servidor Web PHP por módulos

Hace ya un rato que tengo estos documentos que realice…. sobre como levantar un servidor PHP en nuestra pc desde cero… y con módulos (instalación independiente de Apache,PHP y MySQL), como no quiero que mueran sin ser leídos los comparto con ustedes:

*Tienen explicación desde cero

*Tienen ilustraciones paso por paso

*Explicación a prueba de errores XD

*Links a las paginas para bajar los programas

*Todo bajo un entorno de WINDOWS VISTA

Introducción a las páginas web dinámicas

Instalando el modulo de apache con PHP

Instalando MySQL

Y una sorpresa mas… XD si descubro como hacer mas pequeños los archivos de video que tengo por allí SUBIRE los video tutoriales de este articulo.

=) Si les gusto … comenten 😉 un poquito aunque sea…

Listo el taller gratuito

POST RAPIDO:

Ya esta listo el taller free ESTE ES EL VERDADERO LINK: http://www.upiicza.com/taller

Nube de etiquetas