Alguns antecedentes
O postfix herdou alguns recursos do sendmail mais antigo, como milter e aliases. O arquivo /etc/aliases
faz parte de aliases
inheritance e implementado por alias_maps
. Por outro lado, o postfix tem virtual_maps
/ virtual_alias_maps
para o alias de e-mail do manipulador. Então, qual é a diferença entre eles?
Parâmetro alias_maps
-
Usado somente para entrega local (8)
-
De acordo com a classe de endereço no postfix , o e-mail será enviado por local (8) se o os nomes de domínio do destinatário estão listados no
mydestination
-
A entrada de pesquisa era apenas partes locais do endereço de e-mail completo (por exemplo, myuser from myuser @ example .com). Ele descarta as partes do domínio do destinatário.
-
O resultado de pesquisa pode conter um ou mais dos seguintes itens:
- endereço de e-mail : o e-mail será encaminhado para endereço de e-mail
- / file / name : o email será anexado a / file / name
- | command : mail canalizado para o comando
- : include: / file / name : inclua alias de / file / name
Parâmetro virtual_alias_maps
-
Usado por entrega virtual (5)
-
Sempre chamado pela primeira vez antes de qualquer outra classe de endereço. Não importa se o domínio do destinatário foi listado em
mydestination
,virtual_mailbox_domains
ou outros locais. Ele substituirá o endereço / alias definido em outros locais. -
A entrada de pesquisa tem algum formato
-
usuário @ domínio : ele corresponderá usuário @ domínio literalmente
-
usuário : ele corresponderá a usuário @site quando o site for igual a
$myorigin
, quando o site estiver listado em$mydestination
ou quando estiver listado em$inet_interfaces
ou$proxy_interfaces
. Esta funcionalidade se sobrepõe à funcionalidade do banco de dados de aliases locais (5). -
@domínio : corresponderá a qualquer email destinado a
domain
, independentemente das partes locais
-
-
O resultado de pesquisa deve ser
- endereço de e-mail válido
- usuário sem domínio. O postfix anexará
$myorigin
ifappend_at_myorigin
definido sim
Why do we need /etc/aliases when having the email inside virtual aliases map seems to override it?
Como você pode ver acima, alias_maps
(/ etc / aliases) tem alguns recursos adicionais (ao lado de encaminhamento), como piping to command. Contraste com virtual_alias_maps
que apenas encaminha o email.
What is the purpose of having these 2 separate aliases mapping and when do we decide when to use what?
As desvantagens do alias_maps
são que você pode diferenciar se o destinatário original tiver o formulário [email protected] ou [email protected] . Ambos serão mapeados para a entrada raiz em alias_maps
. Em outras mãos, você pode definir um endereço de encaminhamento diferente com virtual_alias_maps
.
Why did fail2ban (which is configured to email to root@localhost) first follow email address given in alias_maps (/etc/aliases/) and later decides to ignore that once virtual_alias_maps was added?
Antes de o virtual_alias_maps ser adicionado : root @ localhost foi aliasado por alias_maps
porque localhost foi listado em mydestination
.
Após a definição de virtual_alias_maps : A entrada root
(em virtual_alias_maps) não tem partes de domínio e localhost foi listado em mydestination
, portanto, corresponderá a root [email protected]
.
Why doesn't all services read email aliases mentioned in /etc/aliases and they only work when the email aliases are added in virtual alias map?
O comando mail root
enviará o email para o root. Como a falta de partes de domínio, a reescrita trivial do postfix acrescentará myorigin às partes do domínio. Então, o e-mail será enviado para root @ myorigin .
Antes de o virtual_alias_maps ser adicionado : Infelizmente, myorigin
não está listado em mydestination
, por isso, não haverá aliases por alias_maps
.
Após a adição de virtual_alias_maps : A entrada root
(em virtual_alias_maps) não tem partes de domínio e myorigin (obviamente) iguais a myorigin
, portanto corresponderá a root [email protected]
.