Aprenda a enviar correos electrónicos desde un script PHP usando autenticación SMTP simple

Cómo conectarse a un servidor SMTP saliente desde un script PHP Enviar un correo electrónico desde un script PHP es simple, rápido y fácil ... ¡si funciona! Parte de lo que hace que la función PHP mail () sea tan simple es su falta de flexibilidad, pero un problema con eso es que el stock PHP mail () generalmente no permite usa el servidor SMTP de su elección y no admite la autenticación SMTP.

Cómo conectarse a un servidor SMTP saliente desde un script PHP

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

Parte de lo que hace que la función PHP mail () sea tan simple es su falta de flexibilidad, pero un problema con eso es que el stock PHP mail () generalmente no permite usa 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 gratuito PEAR Mail ofrece toda la potencia y flexibilidad necesarias, y se autentica con el servidor de correo saliente deseado. Para una mayor seguridad, también se admiten conexiones SSL encriptadas para enviar correo usando PEAR Mail.

Cómo enviar correos electrónicos desde un script PHP con autenticación SMTP

Para comenzar, instale el paquete PEAR Mail. 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 = "

  Destinatario Ramona "; 

$ subject = "Hola!";
$ body = "Hola, \ n \ n¿Cómo estás?";
$ 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, < br /> 'contraseña' => $ contraseña));
$ mail = $ smtp-> send ($ to, $ headers, $ body);
if (PEAR :: isError ($ mail) ) {
echo ("

". $ mail-> getMessage (). "

");
} else {
echo ("

Mensaje enviado con éxito !

");
}
?>

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

  • de : 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
  • host : el nombre del servidor SMTP saliente
  • nombre de usuario : el nombre de usuario SMTP (normalmente el mismo nombre de usuario utilizado para recuperar el correo)
  • contraseña : la contraseña para la autenticación SMTP

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


 

 require_once "Mail.php"; 

 $ from = " Sandra Remitente > "; 

$ to ="

  Destinatario Ramona > "; 

$ subject = "¡Hola!";
$ body = "Hola, \ n \ n¿Cómo estás?";
$ host = "

  ssl: // mail.example.com  "; 

$ port ="

  465  "; 

$ username ="

  smtp_username  "; 

$ password ="

  smtp_password  "; 

$ headers = array (' Desde '=> $ from,
' To '=> $ to,
' Asunto '=> $ subject);
$ smtp = Mail :: factory (' smtp ',
array ('host' => $ host,
'port' => $ port,
'auth' => true,
'username' => $ username,
'contraseña' => $ contraseña));
$ mail = $ smtp-> send ($ to, $ headers, $ body);
if (PEAR :: isError ($ mail)) {
echo ("

". $ mail-> getMessage (). "

");
} else {
echo ("

¡Mensaje enviado con éxito!

");
}
?>

Rate article
labsfabs.com
Add a comment