Si tienes dudas o problemas, o prefieres pasar el tiempo, éste es tu lugar. Un lugar donde todos compartimos algo en común: GNU/Linux. "Somos más linuxeros que Torvalds y más barbudos que Stallman".

Ver más
  • 11,478 Miembros
  • 15,306 Temas
  • 2,733 Seguidores
  • 0

[Consulta] Mail por scripts con cron

Hola, aca tengo otro problemita que quiero determinar de donde viene... ya que supuestamente está todo bien

Yo no puedo visualizar el contenido de un mail en webmail o en thunderbird cuando envio un mail por medio de un script ejecutado gracias a cron:
este es el comando que pongo dentro del script:
mail -s "avisobckmensual" user@xxxxx.com

Y luego recibo ese mail, pero en vez de verle el contenido, recibo el mail vacio con un adjunto llamado "adjunto".octet-stream

Lo gracioso del caso es que si yo corro el script directamente de la terminal funciona correctamente.

La tarea del cron esta puesto en el cron del root, y ejecuto el script como root. Pero el script esta dentro de un usuario.

Alguna idea de qué es lo que esta interfiriendo?
  • 0
  • 0Calificación
  • 2Seguidores
  • 101Visitas
  • 0Favoritos

15 respuestas

@DurrutiBuenaventura dijo Hace más de 4 meses:

Redirije el stdout y stderr del script a un fichero desde el crontab, por ejemplo, a /var/log/script.log y chequea si sigue pasando lo mismo.

@DurrutiBuenaventura dijo Hace más de 4 meses:

Charls dijo:

perdon el comando es el siguiente:

cat archivo.txt | mail -s "avisobckmensual" user@xxxxx.com


No entiendo, ¿eso es lo que tienes en el crontab?

@DurrutiBuenaventura dijo Hace más de 4 meses:

No, hazlo así:
* * * * * /bin/sh /tu/script >> /var/log/script.log 2>&1
de esta forma te asegurarás de registrar también los errores.

@DurrutiBuenaventura dijo Hace más de 4 meses:

Charls dijo:

lo hice como decias, me larga exactamente el mismo contenido del txt que supuestamente debe llegarme al correo de forma explicita... sin embargo lo sigo recibiendo como adjunto como octet-stream


¿Y tienes algo interesante en /var/log/script.log?
No tengo experiencia con el comando mail, pero, ¿qué pasa si en lugar de utilizar una tubería para pasarle el texto del fichero, utilizas la opción '-q archivo.txt'? ¿o si lo haces de la forma 'mail -s "blabla" bla@blabla.com < archivo.txt'?

@DurrutiBuenaventura dijo Hace más de 4 meses:

Ah, por cierto, pásale también la opción de verbose, -v.

@DurrutiBuenaventura dijo Hace más de 4 meses:

Charls dijo:

mi error es exactamente como el que sale en este foro... solo que no logro deducir como solucionarlo todavia

http://www.linuxquestions.org/questions/linux-newbie-8/cron-email-with-attachment-833343/


En el enlace ese dice que era problema de la codificación de caracteres.

@WolverinX dijo Hace más de 4 meses:

Hay algo que no me quedó claro, cuando realizas la prueba ejecutando el script desde la terminal, con que usuario lo estas haciendo?.

En el caso de que estes usando un usuario normal, probaste cargar el script en el cron de ese usuario en vez del cron del root?

@WolverinX dijo Hace más de 3 meses:

Hice una prueba para testear tu caso. En mi prueba la linea del cron está así:

dijo:

20 23 29 1 * /tmp/pruebamail.sh



Y el archivo pruebamail.sh tiene este contenido:

dijo:

#!/bin/sh

mail -s "Mail prueba 1" direccion@mail.com </tmp/ips.txt
cat /tmp/ips.txt | mail -s "Mail prueba 2" direccion@mail.com




Los 2 mails llegaron sin problema a mi direccion de correo (la cual cambié en este texto). Asegurate de que dentro del script figure el path completo del archivo que envias por mail.

Sería bueno que pongas el script completo y como lo tenes cargado en el cron, para poder evaluarlo mejor.

Las pruebas las hice en un Debian Squeeze.

Tienes que ser miembro para responder en este tema