Foros del Web » Administración de Sistemas » Unix / Linux »

Duda acerca de envío de mails con sendmail en FreeBSD

Estas en el tema de Duda acerca de envío de mails con sendmail en FreeBSD en el foro de Unix / Linux en Foros del Web. Buenas, estoy programando la aplicación web de la empresa utilizando PHP. Esta aplicación envía mails a los usuarios al realizar ciertas acciones, pero por alguna ...
  #1 (permalink)  
Antiguo 05/02/2009, 04:22
 
Fecha de Ingreso: junio-2008
Mensajes: 16
Antigüedad: 16 años, 6 meses
Puntos: 1
Duda acerca de envío de mails con sendmail en FreeBSD

Buenas,
estoy programando la aplicación web de la empresa utilizando PHP. Esta aplicación envía mails a los usuarios al realizar ciertas acciones, pero por alguna extraña razón, cada envío de mail se demora alrededor de 3-5 segundos, tiempo excesivo para los usuarios. Como llevo años programando aplicaciones en PHP, en mi casa realicé una aplicación de ataque de mails, en un Windows XP con un programa gratuito de SMTP. Ahí el envío de 20 correos era casi inmediato, de ahí que note ahora la lentitud. Me gustaría saber pues si hay alguna variable de configuración o algo para que el comando sendmail vaya rápido (creo que es el que usa PHP, ya que apunta a localhost y es el único instalado que hay).
Además he estado probando directamente utilizar el comando sendmail desde consola, y también noto que se demora al conectar, lo que me da que no tiene solución.
Pues nada, si hay algün crac por aquí del tema, espero que me ayude, ya que yo de linux y similares voy bastante perdido, yo soy mucho más güindousero.
Muchas gracias por adelantado,

Dani
  #2 (permalink)  
Antiguo 05/02/2009, 05:12
Avatar de AleSanchez
Colaborador
 
Fecha de Ingreso: septiembre-2004
Ubicación: Buenos Aires, Argentina
Mensajes: 3.692
Antigüedad: 20 años, 3 meses
Puntos: 47
Respuesta: Duda acerca de envío de mails con sendmail en FreeBSD

¿3 a 5 segundos te parece excesivo? A mi me parece normal.
¿O es que el script php tarda ese tiempo en liberar la función mail()?
__________________
¡Volviendo a la programación!
  #3 (permalink)  
Antiguo 05/02/2009, 05:49
 
Fecha de Ingreso: junio-2008
Mensajes: 16
Antigüedad: 16 años, 6 meses
Puntos: 1
Respuesta: Duda acerca de envío de mails con sendmail en FreeBSD

Buenas,
no es eso, es que la función mail se encalla mucho rato, dado que utiliza el comando sendmail. De todas formas, creo que lo he solucionado, haciendo una chapucilla. He utilizado un thread para llamar a la función mail, así lo realiza un proceso hijo, y mientras lo va enviando, el cliente (página web) ya tiene la respuesta, aunque sea afirmativa y la función mail devuelva finalmente false. Es una chapuza pero de momento me ha funcionado.
Este es el trozo de código que he utilizado (aunque este no es el foro adecuado para ello):
Código PHP:
if(function_exists('pcntl_fork'))
{
    
$pid pcntl_fork();
}
if (isset(
$pid) && $pid == -1) die("could not fork");
elseif (isset(
$pid) && $pid) exit();
else
{
    if(!
mail($to,$subject,$message,$headers)) return false;
    else
    {
        if(
$generate_logscmMain::Log("MAIL: Mail (HTML) sended to {$to}");
        return 
true;
    }

Ventajas del sistema: El script tarda 0.0010 ms en ejecutarse.
Desventajas: No se sabe si dará error o lo que sea, pero no pasa nada porque el envío de mails para nada es imperativo e imprescindible para el funcionamiento de la web.
Hay que instalar la extensión pcntl que no me venía por defecto en freebsd.
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta

SíEste tema le ha gustado a 1 personas




La zona horaria es GMT -6. Ahora son las 21:17.