Espacio Daycry - Espacio de programación

  • Inicio
  • Categorias
    • - Codeigniter
    • - Symfony
    • - HTML5
    • - Linux / Ubuntu
    • - PHP
    • - Jquery
  • PortFolio - Proyectos Codeiniter
    • - Encuestas Online
    • - Estadísticas - GLPI
    • - Gestión de colas
    • - Web Service - REST
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

No hay comentarios : Posted by daycry at 17:31 Labels: PHP , PHPMailer

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?
  1. Saber algo de HTML.
  2. PHP, obiamente.
  3. Un servidor donde alojar nuestro archivo .php.
  4. 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:

  1. 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);
?>
  1. Posteriormente hay que crear un email con formato HTML desde un cliente de correo que permita hacerlo así y no con texto plano.
  2. 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");
?>
Read More

jueves, 7 de agosto de 2014

Clase Email PHPMailer - Codeigniter

No hay comentarios : Posted by daycry at 10:45 Labels: Codeigniter , Email , librerías , PHPMailer
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.

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



Read More
Entradas antiguas Inicio
Suscribirse a: Entradas ( Atom )

Sígueme en las Redes Sociales



Follow @daycry9

Daycry web


Donaciones

Suscribirse a

Entradas
Atom
Entradas
Comentarios
Atom
Comentarios

Datos personales

daycry
Ver todo mi perfil

Entradas populares

  • Crear archivos PHP ejecutables por terminal UBUNTU
    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...
  • Pâginación PHP con Librería Zebra Pagination
    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...
  • PHPExcel - Codeigniter
    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...
  • PHP- Operaciones con fechas - Sumar Horas, minutos y segundos
    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 ...
  • Codeigniter - Múltiples conexiones a base de datos
    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