¿Dónde se almacenan los correos electrónicos de sendmail?

10

Estoy tratando de crear un script de respuesta automática para sendmail (no, no quiero usar uno preconstruido todavía), pero parece que no puedo encontrar la ubicación de los correos electrónicos recibidos en mi servidor. Tengo que especificar que mi configuración no es la predeterminada.

He buscado /root, no hay carpeta de correo allí. (No tengo otro usuario que root). He buscado /var/mail/root, solo hay algunos registros que me envían por correo, pero no el correo externo que recibo de los usuarios.

Lo he comprobado /var/log/maillog, pero no hay errores.

No tengo ideas de dónde buscar. ¿Alguien podría ayudarme?

Eduard Luca
fuente

Respuestas:

6

sendmail (un agente de transporte de correo - MTA) almacena el correo en el lugar donde está configurado para almacenar el correo. Pero solo una MTA almacena el correo que actualmente está haciendo cola: el agente de entrega de correo (MDA) se encarga de entregar el correo a la ubicación donde un usuario puede acceder. Si bien sendmail (y otros MTA) pueden actuar como un MDA, es muy inusual que ese sea el caso.

De todos modos, intentar acceder a los archivos de correo no es la forma correcta de implementar un autoresponder.

Esto debe hacerse como un filtro en el MTA (es decir, un milter) o en el MDA. La API de milter está específicamente diseñada para esto, y es posible que ya existan herramientas disponibles que cumplan con sus requisitos sin modificaciones.

Si su MDA actual es procmail, entonces tiene suerte: esto proporciona una gran flexibilidad (de hecho, es un lenguaje de programación por derecho propio) para manejar mensajes de correo. Nuevamente, hay un montón de código en Internet que puede satisfacer sus necesidades (AFAIK no hay un depósito central para recetas de procmail, pero intente con google).

Incluso el mecanismo básico .forward se puede utilizar para implementar esto, pero le aconsejaría que no lo haga, siguiendo la ruta de procmail puede bifurcar el mensaje para que la entrega no dependa o sea implementada por su script.

symcbean
fuente
Tengo instalado procmail (procmail-3.22-17.1.el5.centos.x86_64), pero no estoy seguro de que se use. También leí sobre un script de respuesta automática que usa procmail, que podría ser útil para mí. ¿Puedo ver si procmail está en uso?
Eduard Luca
1
¿Podría publicar el contenido de su sendmail.cfarchivo alrededor de la línea que comienza Mlocal, lo que nos dirá qué MDA está en uso?
MadHatter
Sí, es procmail. Yaay! P=/usr/bin/procmailEs el código. Gracias :)
Eduard Luca
Pero no tengo procmailrcarchivo. Me hace preguntarme si realmente se usan mis sendmail + procmail.
Eduard Luca
Si está configurado en sendmail y su correo se está entregando, entonces está usando procmail (con el valor predeterminado compilado). Consulte la página de manual de procmail: por lo general, busca / etc / procmailrc y ~ / .procmailrc y, si no se encuentra ninguno, entrega el correo de acuerdo con la configuración en el momento de la compilación.
symcbean
6

Si tiene configurados otros directorios que no sean los predeterminados, debe mirar su /etc/mail/sendmail.cf para ver en qué están configuradas las rutas.

Esto no solo varía entre la distribución del sistema operativo, sino que incluso los directorios predeterminados entre las diferentes versiones de sendmail han cambiado. En resumen, solo para que le informemos los valores predeterminados, necesitamos conocer la versión del sistema operativo Y la versión de sendmail. Los valores predeterminados son / var / spool / mail / $ USERNAME para la caída de correo, luego, si un usuario lee el correo con otra aplicación, generalmente se mueve a $ HOME / mbox.

Aquí hay una lista de directorios de correo comunes:

  • / var / mail / $ USERNAME
  • / var / spool / mail / $ USERNAME
  • $ HOME / mbox
  • $ HOME / mail
  • $ HOME / Maildir
Pablo
fuente
Gracias, pero ¿bajo qué nombre de variable debo buscarlo en el archivo de configuración? He leído algo sobre $MAIL = pero no puedo encontrarlo en el archivo de configuración. Revisé / var / spool / mail / root, hay algunos correos allí, pero no los correctos (y estoy seguro de que no se han leído, ya que envié un correo electrónico y revisé rápidamente el archivo) no estaba allí)
Eduard Luca
3

Depende de cómo esté configurado, pero el lugar habitual es /var/spool/mail, o algunas distribuciones /var/mail. Si no está en ninguno de esos lugares, ¡avísanos y comenzaremos a cavar !

MadHatter
fuente
Hay algunos correos /var/spool/mail/rootpero solo los correos locales (enviados de raíz a raíz).
Eduard Luca
¿Qué más hay adentro /var/spool/mail?
MadHatter
Un archivo llamado rpcque está totalmente vacío.
Eduard Luca