usando sendmail solo con usuarios que no son del sistema

usando sendmail solo con usuarios que no son del sistema

Necesito usar sendmail sin ningún usuario del sistema.

El único problema que todavía existe en mi configuración es que FEATURE(virtusertable)quiere un usuario final del sistema en RHS en mi tabla de usuarios virtuales como este:

@domain.tld           [email protected]
[email protected]       systemuser

El problema es que NO existe tal usuario del sistema y quiero que todo el correo a @dominio.tld se entregue a mi lda (procmail, luego dovecot-lda), que es capaz de manejar direcciones de correo electrónico completas como usuarios.

Ya probé cosas como

define(`_VIRTUSER_STOP_ONE_LEVEL_RECURSION_', `true')dnl
define(`_NEED_MACRO_MAP_',`1')dnl

pero esto tampoco ayuda.

Ya tenemos una solución fea con el script de procmail que lee la tabla virtuser, pero nos encantaría que sendmail manejara esto para que cualquier correo electrónico enviado que no tenga RHS y/o usuario en lda sea rebotado. Además, usar dovecot-lda es lda directo en sendmail y tampoco es una opción en nuestra configuración. :(

¡Cualquier ayuda es bienvenida!

Respuesta1

Echa un vistazo aPreguntas frecuentes de Sendmail 3.29- "¿Cómo puedo agregar un encabezado que especifique el destinatario real cuando varios usuarios de un dominio virtual van a un solo buzón?"

En mi humilde opinión, se puede adaptar fácilmente para ofrecer lo que desea: proporciona todos los ganchos necesarios.

Por cierto, puede utilizar la entrada virtusertable "@dominio.tld" para errorel correo seleccionado. Le permitirá rechazar mensajes a usuarios virtuales que no figuran en virtusertable.

@domain.tld           error:nouser No such user here
[email protected]       systemuser+%1
[email protected]        systemuser+%1

También puedes consultarhttps://www.sendmail.com/sm/open_source/tips/virtual_hosting/

Respuesta2

Terminé resolviendo esto de dos maneras:

a) Aplicar parches libsm/mbdb.cy sendmail/recipient.crealizar una búsqueda adicional en la tabla de usuarios de dovecot. Para que esto funcione, se necesitaba un pequeño ajuste con LOCAL_RULE_0.

b) Andrzej me señaló en una pregunta similar sobre stackoverflow la solución con mailertable y archivo de acceso. Siguiendo esta idea encontré una solución aún más sencilla para tener todo lo que necesitamos:

tabla de usuarios virtuales:

@domain.tld              user_domain_tld
[email protected]          user_another_tld

alias:

user_domain_tld: "|/bin/procmail -a [email protected]"
user_another_tld: "|/bin/procmail -a [email protected]"

Es bueno tener la solución a), porque cambia la sintaxis aceptada en virtusertable y uno solo tiene que verificar un archivo a lo largo del tiempo, donde la solución b) gana debido a la manera fácil de lograrlo, que además es más compatible con futuras versiones de sendmail. Después de todo el trabajo, uso la solución a), pero la cambiaré a la solución b) después de Navidad;)

información relacionada