No seu autenticador, você deve ter uma linha como server_set_id =
. O que estiver no lado direito dessa linha será armazenado em uma variável $authenticated_id
. Essa variável pode ser usada em seus roteadores para copiar condicionalmente as mensagens enviadas pelo nome de usuário autenticado do seu filho.
Parece-me que você está usando o Debian, ou um derivado do Debian como o Ubuntu. Por favor, esteja ciente de que o Debian empacota o arquivo de configuração do Exim de maneira específica à sua distribuição. Por causa disso, pode ser confuso receber conselhos para sistemas exim genéricos e tentar aplicá-lo a um sistema Debian. Dito isso, se você realmente quer que ele funcione e leia os documentos do Debian sobre como o sistema de empacotamento deles funciona, você pode fazê-lo funcionar.
Caso não seja óbvio, eu sou um cara não-Debian-Exim, então meu conselho é genérico, você terá que traduzi-lo para os padrões de empacotamento do Debian.
Primeiro, você precisa encontrar os autenticadores e verificar se eles estão usando a opção server_set_id
. Aqui está um autenticador de exemplo:
auth_plain:
driver = plaintext
public_name = PLAIN
server_condition = ${if eq {$3}{AUTH_STR}{yes}{no}}
server_advertise_condition = ${if eq{$tls_cipher}{}{no}{yes}}
server_set_id = $auth2
Por causa dos caprichos dos diferentes tipos de autenticação, às vezes $auth1
manterá o nome de usuário, às vezes será $auth2
. Se o seu sistema não foi atualizado por algum tempo, você também pode ver $1
e $2
, que foram usados antes que as variáveis específicas da autenticação fossem adicionadas.
Agora que você tem o nome de usuário do usuário autenticado sendo salvo em $authenticated_id
, é necessário adicionar um roteador que envie uma cópia do e-mail para seu endereço somente se $authenticated_id
corresponder ao nome de usuário do seu filho. Como a ordem dos roteadores é importante, convém adicioná-la bem alto em seus roteadores para garantir que você obtenha tudo, mas você terá que examinar sua própria configuração para avaliar exatamente onde colocá-la.
Veja um exemplo de roteador que faz o que você quer:
copy_jrs_mail:
driver = redirect
data = [email protected]
condition = ${if eq{$authenticated_id}{littlejohnny}{yes}{no}}
unseen
Para fazer a mesma coisa, mas procurar as informações de um arquivo, você pode realmente eliminar a condição (porque $authenticated_id
no arquivo terá a mesma finalidade) e alterar a parte data =
para usar um arquivo:
copy_auth_mail:
driver = redirect
data = ${if exists{/etc/exim4/outgoing.copies}{\
${lookup{${lc:$authenticated_id}}lsearch{/etc/exim4/outgoing.copies}}}}
unseen
Espero que você esteja indo na direção certa, boa sorte.