Utilizar el servidor SMTP siempre muy buena idea para enviar un correo electrónico desde un script. A veces, la función PHP mail() no puede enviar correos electrónicos al destinatario o lo deposita en su bandeja de correos no deseados. Para evitar este problema, podemos utilizar el servidor SMTP, ya que es un método eficaz de enviar un correo electrónico. La clase Email de CodeIgniter te proporciona una manera fácil de enviar correos electrónicos mediante un script PHP.
En este tutorial, te mostraré cómo enviar un correo HTML a través del servidor SMTP si utilizas CodeIgniter. Utilizaremos la librerÃa Email de CodeIgniter para enviar correos electrónicos utilizando el servidor SMTP.
Enviar un correo electrónico a través del servidor SMTP en CodeIgniter
En primer lugar, incluye la librerÃa email de CodeIgniter. Ahora indica el host SMTP (smtp_host), el puerto (smtp_port), el correo electrónico (smtp_user) y la contraseña (smtp_pass) en la configuración SMTP ($config) según tu servidor SMTP.
//Load email library $this->load->library('email'); //SMTP & mail configuration $config = array( 'protocol' => 'smtp', 'smtp_host' => 'ssl://smtp.example.com', 'smtp_port' => 465, 'smtp_user' => [email protected]', 'smtp_pass' => 'email_password', 'mailtype' => 'html', 'charset' => 'utf-8' ); $this->email->initialize($config); $this->email->set_mailtype("html"); $this->email->set_newline("rn"); //Email content $htmlContent = '<h1>Sending email via SMTP server</h1>'; $htmlContent .= '<p>This email has sent via SMTP server from CodeIgniter application.</p>'; $this->email->to([email protected]'); $this->email->from([email protected]','MyWebsite'); $this->email->subject('How to send email via SMTP server in CodeIgniter'); $this->email->message($htmlContent); //Send email $this->email->send();
Enviar un correo electrónico a través del SMTP de Gmail en CodeIgniter
Para utilizar el SMTP de Gmail con la finalidad de enviar un correo electrónico en CodeIgniter, debes realizar algunos cambios en la configuración de tu cuenta de Google. Sigue los siguientes pasos para utilizar el SMTP de Gmail en la librerÃa email de CodeIgniter
- Inicia sesión en tu cuenta de Google
- Ve a Mi cuenta. Haz clic en el enlace Inicio de sesión en Google en la sección Inicio de sesión y seguridad
- Baja hasta la sección Verificación en dos pasos y desactÃvala
- Baja hasta la sección Aplicaciones y sitios conectados a tu cuenta y activa la opción Permitir el acceso de aplicaciones menos seguras
Ahora tu cuenta de Gmail está lista para usar en la librerÃa email de CodeIgniter como un servidor SMTP.
El siguiente código enviará un correo electrónico HTML en CodeIgniter utilizando stu cuenta de Gmail. Sólo es necesario especificar la dirección de correo electrónico de Gmail (smtp_user) y la contraseña (smtp_pass).
//Load email library $this->load->library('email'); //SMTP & mail configuration $config = array( 'protocol' => 'smtp', 'smtp_host' => 'ssl://smtp.googlemail.com', 'smtp_port' => 465, 'smtp_user' => [email protected]', 'smtp_pass' => 'gmail_password', 'mailtype' => 'html', 'charset' => 'utf-8' ); $this->email->initialize($config); $this->email->set_mailtype("html"); $this->email->set_newline("rn"); //Email content $htmlContent = '<h1>Sending email via SMTP server</h1>'; $htmlContent .= '<p>This email has sent via SMTP server from CodeIgniter application.</p>'; $this->email->to([email protected]'); $this->email->from([email protected]','MyWebsite'); $this->email->subject('How to send email via SMTP server in CodeIgniter'); $this->email->message($htmlContent); //Send email $this->email->send();
Fuente: codexworld.com