Temos uma configuração de exim funcionando em um site, onde os usuários podem enviar e receber e-mails. Estamos tentando configurar um servidor para enviar alguns avisos e erros usando o email para um endereço que esteja fora da rede local.
O problema é:
O programa que envia os e-mails os envia usando o nome de usuário em que é executado e o nome do host local do servidor. Isso faz com que os emails tenham um remetente no formato: [email protected]. O Exim envia esses e-mails para o servidor SMTP do ISP, que rejeita os e-mails porque eles têm um remetente ilegal ou não verificável (o endereço interno).
Estou pensando em configurar o exim para reescrever o remetente quando:
- o domínio do remetente está na rede local
- O domínio do receptor está fora da rede local
Tentei definir algum tipo de reescrita na configuração do exim, mas não consegui fazê-la funcionar. Mostraria o que tentei, mas fiquei sem tempo na última visita ao site e tive que voltar à versão original, perdendo todas as alterações que tentei.
^
no início da regra, comoS
excepts um regexpSender:
" cabeçalho não "Sender-To:
" (E é uma muito pequena mudança para editar o post)O arquivo
/etc/email-addresses
deve lidar com o problema. Esta é uma parte padrão da distribuição Exim. Você precisará configurar um registro para cada usuário local que envia email.Tente uma linha para
/etc/email-addresses
gostar:No seu servidor MX, adicione um alias como:
Use um
Reply-to:
cabeçalho para permitir que o destinatário responda à mensagem.O arquivo
/etc/email-addresses
é usado com o seguinte código de reescrita, que deve estar no início darewrite
seção do arquivo de configuração.fonte
/etc/email-addresses
não existe no meu servidor. Posso apenas criá-lo ou isso indica que algo está faltando?email-addresses
Verifique o seu arquivo de configuração ou verifique a seção de reescrita. É possível que isso não tenha sido configurado em sua distribuição.grep
,locate
e olhou por algunsman
-pages, mas não encontrou nada. O arquivo deve ser definido emexim.conf
?exim.conf
. Se estiver faltando, adicione-o. Verifique se a variávellocal_domains
inclui seu domínio./etc/email-addresses
é útil quando você só precisa associar um endereço de email por nome de usuário. No entanto, se o usuário precisar enviar e-mails com vários endereços, será necessário modificar/etc/email-addresses
cada vez e, inevitavelmente, você acabará usando o endereço errado.Outra abordagem é enviar o email usando o
exim4
comando e sua-f
opção:Observe que, para que a
-f
opção funcione, é necessário que o usuário esteja nos usuários confiáveis do exim ou exim para aceitá-lo como remetente não confiável permitido.No meu caso, o último era o padrão, graças a este curinga em
/etc/exim4/conf.d/main/02_exim4-config_options
:A outra solução é adicionar a seguinte linha
/etc/exim4/conf.d/main/00_local_settings
(assumindo a configuração de divisão do exim e criá-la se ela já não existir):Ambas as opções precisam ser recarregadas da configuração do exim. Debian:
fonte