Enviar correo usando un servidor SMTP con PHP

Dentro de las funcionalidades básicas de cualquier aplicación web se encuentra la comunicación con el usuario a través de correo electrónico. Tenemos la opción fácil y directa de usar la función mail() de PHP que usa un demonio de SMTP propio (suele ser sendmail), sin embargo, los filtros de spam harán su labor y aunque seamos confiables, tenemos todas las papeletas para que nos tachen de los contrario y el correo no llegará a su destino.

Enviar correo usando servidor SMTP con PHP

La solución es usar un servidor SMTP externo, aquí mismo explicamos cómo hacer uso del servidor SMTP de Gmail para usarlo dentro de WordPress, pero vamos a explicaros un método válido para cualquier aplicación que desarrolléis con PHP.

Lo primero que tenemos que hacer es descargar la clase que se encargará del trabajo, es software libre bajo licencia GPL, hablamos del proyecto PHPMailer. Descargamos la última versión disponible para nuestra versión de PHP (aquí hablaremos de la versión más actual, la que corresponde con PHP 5) y descomprimimos.

Nos comenta danipelon que la versión oficial del proyecto está ahora en GitHub, esta es la dirección.

Leer más » 26 Comentarios

¡Feliz Navidad y Feliz Año 2015 a todos!

El 2014 ya es historia y con él se han quedado las Navidades que acabamos de pasar. Como veréis, no llegamos a tiempo a hacer la entrada que año tras año nos gusta hacer deseando desde aquí Feliz Navidad y Feliz salida y entrada de año pero como todavía empezando el año, aquí está nuestra felicitación navideña.

tux_navidad

Aprovecho para mostraros una lista de las diez entradas más vistas en este año en Linux Hispano, algunas tienen ya bastante tiempo pero siguen siendo verdaderas triunfadoras. read more

Leer más » 2 Comentarios

Hospedaje Web

Mi Opinión Personal

La forma y estilo de vida, que de una u otra forma es la que predomina en la sociedad en donde vivimos; en mi caso, se trata de Venezuela quien no escapa de la realidad mundial, ni de la obsolescencia del pensamiento.

Es necesario tener presente antes de iniciar algún tipo de proyecto; y no me refiero a ninguno en especial al menos por el momento, que se debe luchar de manera sistemática en contra de toda imposición modista (de moda). Ya que si no utilizamos la capacidad creadora, analítica y descriptiva que habita en nosotros desde el momento en que nacemos y que viene a ser la culpable de impulsarnos a aprender y adquirir conocimientos a cada segundo de nuestras vidas; terminaremos siendo borregos, esclavos orgullosos de serlos y alienados por el peor de los métodos, la auto convicción. read more

Leer más » 1 Comentario

Enviar Mails con Java

Algunas de las aplicaciones que realizamos como programadores tienen la necesidad de Enviar Correos Electronicos por muchas razones, aqui veremos como realizarlo con JavaMail. JavaMail es una expansion de Java (no viene incluida, es un paquete externo) que facilita la Gestion de Correos Electronicos desde Java, se encarga de las tareas de conexion, autentificacion, seguridad y encriptacion para facilitar la tarea de los programadores. En este Ejemplo veremos como enviar mails con java utilizando una cuenta de Gmail a la que JavaMail se conectara, veamos como hacerlo…

Leer más » 4 Comentarios

Formularios de contacto en WordPress. Instalación, configuración y uso

Los formularios de contacto son algo tan básico en el día a día de cualquier web, que cuanto más fáciles y estándares puedas hacerlo mejor será para ti y para tu cliente si es que estás desarrollando la web para un tercero. Los formularios de contacto, suelen tener dos problemas:

  1. Un spammer puede hacer uso de ellos
  2. Los mensajes enviados pueden quedar en la carpeta Spam

La solución que os proponemos hoy, es fácil de implementar y supera estos dos problemas. Empecemos.

Instalación de plugins

En concreto, debemos utilizar tres plugins:

  • JetPack que nos dará la posibilidad de crear el formulario de contacto fácilmente
  • Akismet que hará la revisión anti spam para evitar que spammers usen el formulario para hacernos llegar spam
  • Configure SMTP para usar un servidor de SMTP y estar seguros de que los mensajes llegarán correctamente a nuestra bandeja de entrada

Configuración SMTP

Una vez instalado el último plugin, nos vamos a Ajustes -> SMTP y ahí configuramos servidor, usuario y contraseña de la cuenta de correo que usaremos para enviar correos. read more

Leer más » 2 Comentarios

Habilitar o deshabilitar rápidamente todos los plugins de WordPress desde la base de datos

Cuando sufrimos el temido “pantallazo blanco de la muerte” de WordPress, podemos estar sufriendo, entre otros problemas, una incompatibilidad entre plugins o de un plugin en particular. No podemos acceder al panel de administración y necesitamos tratar de resolverlo cuanto antes. ¿Qué hacemos? Deshabilitar todos los plugins desde la base de datos. Veamos cómo hacerlo.

WordPress Plugins

Ésto puede ser también útil no sólo para problemas de pantallazos, sino para ahorrar tiempo en la habilitación o deshabilitación de plugins.

Veamos, lo primero que tenemos que hacer es acceder a nuestra base de datos. Con los datos de inicio de sesión que tiene WordPress almacenados internamente en “wp-config.php” podemos acceder usando un cliente como:

Leer más » 1 Comentario

Curso PHP orientado a objetos – Clases de terceros, encapsulamiento

Una de las grandes ventajas, además de todas las ya explicadas y comentadas, es la facilidad con que se puede encapsular todo, para que en desarrollos posteriores no haya problema alguno. La implementación pasa a un segundo plano y se utiliza como una caja negra que funciona de manera simple. Los atributos: públicos, privados y protegidos; que hemos comentado en un punto anterior, son la base del encapsulamiento.

Imaginad que en una aplicación web, necesitamos generar un fichero PDF o interactuar con el servidor de correo de Gmail o Google Apps. Como es lógico, sería costoso perder tanto tiempo en desarrollar algo de cierta dificultad y que ya existe. La solución, encontrar una clase que se encargue de alguna de estas labores. Quien dice estas dos labores, dice otras muchas, pero he puesto estos dos ejemplos porque he tenido que hacer uso de los mismos hace no mucho.

¿Cómo utilizar dichas clases?

Lo primero es encontrarlas. Por ejemplo, en el caso de interactuar con el servicio de correo de Google tenemos PHP Mailer. Las clases se presentan en ficheros fuente de PHP que deberemos agregar convenientemente a nuestro código con algunas de las instrucciones (elegiremos cada una en función a nuestras necesidades) que mostramos a continuación y que seguro que habéis usado en más de una ocasión:

  • require(ruta_fichero);
  • include(ruta_fichero);
  • require_once(ruta_fichero);
  • include_once(ruta_fichero);

Una vez agregado a nuestro código ya podremos interactuar con ella. Primero la instanciaremos y luego interactuaremos con sus atributos y sus métodos. Con PHPMailer podríamos hacer algo así:

<?php require_once 'class.phpmailer.php'; $correo = new PHPMailer (); $correo->From = "nombre_usuario@gmail.com"; $correo->FromName = "Foo"; $correo->AddAddress ("destinatario@dominio.com"); $correo->Subject = "Mensaje de parte del equipo Linux Hispano"; $correo->Body = "<h3>Enviando con Gmail<h3/>"; $correo->IsHTML (true); $correo->IsSMTP(); $correo->Host = 'ssl://smtp.gmail.com'; $correo->Port = 465; $correo->SMTPAuth = true; $correo->Username = 'nombre_usuario@gmail.com'; $correo->Password = '******'; if(!$correo->Send()) { echo 'Ha ocurrido un error: ' . $mail->ErrorInfo; } else { echo 'Correo enviado con éxito'. } ?> read more

Leer más » 6 Comentarios

Enviar correos con C# usando Mono

Si necesitáis conectaros a un servidor SMTP para hacer envíos de correos desde una aplicación que corre Mono, os dejo el código siguiente que seguro que os es de utilidad. Este ejemplo en concreto envía un mensaje usando un SMTP que requiere autenticación, si necesitáis alguna variantes: varios destinatarios, SMTP sin autenticación o cualquier otra cosa, ¡preguntad en los comentarios!

public static void Main (string[] args) { MailAddress para = new MailAddress("para@direccion.com"); MailAddress desde = new MailAddress("desde@direccion"); MailMessage mensaje = new MailMessage(desde, para); mensaje.Subject = "Asunto"; mensaje.Body = @"Cuerpo del correo"; SmtpClient cliente = new SmtpClient("direccion_servidor", puerto); cliente.Credentials = new System.Net.NetworkCredential ("nombre_usuario", "contraseña_usuario"); Console.WriteLine("Enviando mensaje de correo para: " + para.User + " en " + para.Host + " usando el servidor=" + cliente.Host + "."); try { cliente.Send(mensaje); Console.WriteLine("Mensaje enviado"); } catch (Exception ex) { Console.WriteLine("Problemas enviando mensaje: " + ex.ToString()); } } read more

Leer más » 5 Comentarios

Suscribir comentarios en WordPress usando Gmail

Una de los objetivos más importantes del blogger es mantener la conversación en su blog. En ocasiones, los comentarios son aún más importantes que la entrada.

Para favorecer que exista diálogo en el blog entre los visitantes entre sí y con los autores, es básico que puedas saber si han respondido un comentario tuyo sin tener que acceder nuevamente al blog.

De esto nos dimos cuenta hace tiempo, pero Juanlu Pérez nos lo recordó y pocos después me puse al tanto para ponerlo en marcha. Veamos lo que hice. Este mismo manual puede serviros a todos los que usáis WordPress y tenéis una cuenta Gmail. read more

Leer más » 15 Comentarios

PHP Mail tester, comprobando direcciones de correo electrónico

Muchas de las aplicaciones Web, incluso algunas de las que hemos podido construir usan un campo de email que hemos de rellenar para poder continuar. Nos encontramos con el caso de que al proporcionar ese correo basta con especificar el usuario y el dominio separado por una arroba para que se verifique como correcto. En muchos casos, y la evidencia lo refleja, esto no es suficiente, ya que podemos proporcionar un usuario o dominio inventado; es aquí donde aparace PHP Mail Tester.

Esta útil y a la vez sencilla utilidad nos permite comprobar si 1) el servidor existe y si 2) el usuario es válido, para ello, realiza los siguientes pasos: read more

Leer más » 11 Comentarios