Como enviar correos desde codeigniter con phpmailer? – php javascript bootstrap

Pregunta:


Hola buenos dias veran soy muy nuevo en esto y recientemente me encargaron la tarea de mandar correos. Tengo que crear un formulario que permita tomar recados y despues otro que sea para mandar notificaciones el de racados ya lo hice me permite guardar y modificar lo que esta escrito en la bd, pero el de notificaciones me pidieron que se le notificara a la persona por medio de un correo electronco automatico y en ese correo aparezaca el motivo y el mensaje usando phpmailer y la verdad no tengo ni la mas minima idea de como hacerlo ya trate pero no logro entenderlo no se si podrian ayudarme:

https://drive.google.com/open?id=1uhXZqRLhyszDTNMeABGqE2VYvwH8G4WX

En esa carpeta se encuentran todos los archivos que estoy usando para recado junto con una imagen de la bd cabe aclarar que se estan usando varias herramientas(jsgrid y bootstrap) usando js de igual forma, necesito ayuda por favor como lograria que funcione?

Preguntado por: genesis96

Hola puedes intentar lo siguiente:

1.- Puedes ejecutar una función cada ves que necesites enviar una notificación por email

2.- Para mandar email sencillo usando php mailer

a) Descarga php mailer y descomprime la carpeta en “tuproyecto/application/libraries/”

b) Carga librería de php mailer en function __construct() {} de tu controller

require_once('application/libraries/PHPMailer/PHPMailerAutoload.php');

c) Usa php mailer en donde lo necesites

$mail = new PHPMailer();
        $mail->IsSMTP();
        $mail->SMTPAuth = true;
        $mail->SMTPSecure = "ssl";
        $mail->Host = "Host";
        $mail->Port = 465;
        $mail->CharSet = 'UTF-8';
        $mail->Username ='[email protected]'; //Email para enviar
        $mail->Password = '123'; //Su password
        //Agregar destinatario
        $mail->setFrom('[email protected]', 'user name sender');
        $mail->AddAddress('[email protected]');//A quien mandar email
        $mail->Subject = "Notificación";
        $mail->msgHTML ("<h1>Ejemplo contenido html</h1>");
       if(!$mail->send()) {
      echo 'Error al enviar email';
      echo 'Mailer error: ' . $mail->ErrorInfo;
     } else {
       echo 'Mail enviado correctamente';
     }

En CodeIgniter existe la libreria email para enviar correos electronicos.

En la teoria, los controladores deben ser los que manejan todas estas acciones, asi que en uno de tu eleccion, puedes tener una funcion parecida a la siguiente:

public function enviarcorreo(){

  $correo = $this->input->post('email');

  $this->load->library('email');

  $config['protocol'] = 'sendmail';
  $config['mailpath'] = '/usr/sbin/sendmail';
  $config['charset'] = 'iso-8859-1';
  $config['wordwrap'] = TRUE;

  $this->email->initialize($config);

  $this->email->from('[email protected]', 'Nombre de tu compania');
  $this->email->to($correo);

  $this->email->subject('Email');
  $this->email->message('Aqui iria el mensaje que necesitas enviar."]);

  $this->email->send();
}

En este caso hipotético y simplificado, este es el paso de las acciones

  1. Recibimos el correo electrónico del destinatario por medio de una petición post (esto sería algo común, pero puede ser que este almacenado en la base de datos)
  2. Cargamos la libreria email
  3. Se usa la configuración por defecto
  4. Se inicializa la configuración
  5. Especificamos el remitente y destinatario
  6. Especificamos el titulo y el contenido
  7. La función send() manda el mensaje

Entiendo que no es phpmailer, pero si estas usando CodeIgniter, ten en cuenta que ya existe una libreria para esto y no es necesario usar otra mas, sino, para que estas usando el framework?

Fuente

Add a Comment

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