Mostrando entradas con la etiqueta PHPMailer. Mostrar todas las entradas
Mostrando entradas con la etiqueta PHPMailer. Mostrar todas las entradas
jueves, 23 de noviembre de 2017
PHP - Ejecutar un script al abrir un email
La idea es poder ejecutar automáticamente un script en PHP cuando alguien abre un email. Explicaré como hacerlo.
Esto puede resultar muy útil ya que nos permite poder hacer infinidades de cosas al momento de querer saber que pasó con el email que hemos enviado. Por ejemplo podriamos saber si fue abierto o no, cuantas veces fue leido, a que hora, desde que dirección IP, etc.
Que necesitamos?
- Saber algo de HTML.
- PHP, obiamente.
- Un servidor donde alojar nuestro archivo .php.
- Un sevidor de correo.
Si alguíen pensó en embeber un javascript os adelanto que no se puede ya que estas etiquetas no son ejecutadas por ningún cliente de correo (por lo menos no conozco ninguno que las ejecute si alguien conoce que avise) por medidas de seguridad.
Tampoco queremos que la persona tenga que hacer clic en nigún link ni nada por el estilo.
Pasos:
- Crear el archivo php que contenga el script a ejecutar. Ejemplo: creamos el archivo script.php con el siguiente contenido.
<?php
$asunto = "El email fue leido";
$mensaje = "El email que enviaste a tal persona fue mostrado en su pantalla";
mail("mi_correo@dominio.com", $asunto, $mensaje);
?>
- Posteriormente hay que crear un email con formato HTML desde un cliente de correo que permita hacerlo así y no con texto plano.
- Ahora viene lo fundamental para que se pueda ejecutar el script automáticamente, y básicamente consiste en poner en algún lado del email una etiquera de imágen que en lugar de referenciar una imagen, referencie un archivo .php. Generalmente los clientes de correos interpretan el HTML y muestran las imágenes referenciadas automáticamente. Con lo cual si nosotros referenciamos a un archivo PHP éste se ejecutará automáticamente sin necesidad de ninguna intervención por parte del receptor.
<HTML> Hola Destinatario! <img src="http://mi_servidor.com/script.php"/> </HTML>Ahora solo resta enviar el email y que el destinatario lo abra. Cuando esto ocurra nuestro PHP se ejecutará. Obiamente que para que ésto funcione el destinatario debe leer el email con una pc que esté concectada a internet al momento de la apertura del correo.
Como última aclaración, cuando el el detinatario vea el correo, probablemente éste vea como una imagen que no se mostró(el cuadradito con la cruz roja).
Ésto lo solucionamos poniendo en nuestro script PHP que se ejecuta (primer ejemplo) en la última línea algo como esto:
<?php
header ("Location: http://www.mi_dominio.com/mi_imagen.jpg");
?>
jueves, 7 de agosto de 2014
Clase Email PHPMailer - Codeigniter
Todos hemos visto que casi el 100% de las páginas web, tienen algún sistema de correo electrónico implementado, a pesar de que es un servicio muy útil y cómodo, también es un servicio muy fácil de implementar.
En siguiente ejemplo es el código que necesitamos para implementar un sistema de email.
Simplemente copiando y pegando, y modificando los parámetros por los que necesitéis ya tendréis un sistema de email basado en Codeigniter.
Antes de todo tendríamos que descargar las librerías de PHPMailer desde la web.
Descargar
Una vez tenemos descargado los ficheros, los copiamos dentro de la carpeta third_party, que se encuentra dentro de nuestra aplicación.
Seguidamente creamos nuestra librería que cargará la librería PHPMailer en nuestro proyecto.
Este código lo deberemos de guardar en la carpeta libraries con el nombre de: my_phpmailer.php
Definitivamente este es el código que deberemos de poner en nuestro controlador.
Como podéis comprobar carga la librería que hemos creado que es la que se encarga de cargar las clases de PHPMailer, y nos permite utilizar esta clase como si fuera una librería interna de Codeigniter, con la misma sintaxis.
Read More
En siguiente ejemplo es el código que necesitamos para implementar un sistema de email.
Simplemente copiando y pegando, y modificando los parámetros por los que necesitéis ya tendréis un sistema de email basado en Codeigniter.
Antes de todo tendríamos que descargar las librerías de PHPMailer desde la web.
Descargar
Una vez tenemos descargado los ficheros, los copiamos dentro de la carpeta third_party, que se encuentra dentro de nuestra aplicación.
Seguidamente creamos nuestra librería que cargará la librería PHPMailer en nuestro proyecto.
require_once APPPATH."/third_party/PHPMailer/class.phpmailer.php";
class My_PHPMailer extends PHPMailer {
public function __construct() {
parent::__construct();
}
}
Este código lo deberemos de guardar en la carpeta libraries con el nombre de: my_phpmailer.php
Definitivamente este es el código que deberemos de poner en nuestro controlador.
$textEmail = "<p>Contenido del <i>email</i> en formato <b>html</b></p>";
$this->load->library('my_phpmailer');
$this->my_phpmailer->IsSMTP(); // establecemos que utilizaremos SMTP
$this->my_phpmailer->IsHTML(true); // indicamos si el contenido es en html
$this->my_phpmailer->SMTPAuth = true;
$this->my_phpmailer->Host = ""; //indicar el servidor smtp
$this->my_phpmailer->Port = 25; //normalmente es el 25
$this->my_phpmailer->Username = ""; //usuario smtp
$this->my_phpmailer->Password = ""; //password
$this->my_phpmailer->SetFrom('cuenta@correo.es', "Alias del correo");
$this->my_phpmailer->Subject = "Subject";
$this->my_phpmailer->Body = $textEmail;
$this->my_phpmailer->AddAddress("dirección de correo", "Alias");
$this->my_phpmailer->AddCC("dirección en copia", 'Alias');
if(!$this->my_phpmailer->Send()) {
log_message('info', "error envía de email" . $this->my_phpmailer->ErrorInfo);
} else {
log_message('info', "enviado correctamente");
}
Como podéis comprobar carga la librería que hemos creado que es la que se encarga de cargar las clases de PHPMailer, y nos permite utilizar esta clase como si fuera una librería interna de Codeigniter, con la misma sintaxis.
$this->my_phpmailer //llamando al método que nos interese
Suscribirse a:
Entradas
(
Atom
)
Sígueme en las Redes Sociales
Donaciones
Datos personales
Entradas populares
-
En este apartado vamos a explicar como ejercutar archivos PHP a través del terminal de Ubuntu. Lo primero que tendríamos que hacer es inst...
-
En este blog voy a comentar un tema que se utilizan en casi todas las páginas web que existen, y es el tema de la paginación. La paginaci...
-
Este post trata de la integración de la librería PHPExcel en Codeigniter, aunque se podría aplicar a cualquier librería, como por ejemplo mP...
-
Ejemplo para añadir o sumar un número determinado de hora/s, minuto/s, segundo/s a una fecha en php. Con la función strtotime se puede ...
-
Este tema es uno de los temas primordiales sobre el framework Codeigniter, ya que en alguna ocación nos hemos visto obligados a recoger dato...
© Espacio Daycry - Espacio de programación 2013 . Powered by Bootstrap , Blogger templates and RWD Testing Tool
