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 servidor PHP mail() no le permite normalmente usar el servidor SMTP de su elección, y no soporta autenticación SMTP.
Afortunadamente, superar los defectos incorporados 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, las conexiones SSL cifradas son compatibles para el envío de correo mediante PEAR Mail también.
Cómo enviar correo electrónico desde un script PHP con autenticación SMTP
Para comenzar, instale el paquete PEAR Mail. Típicamente, esto ya se habrá hecho para usted con PHP 4 y posterior, pero si no está seguro de si ya lo tiene, siga adelante e instálelo.
Copia este código:
require_once "Mail.php";$from = " Sandra Sender >";to = "
Ramona Recipient ";Subtítulo = "Hola";
cuerpo = "Hola,¿Cómo estás?";
host = "mail.example.com ";nombre_de_usuario = "
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" => "contraseña de $password");
$mail = $smtp->send($to, $headers, $body);
if (PEAR::isError($mail)) {
echo(" / i> 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. Estas son las únicas áreas que usted debe cambiar para que el script PHP funcione, pero también asegúrese de ajustar el asunto y el cuerpo del texto.
- 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 que el nombre de usuario utilizado para recuperar el correo)
- password : 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 encriptación SSL. Si desea encriptación también, 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 >";Subtítulo = "Hola";
cuerpo = "Hola,¿Cómo estás?";
host = "ssl://mail.example.com ";port = "
465 ";nombre_de_usuario = "
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" => "contraseña de $password");
$mail = $smtp->send($to, $headers, $body);
if (PEAR::isError($mail)) {
echo(" / i> echo("Message successfully sent!
);
}
?