Un servicio de correo electrónico suele ser algo personal. Sin embargo hay ocasiones en las que nos interesa que varios usuarios sean capaces de gestionar conjuntamente un buzón de correo. Podemos pensar el caso de una empresa en la que varios empleados reciben los mensajes de una dirección de correo determinada, por ejemplo info@miembpresa.com, y que de vez en cuando el jefe viene a echar un vistazo a dichos correos. O que, por ejemplo tenemos que enviar decenas o cientos de mensajes a otro usuario dentro del mismo servidor, podemos pensar en que un empleado deja la empresa y otro compañero va a encargarse de las conversaciones que tenga actualmente con los clientes.
Es cierto que, en la práctica, muchas veces se opta por compartir las contraseñas del correo y configurar todo el mundo la misma cuenta en su programa de correo, y ahí hacer los cambios que creamos oportunos. Aunque, si queremos tener en cuenta la seguridad, una cuenta como info@miempresa.com no puede tener su contraseña volando por la oficina. En primer lugar, no sabemos si un empleado filtrará la clave o utilizará la cuenta para fines diferentes a los que pensamos. Y, si confiamos en nuestros empleados, no podemos confiar en sus ordenadores que en cualquier momento puede tener algún problema, ser víctimas de malware y pueden jugarnos una mala pasada. Si hay una filtración, no podríamos determinar con exactitud su procedencia. Por otro lado, no podríamos limitar el acceso a dicha cuenta si nos interesa que un usuario solo pueda leer los mensajes o no queremos que pueda marcar mensajes como leídos (muy útil cuando el jefe quiere supervisar mensajes sin entorpecer).
En mis servidores utilizo el software Cyrus para gestionar el correo entrante en el servidor. Con él manejo las cuentas IMAP de los usuarios y todos ellos se conectan a él para la lectura de su correo. Es aquí donde podemos hacer uso de las capacidades de buzones de correo compartidos para satisfacer nuestras necesidades.
Tabla de contenidos
Notas iniciales
Estas configuraciones son válidas tanto para Cyrus 2.2 como Cyrus 2.4 (lo he probado en las dos versiones). Además, yo estoy utilizando la directiva
1 | unixhierarchysep: yes |
en el archivo /etc/imapd.conf que habilita puntos (.) en los nombres de usuario, con lo que la separación de niveles en lugar de un punto utilizará una /. De todas formas comentaré esto donde sea necesario.
Otra cosa más, en los nombres de usuario y los buzones, a mí me gusta poner siempre el dominio al que pertenecen, aunque es incómodo de escribir siempre, me sirve como una medida de seguridad ante confusiones y me permite crear buzones en dominios diferentes, que cuando te piden un correo en un dominio temporalmente, o el dominio tiene alternativas en .es, .eu o .com es un engorro ponerlo todo bien con su dominio.
Dando de alta el buzón compartido
Para ello, tenemos que identificarnos en la administración de cyrus. En mi caso, el usuario es administrador y el host es localhost porque estoy en el mismo servidor de correo:
Luego, tendremos que crear el buzón compartido, en mi caso (info@miempresa.com):
¡Cuidado! Si no tienes unixhierarchysep: yes, tendrás que utilizar un punto en lugar de una barra (compruébalo antes de hacer cambios):
Dando permisos al buzón
Tras ello, tenemos que dar permisos, imaginemos que tenemos dos empleados, ana@miempresa.com y bruno@miempresa.com , y por si fuera poco, tenemos a jefe@miempresa.com que quiere poder ver mensajes, pero que no se note su presencia. Cyrus establece las siguientes flags de permisos (y cuando las usas un par de veces, te las puedes aprender en este orden lrswipcda):
- l: (lookup) Nos permite obtener este buzón en un listado.
- r: (read) Da permiso de lectura a los contenidos del buzón.
- s: (seen) Mantiene el estado de seen/recent entre varias sesiones IMAP. Los mensajes vistos y recibidos recientemente.
- w: (write) Escritura de flags en los mensajes del buzón.
- i: (insert) Permite copiar o mover mensajes aquí.
- p: (post) Nos deja entregar un mensaje en este buzón.
- c: (create) Crear un nuevo sub-buzón.
- d: (delete) Nos deja borrar mensajes o el propio buzón.
- a: (acl) Nos deja administrar el buzón, o cambiar estos permisos del ACL.
Así que, para dar permiso a los usuarios seleccionados, y adicionalmente dejar que cualquiera pueda entregar correos aquí:
Podríamos utilizar setaclmailbox en lugar de sam. En este punto, ya podríamos utilizar el buzón desde los usuarios ana, bruno y jefe.
Recibir correo en el buzón compartido desde Postfix
Si queremos habilitar la entrega de correo a través de una dirección de e-mail, primero debemos establecer un usuario que se utilizará para hacer la entrega. Para ello, editamos /etc/imapd.conf de la siguiente forma (el nombre de usuario puede ser el que queramos, siempre y cuando no esté en el sistema):
1 | postuser: sharedmanager |
Podemos colocar dicha línea en cualquier punto del archivo, yo prefiero poner al final todas las modificaciones a ese archivo.
Ahora, debemos crear un alias de correo a un nombre de usuario del sistema. Para ello editamos /etc/postfix/valias introduciendo lo siguiente:
1 | info@miempresa.com infomiempresacom |
Así le decimos que info@miempresa.com corresponde con el alias infomiempresacom, que introduciremos en /etc/aliases así:
1 | infomiempresacom: sharedmanager+shared/info@miempresa.com |
Tras esto, dependiendo de la configuración que tengamos en postfix (el contenido debe venir precedido por «hash:» virtual_alias_maps y alias_maps en /etc/postfix/main.cf ; Nota, mis archivos se llaman /etc/aliases y /etc/postfix/valias, los tuyos tal vez sean distintos), tendremos que ejecutar lo siguiente:
Con esto crearemos los archivos /etc/aliases.db y /etc/postfix/valias.db. Ya deberíamos poder recibir los e-mails enviados a info@miempresa.com en el buzón compartido por Ana y Bruno. Cada usuario utilizará su contraseña para entrar en el buzón y el jefe podrá leer todos los mails sin marcarlos como leídos, ni quitar el flag de recién recibido.
Foto principal: Annie Spratt
Muy interesante el artículo, gracias por publicarlo aquí.
Gracias a ti.
I am really happy to see such articles. Great blog. I promise to participate in the meeting in addition to the unified meeting minutes. I have noticed that you have indeed encountered very practical problems, and I guarantee to keep checking your blog.토토사이트
¡Qué artículo tan útil, sigue siendo relevante hoy!
Gracias por compartir bien sobre un servicio de correo electrónico.
With Cyrus, you can maintain control and accountability while ensuring the security of your email accounts and data.
Thanks for everyone’s interesting and useful sharing, I will visit often to find the necessary information.
Using Google ChromeGoogle Chrome 116.0.0.0 on Windows Windows NT
Such an amazing article that I see on IMAP folders with Cyrus. Amazon KPIs
To create shared IMAP folders with Cyrus, you’ll need to configure the «cyrus-imapd» server with appropriate permissions for users. Then, use the «setacl» command to grant access to specific folders for multiple users, allowing them to share and access those folders through IMAP.