Hola a todos, estoy instalando un servicio de helpdesk con manejo de tickets y una parte de la configuracion corresponde a hacer un pipe de una direccion de correo a un script hecho en php Tengo esto puesto en el ficheto /etc/aliases soporte : "|/usr/bin/php /home/srv/www/zentrack/includes/egate.php" de manera que cuando llega un correo a la direccion de soporte se ejecuta es script. Cuando mando un correo a soporte en los logs me sale esto: Dec 29 17:08:25 adslinux postfix/local[11600]: 8B00739AD7: to=< soporte@iranon.com>, relay=local, delay=0, status=sent (delivered to command: /usr/bin/php /home/srv/www/zentrack/includes/egate.php) Por lo que interpreto que se esta ejecutando pero no hace nada de nada. Como puedo estar seguro de que eso se ejecuta? Alguien ha probado este sistema de helpdesk . http://www.zentrack.net/ Gracias y feliz año Emi
-----BEGIN PGP SIGNED MESSAGE----- Hash: SHA1 El 2005-12-29 a las 17:19 +0100, Emiliano Sutil escribió:
Tengo esto puesto en el ficheto /etc/aliases
soporte : "|/usr/bin/php /home/srv/www/zentrack/includes/egate.php"
de manera que cuando llega un correo a la direccion de soporte se ejecuta es script. Cuando mando un correo a soporte en los logs me sale esto:
Dec 29 17:08:25 adslinux postfix/local[11600]: 8B00739AD7: to=< soporte@iranon.com>, relay=local, delay=0, status=sent (delivered to command: /usr/bin/php /home/srv/www/zentrack/includes/egate.php)
Por lo que interpreto que se esta ejecutando pero no hace nada de nada. Como puedo estar seguro de que eso se ejecuta?
Lo que está haciendo es entregarle el correo a ese programa, aunque no estoy seguro de con qué parámetros. Es responsabilidad de ese programa el archivar el correo, y también de decir lo que sea en los logs. También puedes hacer eso con procmail. - -- Saludos Carlos Robinson -----BEGIN PGP SIGNATURE----- Version: GnuPG v1.4.0 (GNU/Linux) Comment: Made with pgp4pine 1.76 iD8DBQFDtDivtTMYHG2NR9URAqEDAJ4mXggdy2s7OEhiL4YFdG3JaUxZGQCeLWs5 HxUQkAaR1mW/oAzymuPaQk4= =upAL -----END PGP SIGNATURE-----
Lo que está haciendo es entregarle el correo a ese programa, aunque no estoy seguro de con qué parámetros. Es responsabilidad de ese programa el archivar el correo, y también de decir lo que sea en los logs.
También puedes hacer eso con procmail.
Vamos que esta haciendo lo que tiene que hacer, lo curioso es que no hace lo que tiene que hacer y creo que es porque se queda bloqueado leyendo el mail. Lo que ejecuta es esto: // read email from stdin $input = join("",file("php://stdin")); Voy a ver que hace eso exactamente, tendre que desempolvar mis conocimientos de php ;-) Gracias y Feliz año a todos Emi - --
Saludos Carlos Robinson -----BEGIN PGP SIGNATURE----- Version: GnuPG v1.4.0 (GNU/Linux) Comment: Made with pgp4pine 1.76
iD8DBQFDtDivtTMYHG2NR9URAqEDAJ4mXggdy2s7OEhiL4YFdG3JaUxZGQCeLWs5 HxUQkAaR1mW/oAzymuPaQk4= =upAL -----END PGP SIGNATURE-----
-- Para dar de baja la suscripción, mande un mensaje a: suse-linux-s-unsubscribe@suse.com Para obtener el resto de direcciones-comando, mande un mensaje a: suse-linux-s-help@suse.com
-----BEGIN PGP SIGNED MESSAGE----- Hash: SHA1 El 2005-12-30 a las 10:21 +0100, Emiliano Sutil escribió:
Vamos que esta haciendo lo que tiene que hacer, lo curioso es que no hace lo que tiene que hacer y creo que es porque se queda bloqueado leyendo el mail. Lo que ejecuta es esto:
// read email from stdin $input = join("",file("php://stdin"));
Voy a ver que hace eso exactamente, tendre que desempolvar mis conocimientos de php ;-)
Una idea rara que tengo es que esté llamando al php sin pasarle el nombre del script. ¿No es posible pasarle el nombre del script directamente sin decirle nada del php? El interprete shell al ver la primera linea del script:
El día 31/12/05, Carlos E. R.
-----BEGIN PGP SIGNED MESSAGE----- Hash: SHA1
El 2005-12-30 a las 10:21 +0100, Emiliano Sutil escribió:
Vamos que esta haciendo lo que tiene que hacer, lo curioso es que no hace lo que tiene que hacer y creo que es porque se queda bloqueado leyendo el mail. Lo que ejecuta es esto:
// read email from stdin $input = join("",file("php://stdin"));
Voy a ver que hace eso exactamente, tendre que desempolvar mis conocimientos de php ;-)
Una idea rara que tengo es que esté llamando al php sin pasarle el nombre del script. ¿No es posible pasarle el nombre del script directamente sin decirle nada del php? El interprete shell al ver la primera linea del script:
No se si te he entendido, pero fijta te paso el script entero, es muy pequeño, aunque usa includes que luego son enormes, #!/usr/bin/php -q <?{ /* ** EGATE: Email gateway: collects email input from stdin and modifies tickets */ // include the utils and config include("egate_utils.php"); //include("egate_utils_relaxed.php"); //less strict rules about input to egate system // read email from stdin $input = join("",file("php://stdin")); // process the email process_message($input); // clean the log file egate_log_write(); }?> Eso es todo, si lo ejecutas a mano funciona sin problemas, debe saber que es para el php y lo debería cargar (si tiene atributo x)
- -- Saludos Carlos Robinson -----BEGIN PGP SIGNATURE----- Version: GnuPG v1.4.0 (GNU/Linux) Comment: Made with pgp4pine 1.76
iD8DBQFDtb/btTMYHG2NR9URAi8qAJ4mAqSocC5MNz5wcTHHUh3vUdEmEwCdGjuu vIzJxzWZZUf9k3FFdgKJO2w= =ExU+ -----END PGP SIGNATURE-----
-- Para dar de baja la suscripción, mande un mensaje a: suse-linux-s-unsubscribe@suse.com Para obtener el resto de direcciones-comando, mande un mensaje a: suse-linux-s-help@suse.com
-----BEGIN PGP SIGNED MESSAGE----- Hash: SHA1 El 2006-01-03 a las 10:41 +0100, Emiliano Sutil escribió:
No se si te he entendido, pero fijta te paso el script entero, es muy pequeño, aunque usa includes que luego son enormes,
#!/usr/bin/php -q
Ah, pues entonces será esa linea. Si ese script tiene atributo 'x' de ejecutable, entonces con simplemente llamarle por su nombre ya debe encargarse la shell (bash) de cargar el php, pasarselo y ejecutarlo si más. ¿Poniendo soporte : "| /home/srv/www/zentrack/includes/egate.php" te va? Si no, pues no se que podrías hacer, salvo meterlo en el procmail, pues no conozco ese metodo del alias. - -- Saludos Carlos Robinson -----BEGIN PGP SIGNATURE----- Version: GnuPG v1.4.0 (GNU/Linux) Comment: Made with pgp4pine 1.76 iD8DBQFDutzEtTMYHG2NR9URAjW0AJ9Ymjcb8+hcVECIPXZ0Bh0jfwfbFQCfaEuF 0dRg2VJ6yV3i82DK3q5Nrw8= =+BdH -----END PGP SIGNATURE-----
El día 3/01/06, Carlos E. R.
-----BEGIN PGP SIGNED MESSAGE----- Hash: SHA1
El 2006-01-03 a las 10:41 +0100, Emiliano Sutil escribió:
No se si te he entendido, pero fijta te paso el script entero, es muy pequeño, aunque usa includes que luego son enormes,
#!/usr/bin/php -q
Ah, pues entonces será esa linea. Si ese script tiene atributo 'x' de ejecutable, entonces con simplemente llamarle por su nombre ya debe encargarse la shell (bash) de cargar el php, pasarselo y ejecutarlo si más.
¿Poniendo
soporte : "| /home/srv/www/zentrack/includes/egate.php"
Pues me sigue sin ir, me hace lo mismo,
Me sale esto en los logs
orig_to=
-----BEGIN PGP SIGNED MESSAGE----- Hash: SHA1 El 2006-01-04 a las 10:25 +0100, Emiliano Sutil escribió:
Pues me sigue sin ir, me hace lo mismo,
Bueno, entonces ya sabemos que la sintaxis que estabas usando en el alias era correcta, el problema es del propio script, o que le falta algo. Mira a ver si el script es configurable, alguna opción de "log" :-?
Me sale esto en los logs orig_to=
, relay=local, delay=0, status=sent (delivered to command: /home/srv/www/zentrack/includes/egate.php) Pero no hace lo que tiene que hacer,
Ya, el postfix se lo ha pasado al script, eso es lo último que sabemos.
De todas maneras este sistema tiene otro script para chequera el buzon metiendolo en el cron que ese si que me funciona, asi que lo voy a hace asi, me dejo de pipes, (aunque deberia funcionar)
No te puedo ayudar en eso, no lo se. - -- Saludos Carlos Robinson -----BEGIN PGP SIGNATURE----- Version: GnuPG v1.4.0 (GNU/Linux) Comment: Made with pgp4pine 1.76 iD8DBQFDvBwBtTMYHG2NR9URAjc9AJ0ZyNYqtaw/ObRsULUplhQdxyltrwCghROY 2NSUX8tZaAk6sYLwL4GcCRE= =C8VG -----END PGP SIGNATURE-----
participants (2)
-
Carlos E. R.
-
Emiliano Sutil