Skip to main content

Enviar correo electrónico desde un script PHP usando autenticación SMTP

Tony Robbins, Unshakeable, Gratitude & Focusing on Your Steak | #AskGaryVee 242 (Abril 2025)

Tony Robbins, Unshakeable, Gratitude & Focusing on Your Steak | #AskGaryVee 242 (Abril 2025)
Anonim

Enviar un correo electrónico desde un script PHP es simple, rápido y fácil … ¡si funciona!

Parte de lo que hace el PHP. correo() función tan simple es su falta de flexibilidad, pero un problema con eso es que el stock PHP correo() por lo general, no le permite utilizar el servidor SMTP de su elección y no admite la autenticación SMTP.

Afortunadamente, superar las deficiencias integradas de PHP no es difícil. Para la mayoría de los usuarios de correo electrónico, el paquete de correo gratuito PEAR ofrece toda la potencia y flexibilidad necesarias, y se autentica con el servidor de correo saliente que desee. Para una seguridad mejorada, las conexiones SSL encriptadas son compatibles para enviar correo usando el correo PEAR también.

Cómo enviar correo electrónico desde un script PHP con autenticación SMTP

Para empezar, instale el paquete de correo PEAR. Por lo general, esto ya se habrá hecho con PHP 4 y versiones posteriores, pero si no está seguro de si ya lo tiene, continúe e instálelo.

copia este código:

require_once 'Mail.php'; $from = 'Sandra Sender >'; $to = 'Ramona Recipient '; $subject = 'Hi!'; $body = 'Hi, How are you?'; $host = 'mail.example.com'; $username = 'smtp_username'; $password = 'smtp_password'; $headers = array ('From' => $from, 'To' => $to, 'Subject' => $subject); $smtp = Mail::factory('smtp', array ('host' => $host, 'auth' => true, 'username' => $username, 'password' => $password)); $mail = $smtp->send($to, $headers, $body); if (PEAR::isError($mail)) { echo('

' . $mail->getMessage() . '

'); } else { echo('

Message successfully sent!

'); }

Localice todo el texto en negrita en nuestro ejemplo y cambie esas áreas del script a lo que sea relevante para usted. Esas son las únicas áreas que debe cambie para que el script PHP funcione, pero también asegúrese de ajustar el tema y el texto del cuerpo, también.

  • desde: La dirección de correo electrónico desde la que desea que se envíe el mensaje
  • a: La dirección de correo electrónico y el nombre del destinatario
  • anfitrión: Su nombre del servidor SMTP saliente
  • nombre de usuario: El nombre de usuario SMTP (generalmente el mismo que el nombre de usuario utilizado para recuperar el correo)
  • contraseña: La contraseña para la autenticación SMTP

Nota: El ejemplo anterior es de un script PHP que envía un correo electrónico con autenticación SMTP pero sin Encriptación SSL. Si también desea cifrado, use este script en su lugar, de nuevo, intercambiando el texto en negrita con su información.

require_once 'Mail.php'; $from = 'Sandra Sender >'; $to = 'Ramona Recipient >'; $subject = 'Hi!'; $body = 'Hi, How are you?'; $host = 'ssl://mail.example.com'; $port = '465'; $username = 'smtp_username'; $password = 'smtp_password'; $headers = array ('From' => $from, 'To' => $to, 'Subject' => $subject); $smtp = Mail::factory('smtp', array ('host' => $host, 'port' => $port, 'auth' => true, 'username' => $username, 'password' => $password)); $mail = $smtp->send($to, $headers, $body); if (PEAR::isError($mail)) { echo('

' . $mail->getMessage() . '

'); } else { echo('

Message successfully sent!

'); }