Google Groups no longer supports new Usenet posts or subscriptions. Historical content remains viewable.
Dismiss

Función mail() php y autenticación en servidor smtp remoto

1,961 views
Skip to first unread message

cirudin...@gmail.com

unread,
Apr 17, 2007, 1:22:59 PM4/17/07
to
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

unread,
Apr 17, 2007, 5:29:18 PM4/17/07
to
El 17 Apr 2007 10:22:59 -0700, "cirudin...@gmail.com"
<cirudin...@gmail.com> escribió:

¿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?

>Saludos y muchas gracias.

Saludos.

--
Óscar Javier García Baudet
LinaresDigital
http://redstar.linaresdigital.com/

Jesus de las Heras Blanco

unread,
Apr 17, 2007, 5:48:55 PM4/17/07
to
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 = "micu...@HotPOP.com";
$mail->Password = "mipassword";
$mail->From = "micu...@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


cirudin...@gmail.com escribió:

dsi...@maspormas.com.mx

unread,
May 29, 2014, 6:11:10 PM5/29/14
to
Definitivamente no, la función mail() de PHP no cuenta con SMTP.

Benjamín Albiñana Pérez

unread,
May 31, 2014, 4:14:15 PM5/31/14
to
On 2014-05-29, dsi...@maspormas.com.mx <dsi...@maspormas.com.mx> wrote:
> 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.

> El martes, 17 de abril de 2007 12:22:59 UTC-5, cirudin...@gmail.com escribió:

No he visto el mensaje, pero si esta fecha es correcta, hemos tardado
un pelín en contestar...

ivan

unread,
Feb 9, 2015, 4:42:13 AM2/9/15
to dsi...@maspormas.com.mx
prueba con esta funcion
<?php
$para = 'nob...@example.com';
$titulo = 'El título';
$mensaje = 'Hola';
$cabeceras = 'From: webm...@example.com' . "\r\n" .
'Reply-To: webm...@example.com' . "\r\n" .
'X-Mailer: PHP/' . phpversion();

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

--- news://freenews.netfront.net/ - complaints: ne...@netfront.net ---

Carlos

unread,
Feb 9, 2015, 4:51:04 AM2/9/15
to dsi...@maspormas.com.mx
Es buena idea
0 new messages