Creo que revisé todos los hilos con "capturar todo" y "anula captura todo" con Postfix, pero aún puedo encontrar alguna solución para mi problema. Tengo un servidor SMTP entrante (solo) Postfix version 3.5.8
. Me gustaría convertirlo en un relevo abierto y puedo lograrlo virtual_alias_domains=static:yes
con /etc/postfix/main.cf
. Luego, me gustaría enviar estos mensajes a algunos usuarios dependiendo del dominio del destinatario, por lo que he creado algunos patrones con pcre en virtual_alias_maps = pcre:/etc/postfix/virtual
:
/1@test/ test
/2@test/ test2
/@test/ catchallfromtest
/@/ catchall
con/etc/postfix/aliases
test: "/var/mail/test.mail"
test2: "/var/mail/test2.mail"
catchallfromtest: "/var/mail/catchallfromtest.mail"
catchall: "/var/mail/catchall.mail"
Si comentara, /@/ catchall
el correo electrónico se enviaría correctamente, pero sin eso, todos los correos electrónicos se enviarían a todos. He probado muchas ideas (orden diferente, dividirlo en archivos separados, con diferentes tipos de bases de datos, para virtual_alias_map
algunos usuarios y con destinatario_bcc_maps para todo, luser_relay
pero funciona solo para, $mydomain
por lo que no funcionará en mi caso, con exclusión en el patrón y en fila ( !//
)) y con diferente forma de catchall ( //
, /.*@.*/
, /^.*@.*&/
, /.+@.+/
etc). Cuando intento probarlo con
postmap -q "1@test" pcre:/etc/postfix/virtual
Devuelve el alias correcto, pero cuando intento enviar un correo electrónico, aparece todo. ¿Qué más puedo probar? De [documentación][1]
Patterns are applied in the order as specified in the table, until a pattern is found that matches the input string.
Por lo tanto, debería detenerse justo después de que coincida el primer patrón, pero no es así. [1]:http://www.postfix.org/pcre_table.5.html