Utilice alias en iRedMail para categorías con función de email entrante habilitada

:mega: ADVERTENCIA: este tema es muy específico para un caso de uso raro y es probable que no sea lo que deberías estar haciendo. Consulta los dos primeros enlaces a continuación para la configuración recomendada.

Prerrequisitos

Busqué en el foro un artículo claro sobre cómo configurar un sistema de tickets usando Discourse y encontré algunos temas brillantes:

  1. Configuring incoming email to create new topics or group messages
  2. Use Discourse as a Private Support/Ticket System

Preguntas

Desafortunadamente, no estoy lo suficientemente familiarizado con algunas funciones de los servidores de correo y no sé cómo configurar el soporte de reply+mailbox@server.com o somerandomcode+mailbox@server.com. ¿Cómo funciona esto en absoluto, por favor? :man_facepalming:

¿Cómo puedo usar múltiples correos electrónicos asignados a diferentes categorías? ¿Cómo funciona si la configuración del foro solo admite una dirección de correo electrónico?

Sí, funciona perfectamente. Basado en esas dos guías, entendí los principios del correo entrante y la configuración adecuada del foro. Como se mencionó anteriormente, la clave principal es la función de reenvío del servidor de correo.

Servidor de correo completamente funcional básico

Para aquellos que deseen configurar un servidor de correo sin costo, recomiendo iRedMail

  • Aquí hay un artículo para configurar un servidor de correo basado en ubuntu + postfix + iredmail en inglés
  • Aquí lo mismo para centos en ruso

Alias de correo

Después de una instalación predeterminada, obtendrás un servidor de correo listo para conectarse a Discourse. Sigue los pasos 1 y 2 anteriores y luego los siguientes pasos sobre cómo usar alias de correo en iRedMail.

Por ejemplo, creaste el buzón master@server.com y dos categorías:

feature
feature -> internal [privado]

Debes usar tus credenciales de buzón en la configuración de sondeo POP.

Conéctate a la shell de tu servidor, usa el usuario postgres y conéctate a la base de datos (yo uso postgres):

ssh login@server.com
sudo su - postgres
psql

Luego cambia al esquema vmail y crea dos alias:

postgres=# \c vmail
postgres=# INSERT INTO alias (address, domain, active)
VALUES ('feat@server.com', 'server.com', 1);

postgres=# INSERT INTO alias (address, domain, active)
VALUES ('staff@server.com', 'server.com', 1);

El siguiente paso es crear reenvíos:

postgres=# INSERT INTO forwardings (address, forwarding,
                              domain, dest_domain,
                              is_list, active)
VALUES ('feat@server.com', 'master@server.com',
'server.com', 'server.com', 1, 1);

postgres=# INSERT INTO forwardings (address, forwarding,
                              domain, dest_domain,
                              is_list, active)
VALUES ('staff@server.com', 'master@server.com',
'server.com', 'server.com', 1, 1);

postgres=# \q O CTRL+D para salir

Puedes verificar las dos tablas, alias y reenvíos, en tu gestor de BD favorito:

%D0%B8%D0%B7%D0%BE%D0%B1%D1%80%D0%B0%D0%B6%D0%B5%D0%BD%D0%B8%D0%B5

%D0%B8%D0%B7%D0%BE%D0%B1%D1%80%D0%B0%D0%B6%D0%B5%D0%BD%D0%B8%D0%B5

Presta atención a la clave activa; debe ser 1.

Verificar configuración

Asigna alias de correo a las categorías y envía correos desde el correo de tu usuario registrado. Si es necesario, puedes permitir el envío anónimo de correos y la creación automática de usuarios provisionales con las siguientes configuraciones:

  • Aceptar correos de usuarios anónimos sin cuentas (opcional, configuración de categoría)
  • Habilitar usuarios provisionales (si es verdadero, también marca aprobar a menos que sea provisional)
  • Sondeo POP3 habilitado = verdadero
  • Host de sondeo POP3 (tu FQDN de host)
  • Puerto de sondeo POP3 (generalmente 995)
  • Nombre de usuario de sondeo POP3 (master@server.com)
  • Contraseña de sondeo POP3
  • Eliminar del servidor tras el sondeo POP3 (opcional, lo dejo deshabilitado para conservar el mensaje original en mi cliente de correo)
  • Registrar fallos en el procesamiento de correos (opcional, ya que puedes monitorear todos los eventos en la pestaña Correos)
  • Correo entrante = verdadero
  • Confianza mínima para correo entrante (uso 0 al principio tras iniciar mi foro, también verifica limpiar usuarios inactivos después de días)
  • Prefijo de correo (opcional; si el título de tu sitio tiene mayúsculas, podría aumentar la puntuación de spam en respuestas automáticas)
  • Habilitar correos reenviados (opcional; aún está en BETA en 2.4.0beta2, a veces no puede encontrar el cuerpo del correo)

Verificar correos entrantes

Envía correos a tus alias y verifica:

/admin/email/received
/admin/email/rejected

Ahora todos los correos enviados tanto a master@server.com, feat@server.com como staff@server.com se colocarán en un solo buzón: master@server.com. La diferencia es que los correos enviados a feat@ serán procesados por la categoría feature, y los enviados a staff@ serán procesados por internal.

¡Asegúrate de que hayan aparecido nuevos temas! :sunny:

Algunas notas

  • Incluso si asignas el correo principal master@ a alguna categoría pública o privada, todos los correos se procesarán correctamente (sin duplicados, sin revelar privacidad)
  • La configuración longitud mínima del título del tema no afecta la longitud del asunto del correo.

The one I recommend is Configure direct-delivery incoming email for self-hosted sites with Mail-Receiver. You don’t need to configure much more than a couple things to set it up and after that you can just use whatever email addresses for groups or categories and it will Just Work.

2 Me gusta

Thanks for sharing @pfaffman, I did not find that topic. I am old-school guy, therefore I trust the proven schemes used in production. I just suggest rather fast and stable solution. Also I did not find any mention of word alias in relevant search results. So let it be in this howto).

1 me gusta

To each his own, but for handling incoming mail to Discourse a container running Postfix is a pretty proven solution. It’s hard to imagine that iRedMail could be faster or more stable, if only because iRedMail includes a bunch of components that you don’t need if all you want to do it get mail delivered to Discourse.

This topic is OK but highly specific to your rather unusual use case. I’m adding a warning to the top of the topic to that effect.

4 Me gusta