Thursday, March 26, 2009

Configurando mailx para leer buzones en formato maildir

*** Actualización (28 de Junio de 2015) ***
Cuando digo mailx quiero decir  heirloom-mailx. bsd-mailx no soporta buzones en formato maildir.
****

En un post anterior expliqué cómo configurar procmail para trabajar con buzones en formato maildir, ahora es necesario poder leer los correos. En este post explico cómo configurar mailx para que lea buzones en formato maildir.

Es muy fácil, solo definir la variable de ambiente MAIL para que contenga la "raiz" de la estructura de directorios maildir. Un ejemplo, asumamos que tengo mi procmail configurado para dejar los correos en formato maildir en la siguiente ubicación:

/var/spool/mail/usuarios/ricardo

Debajo de esta ruta se encuentran los directorios new, cur y tmp, entonces, la variable mail debe ser definida así:

MAIL="/var/spool/mail/usuarios/ricardo/"

Muy importante, nótese el "/" al final de la ruta

La variable puede ser definida de manera parametrizada también (y de manera más conveniente) como

MAIL="/var/spool/mail/usuarios/$LOGNAME/"

4 comments:

  1. Gracias Ricardo,

    yo metí en /etc/environment la siguiente línea:

    MAIL="Maildir/"

    ReplyDelete
  2. Y con esa línea, dónde crea la estructura de directorios?

    ReplyDelete
    Replies
    1. Hola Ricardo,

      Estoy trabajando con una versión de UBUNTU-11.10-server-amd64,y le instalé postfix, dovecot, squirrellmail, mailutils.

      Tenía que explicar que cree el directorio /Maildir para todos los usuarios en /home/usuario/Maildir, tal y como recomiendan en la configuración de postfix y dovecot.
      En el fichero de configuración del postfix /etc/postfix/main.cf, edité la línea:
      home_mailbox = Maildir/

      Con los usuarios antiguos tuve que crearles la carpeta a mano.Dicha carpeta la cree con el comando:
      sudo maildirmake /home/nombre_usuario/Maildir
      chdown nombre_usuario /home/nombre_usuario/Maildir -R

      Con lo que respondiendo a tu pregunta la estructura de directorios sería:
      /home/nombre_usuario/Maildir

      Con el squirrellmail para verlos por página web no tenía ningún problema, sin embargo, al arrancar la sesión y desde un terminal ejecutar la orden mail no veía los correos.

      Con tu blog conseguí esto, pero tuve que poner la línea que te comenté. Lo comprobé tecleando desde un terminal:
      echo $MAIL

      Mil gracias de nuevo, me has ahorrado muchos calentamientos de cabeza.

      Marga

      Delete
    2. Se configura como dice la entrada en el blog pero ha de exportarse la variable:

      MAIL=/home/usuario/Maildir/
      export MAIL


      Un saludo.

      Delete