martes, marzo 17, 2009

Envio de mails con php-pear, Mail y Net_SMTP.

Aqui les dejo lo que debe contener cada archivo:

Primero creamos el archivo que va a llamar a las funciones de pear, lo llamaremos "send_mail.php" :


require_once "Mail.php";
function s_mail($to, $subject, $body) {
$from = "Mi cuenta";
$host = "mail.yzx.com";
$username = "mail@yzx.com";
$password = "contraseña";
$port = "587"; //es opcional

$headers = array ('From' => $from,
'To' => $to,
'Subject' => $subject);


$smtp = Mail::factory('smtp', array ('host' => $host,
'port' => $port, //Si requiere un puerto, en caso contrario quitenlo
'auth' => true,
'username' => $username,
'password' => $password)
);


$mail = $smtp->send($to, $headers, $body);

if (PEAR::isError($mail)) {
echo("

" . $mail->getMessage() . "

");
} else {
echo("

Message successfully sent!

");
}
}
?>


Ahora vamos con el archivo que solo contendra los datos que se enviaran "send_mail2.php":

ob_start();

require_once('lib/mail.php');

//Multiples mails
$mail= "mail_a_enviar@yxz.com";
$subject = "Envio Prueba de mail";
$body = "Envio Exitoso \n\n Atte. Mail :p";

//Envia el mail
s_mail($m_mail, $subject, $body);

ob_end_flush();
?>



Para comprobar el envio es el primer archivo nos saldra el siguiente mensaje "Message successfully sent!"

Ahora solo falta que lo corran en su apache o servidor web favorito http://localhost/pruebas/send_mail2.php

Cada quien lo hara tan configurable como desee..

Disculpen algunos saltos de linea pero blogger no se por q lo hace ..

Saludos

1 comentario:

Unknown dijo...

shale compa... como programador eres excelente bombero!!