Autenticación SASL de Postfix a través de Dovecot: ¿puedo utilizar el nombre de inicio de sesión de SASL en mis consultas SQL de Postfix?

Autenticación SASL de Postfix a través de Dovecot: ¿puedo utilizar el nombre de inicio de sesión de SASL en mis consultas SQL de Postfix?

Tengo un servidor de correo con postfixDebian Buster dovecoty mysqlejecutándolo.

Todo funciona bien hasta ahora, pero me gustaría configurar un escenario en el que el nombre de inicio de sesión para la autenticación SASL sea diferente de la parte del usuario del dominio del destinatario.

Ejemplo:

Login name used for SASL auth: myusername
Sender email address: [email protected]

La autenticación con dovecot funciona bien ya que tengo el nombre de inicio de sesión disponible como una variable en dovecot.

Pero antes de que Postfix envíe el correo electrónico, me gustaría verificar si la dirección del remitente realmente pertenece al usuario que inició sesión. Por lo tanto, agregué elsmtpd_sender_login_mapsopción al servicio de envío en master.cf, apuntando a una tabla mysql.

  -o smtpd_sender_login_maps=proxy:mysql:/etc/postfix/mysql/sender-login-maps.cf

Según el manual de tabla mysql de postfix (http://www.postfix.org/mysql_table.5.html), las únicas variables disponibles son %s, %u, %d, todas ellas relacionadas con la dirección del remitente, es decir:

%s = [email protected]
%u = sender
%d = domain.com

¿Hay alguna forma de utilizar el nombre de inicio de sesión SASL original ('mi nombre de usuario') en mi consulta SQL?

Respuesta1

En realidad, descubrí que no es necesario acceder al nombre de usuario de autenticación sasl para este propósito.

Según el manual del usuario, smtpd_sender_login_mapsno debe devolver las direcciones de correo electrónico propiedad del usuario sasl; debe devolver el usuario sasl propietario de la dirección de correo electrónico del remitente.

http://www.postfix.org/postconf.5.html#smtpd_sender_login_maps

En todos los casos, el resultado de la búsqueda en la tabla debe ser "no encontrado" o una lista de nombres de inicio de sesión SASL separados por comas y/o espacios en blanco.

Para dicha consulta, el nombre de usuario sasl no es necesario como variable.

información relacionada