Cómo enviar correos electrónicos a través del servidor SMTP en CodeIgniter

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

COMPARTE ESTE ARTÍCULO

COMPARTIR EN FACEBOOK
COMPARTIR EN TWITTER
COMPARTIR EN LINKEDIN
COMPARTIR EN WHATSAPP