Discussion:
Función mail() php y autenticación en servidor smtp remoto
(demasiado antiguo para responder)
c***@gmail.com
2007-04-17 17:22:59 UTC
Permalink
Hola!

Quiero probar el software de meneame http://meneame.net y tengo un
problemilla con el correo. Resulta que utiliza la función mail() de
php para enviar correos electronicos cuando te das de alta etc. y yo
tengo una cuenta de correo smtp en un servidor remoto que usa
autenticación. ¿Puedo de alguna manera usar esa función para enviar
correo desde el servidor remoto? Lo comento para no tener que cambiar
mucho el código del software meneame.

Saludos y muchas gracias.
Oscar Garcia
2007-04-17 21:29:18 UTC
Permalink
Post by c***@gmail.com
Quiero probar el software de meneame http://meneame.net y tengo un
problemilla con el correo. Resulta que utiliza la función mail() de
php para enviar correos electronicos cuando te das de alta etc. y yo
tengo una cuenta de correo smtp en un servidor remoto que usa
autenticación. ¿Puedo de alguna manera usar esa función para enviar
correo desde el servidor remoto? Lo comento para no tener que cambiar
mucho el código del software meneame.
¿Exactamente qué problema tienes?

¿Quieres enviar el correo a través de otro servidor smtp? Usa
PHPMailer, por ejemplo.

Si lo que no quieres es cambiar mucho código.. ¿porqué no dejas que
sea el servidor nuevo el que envíe el correo?
Post by c***@gmail.com
Saludos y muchas gracias.
Saludos.
--
Óscar Javier García Baudet
LinaresDigital
http://redstar.linaresdigital.com/
Jesus de las Heras Blanco
2007-04-17 21:48:55 UTC
Permalink
La funcion mail() de PHP no soporta autenticacion SMTP. Vas a tener que
cambiar algo de codigo, sin embargo, puedes cambiar algo minimo. Puedes
crear una funcion mail2() que recoja los mismos argumentos que la
funcion mail original e internamente en la funcion mail2 hacer uso de
phpmailer http://phpmailer.sourceforge.net/

De esa forma cuando tengas que aplicar actualizaciones con un simple sed
podras cambiar todas las llamadas a mail() por mail2()

Si quieres usar las cabeceras_extras tendras que separar los parametros
que la aplicacion pasa y añadirlos donde corresponda.


Algo así:

function mail2($para,$asunto,$mensaje,$cabeceras_extras="") {
require "includes/class.phpmailer.php";
$mail = new phpmailer();
$mail->PluginDir = "includes/";
$mail->Mailer = "smtp";
$mail->Host = "smtp.hotpop.com";
$mail->SMTPAuth = true;
$mail->Username = "***@HotPOP.com";
$mail->Password = "mipassword";
$mail->From = "***@HotPOP.com";
$mail->FromName = "Tu nombre";
$mail->Timeout=30;
$mail->AddAddress($para);
$mail->Subject = $asunto;
$mail->Body = $mensaje;
$mail->AltBody = $mensaje;
$exito = $mail->Send();
$intentos=1;
while ((!$exito) && ($intentos < 5)) {
sleep(5);
//echo $mail->ErrorInfo;
$exito = $mail->Send();
$intentos=$intentos+1;

}

if(!$exito)
{
return false;
}
else
{
return true;
}
}


Un saludo,

Jesus de las Heras Blanco
http://www.mainake.org
Linux Counter #305668

"Dios no juega a los dados con el universo".
Albert Einstein
Post by c***@gmail.com
Hola!
Quiero probar el software de meneame http://meneame.net y tengo un
problemilla con el correo. Resulta que utiliza la función mail() de
php para enviar correos electronicos cuando te das de alta etc. y yo
tengo una cuenta de correo smtp en un servidor remoto que usa
autenticación. ¿Puedo de alguna manera usar esa función para enviar
correo desde el servidor remoto? Lo comento para no tener que cambiar
mucho el código del software meneame.
Saludos y muchas gracias.
d***@maspormas.com.mx
2014-05-29 22:11:10 UTC
Permalink
Definitivamente no, la función mail() de PHP no cuenta con SMTP.
Post by c***@gmail.com
Hola!
Quiero probar el software de meneame http://meneame.net y tengo un
problemilla con el correo. Resulta que utiliza la función mail() de
php para enviar correos electronicos cuando te das de alta etc. y yo
tengo una cuenta de correo smtp en un servidor remoto que usa
autenticación. ¿Puedo de alguna manera usar esa función para enviar
correo desde el servidor remoto? Lo comento para no tener que cambiar
mucho el código del software meneame.
Saludos y muchas gracias.
Benjamín Albiñana Pérez
2014-05-31 20:14:15 UTC
Permalink
Post by d***@maspormas.com.mx
Definitivamente no, la función mail() de PHP no cuenta con SMTP.
HDYS, la función mail() utiliza el comando sendmail, por lo que
supongo, no lo he probado, que sería trivial usar msmtp, por ejemplo.
No he visto el mensaje, pero si esta fecha es correcta, hemos tardado
un pelín en contestar...
ivan
2015-02-09 09:42:11 UTC
Permalink
Post by d***@maspormas.com.mx
Definitivamente no, la función mail() de PHP no cuenta con SMTP.
Post by c***@gmail.com
Hola!
Quiero probar el software de meneame http://meneame.net y tengo un
problemilla con el correo. Resulta que utiliza la función mail() de
php para enviar correos electronicos cuando te das de alta etc. y yo
tengo una cuenta de correo smtp en un servidor remoto que usa
autenticación. ¿Puedo de alguna manera usar esa función para enviar
correo desde el servidor remoto? Lo comento para no tener que cambiar
mucho el código del software meneame.
Saludos y muchas gracias.
prueba con esta funcion
<?php
$para = '***@example.com';
$titulo = 'El título';
$mensaje = 'Hola';
$cabeceras = 'From: ***@example.com' . "\r\n" .
'Reply-To: ***@example.com' . "\r\n" .
'X-Mailer: PHP/' . phpversion();

mail($para, $titulo, $mensaje, $cabeceras);
?>

--- news://freenews.netfront.net/ - complaints: ***@netfront.net ---
Carlos
2015-02-09 09:50:59 UTC
Permalink
Post by ivan
Post by d***@maspormas.com.mx
Definitivamente no, la función mail() de PHP no cuenta con SMTP.
Post by c***@gmail.com
Hola!
Quiero probar el software de meneame http://meneame.net y tengo un
problemilla con el correo. Resulta que utiliza la función mail() de
php para enviar correos electronicos cuando te das de alta etc. y yo
tengo una cuenta de correo smtp en un servidor remoto que usa
autenticación. ¿Puedo de alguna manera usar esa función para enviar
correo desde el servidor remoto? Lo comento para no tener que cambiar
mucho el código del software meneame.
Saludos y muchas gracias.
prueba con esta funcion
<?php
$titulo = 'El título';
$mensaje = 'Hola';
'X-Mailer: PHP/' . phpversion();
mail($para, $titulo, $mensaje, $cabeceras);
?>
Es buena idea

--- news://freenews.netfront.net/ - complaints: ***@netfront.net ---
Loading...