Differences between revisions 3 and 4
Revision 3 as of 2020-01-30 11:51:28
Size: 22767
Editor: RicardoCosta
Comment: Page was half translated to Brazilian Portuguese.
Revision 4 as of 2020-02-01 00:33:37
Size: 23015
Editor: RicardoCosta
Comment: Page almost entire translated to Brazilian Portuguese
Deletions are marked like this. Additions are marked like this.
Line 48: Line 48:
Aliás, o arquivo ''/etc/exim4/exim4.conf.localmacros'' será lido primeiro, o que o torna o local ideal para colocar as macros que você desejar definir. Usando esse arquivo, você pode controlar vários recursos (DKIM, por exemplo) e ainda obter os benefícios de não tocar nos arquivos fornecidos pelo debian, buscando ter atualizações mais perfeitas. Aliás, o arquivo ''/etc/exim4/exim4.conf.localmacros'' será lido primeiro, o que o torna o local ideal para colocar as macros que você desejar definir. Usando esse arquivo, você pode controlar vários recursos (DKIM, por exemplo) e ainda obter os benefícios de não tocar nos arquivos fornecidos pelo Debian, buscando ter atualizações mais perfeitas.
Line 61: Line 61:
Você perderá toda a magia obtda do empacotamento, portanto, você precisa estar familiarizado com o Exim para criar uma configuração realmente funcional. Você perderá toda a magia obtida pelo empacotamento, portanto, você precisa estar familiarizado com o Exim para criar uma configuração realmente funcional.
Line 170: Line 170:
== Sub-endereçamento de e-mail (e ações adicionais do Gmail) ==
== Email sub-addressing (plus-signs as in Gmail) ==
== Sub-endereçamento de e-mail (e autenticação no Gmail) ==
Line 242: Line 241:
== User authentication ==
Adding user authentication is possible using tools like [[Dovecot]] or sasl2-bin. For shell users who would like to use ''SASL'' and PAM for password authentication, that can setup this way:
== Autenticação do usuário ==
É possível adicionar autenticação do usuário usando ferramentas como [[Dovecot]] ou sasl2-bin. Para usuários do shell que preferem usar ''SASL'' e PAM para autenticação de senha, isso pode ser configurado da seguinte maneira:
Line 248: Line 247:
Edit ''/etc/default/saslauthd'' to enable saslauth: Edite ''/etc/default/saslauthd'' para ativar o saslauth:
Line 253: Line 252:
Start the deamon: Inicie o daemon:
Line 258: Line 257:

In
''/etc/exim4/exim4.conf.template'', uncomment the following lines to enable authentication via saslauthd:
Em ''/etc/exim4/exim4.conf.template'', descomente as seguintes linhas para permitir a autenticação via saslauthd:
Line 272: Line 270:

Add exim to the sasl group:
Adicione exim ao grupo sasl:
Line 278: Line 275:
Restart exim: Reinicie o exim:
Line 283: Line 280:
Test the connection using your username: Teste a coneo usando seu nome de usrio:
Line 289: Line 286:
Enable IMAP access by installing [[Courier-Imap]] or a similar MTA.


== Spam scanning ==
There are several ways to detect spam.

Exim has default configuration for spamassassin (''exim4-daemon-heavy'' required).
Ative o acesso IMAP instalando [[Courier-Imap]] ou um Agente de Transporte e E-mail (Mail Transfer Agent - MTA) semelhante.

== Detecção de spam ==
Existem várias maneiras de detectar spam.

O Exim possui uma configuração padrão para o spamassassin (''exim4-daemon-heavy'' necessário).
Line 300: Line 296:
If you are using Debian Jessie or later (with systemd enabled by default), enable and start the service using systemctl; Se vo estiver usando o Debian Jessie ou posterior (com o systemd ativado por padrão), habilite e inicie o serviço usando systemctl;
Line 306: Line 302:
On earlier Debian releases, edit ''/etc/default/spamassassin'' ... Em versões anteriores do Debian, edite ''/etc/default/spamassassin'' ...
Line 311: Line 307:
...and then start the daemon. ... e após inicie o daemon do serviço.
Line 316: Line 312:

On
all systems, edit ''/etc/exim4/exim4.conf.template'' as required for your system.

First, if
necessary, set the ''spamd_address'':
Em todos os sistemas, edite ''/etc/exim4/exim4.conf.template'' conforme necessário para o seu sistema.

Primeiro
, se necessário, defina o ''spamd_address'':
Line 331: Line 326:

N
ext, edit the ''acl_check_data'' section to add suitable spam headers:
Em seguida, edite a seção ''acl_check_data'' para adicionar cabeçalhos de spam adequados:
Line 365: Line 359:
Note that the above configuration also adds an ''X-Spam-Report'' header in outgoing emails, thereby violating RFC2822. Some mail servers, in particular the Debian mailing-list server, simply drop such non-conformant emails. See also Debian bug DebianBug:774553.

For more information about configuring spam filters, see the [[http://www.exim.org/exim-html-current/doc/html/spec_html/ch44.html|exim wiki]].


To test your ''spamassassin'' setup
follow spamassassin [[https://wiki.apache.org/spamassassin/TestingInstallation]] and [[https://spamassassin.apache.org/gtube/|gtube]].
Observe que a configuração acima também adiciona no cabeçalho um ''X-Spam-Report '' nos e-mails enviados, violando o RFC2822. Alguns servidores de correio, em particular o servidor da lista de discussão Debian, simplesmente descartam esses e-mails fora do padrão. Veja também o bug do Debian DebianBug: 774553.

Para maiores informações sobre a configuração de filtros de spam, consulte o [[http://www.exim.org/exim-html-current/doc/html/spec_html/ch44.html|exim wiki]].

Para testar sua configuração ''spamassassin'', siga spamassassin [[https://wiki.apache.org/spamassassin/TestingInstallation]] e [[https://spamassassin.apache.org/gtube/|gtube]].

Translation(s): English - Italiano


Visão Geral do Exim

O Exim é um agente de transporte de Mensagens (Message Transfer Agent - MTA).

Instalação

O Exim geralmente vem com a instalação padrão do Debian. Se você precisar usar o ACL e outros recursos, poderá ser necessário instalar o exim4-daemon-heavy

#apt-get install exim4-daemon-heavy

Configuração

O arquivo README.Debian.gz incluído nos pacotes exim4 detalha exaustivamente a configuração do estilo Debian.

#zless /usr/share/doc/exim4-config/README.Debian.gz

Geralmente, os pacotes Debian Exim 4 são configurados através do debconf. A instalação solicita perguntas durante a instalação do pacote e sua configuração inicial é criada a partir de suas respostas. Você pode repetir o processo de configuração a qualquer momento chamando:

 dpkg-reconfigure exim4-config

Apesar da configuração padrão ser estendida um pouco a partir do original a montante, é provável que você precise alterar manualmente a configuração do Exim com um editor, se você pretende fazer algo que não é coberto pela configuração automatizada do debconf. Nunca foi o intenção dos pacotes de oferecer todos os métodos de configuração possíveis através de debconf.

Existem três maneiras de configurar o exim4. O primeiro é um único arquivo monolítico, o segundo é um arquivo dividido e o terceiro é o seu próprio arquivo.

O arquivo de configuração é gerado a partir desses arquivos de configuração usando o comando (sim, ele possui .conf no nome)

update-exim4.conf

Após o qual você deve reiniciar o exim4 com algo como

service exim4 restart

Arquivo único de configuração do Exim4

Se você selecionar esta opção no debconf, a configuração será gerada a partir do arquivo /etc/exim4/exim4.conf.template.

O arquivo padrão é rico em recursos que podem ser ativados e controlados apenas definindo os valores de várias macros.

Aliás, o arquivo /etc/exim4/exim4.conf.localmacros será lido primeiro, o que o torna o local ideal para colocar as macros que você desejar definir. Usando esse arquivo, você pode controlar vários recursos (DKIM, por exemplo) e ainda obter os benefícios de não tocar nos arquivos fornecidos pelo Debian, buscando ter atualizações mais perfeitas.

Dividir o Arquivo

Nesses cenários, a configuração é dividida em vários arquivos menores na pasta /etc/exim4/conf.d/, que são juntados em um arquivo para você pelo comando update-exim4.conf. Cada seção do arquivo de configuração possui seu próprio subdiretório e os arquivos são concatenados em ordem alfabética. Como tal, provavelmente é uma boa ideia que seus arquivos personalizados sejam nomeados como 00_exim4-my-config, para que sejam incluídos primeiro.

Esse modo de operação permite que suas próprias seções de configuração sejam inseridas em qualquer local no arquivo de configuração final, sem tocar em nenhum dos arquivos fornecidos pelo pacote. A ideia é que as atualizações se tornem consistentes.

Seu próprio arquivo

Simplesmente coloque seu próprio arquivo em /etc/exim/exim4.conf e o exim o usará literalmente.

Para ter algo para começar, você pode usar como base o /etc/exim4/exim4.conf.template gerado na execução do update-exim4.conf --keepcomments --output /etc/exim4/exim4.conf ou usar a configuração padrão do upstream no arquivo /usr/share/doc/exim4-base/examples/example.conf.gz.

Você perderá toda a magia obtida pelo empacotamento, portanto, você precisa estar familiarizado com o Exim para criar uma configuração realmente funcional.

Observe que /etc/exim4/exim4.conf é lido diretamente pelo exim4 toda vez que o exim cria uma nova thread de execução. Portanto, se você editá-lo no lugar, cada conexão smtp realmente lerá um arquivo de configuração diferente!

Localização da configuração gerada automaticamente

Para referência, o arquivo gerado pelo update-exim4.conf fica em /var/lib/exim4/config.autogenerated

Faça uma cópia do arquivo para outro lugar antes de editar!

Exemplo de configuração em arquivo único

Essa configuração foi testada em um servidor e deve ser adequada para uso interno:

#dpkg-reconfigure exim4-config

General type of mail configuration:  internet site; mail is sent and received directly using SMTP.
System mail name: yourdomain.com
IP-addresses to listen on for incomming SMTP connections: // leave blank
Other destinations for which mail is accepted: yourdomain.com
Domains to relay mail for: // leave blank
Machines to relay mail for: // leave blank
Keep number of DNS-queries minimal (Dial-on-Demand) ?: No
Delivery method for local mail: Maildir format in home directory
Split configuration into small files ? : No

Isso grava a configuração em /etc/exim4/update-exim4.conf.conf.

Coias que você pode querer configurar

TLS e autenticação

gerar um certificado local

Gere um certificado usando:

#bash /usr/share/doc/exim4-base/examples/exim-gencert

Isto gerará os arquivos exim.crt e exim.key em /etc/exim4/

Em vez de gerar um certificado, você pode simplesmente copiar os certificados que você comprou ou gerou anteriormente.

Edite /etc/exim4/exim4.conf.localmacros adicionando a seguinte linha:

MAIN_TLS_ENABLE = yes

Como em qualquer alteração na configuração, execute update-exim4.conf e reinicie o exim (service exim4 restart).

comunicação com um smarthost

Se, como a maioria dos usuários domésticos, você não estiver executando um servidor da Internet, mas estiver usando contas de email de um ISP ou de outra empresa (por exemplo, gmail, hotmail, yahoo mail, etc.), será necessário comunicar com o servidor smtp dele para enviar email.

Toda empresa parece configurar seu servidor de maneira diferente e impõe restrições diferentes sobre como você pode enviar e-mails. Isso dificulta a descrição da configuração do Exim4 em um caso geral. Adicionar TLS torna as coisas ainda mais complicadas. No entanto, você deve sempre usar TLS (se disponível) para que seu login seja enviado criptografado.

Vou descrever uma configuração que deve funcionar na maioria dos casos, quando você envia emails usando uma única conta para um único smarthost.

  1. Selecione um das opções de smarthost quando rodar o dpkg-reconfigure exim4-config. Quando especificar o servidor inclua o nome do servidor e a porta (ex: exemplo.com::465). Note os dois pontos duplos.
  2. edite o /etc/exim4/passwd.client para usar a seguinte linha:
    • *:<username>:<user password> (e.g. *:mymail@exemplo.com:abdc1243)

    • Isto enviará todos e-mails do exim4 usando tais credenciais.
  3. Adicione as seguintes linhas ao /etc/exim4/exim4.conf.localmacros:
    • MAIN_TLS_ENABLE = 1
    • REMOTE_SMTP_SMARTHOST_HOSTS_REQUIRE_TLS = *
      • TLS_ON_CONNECT_PORTS = 465
      REQUIRE_PROTOCOL = smtps
  4. Adicione no arquivo /etc/exim4/exim4.conf.template depois do .ifdef:

REMOTE_SMTP_SMARTHOST_HOSTS_REQUIRE_TLS ... .endif

  • ifdef REQUIRE_PROTOCOL
    • protocol = REQUIRE_PROTOCOL
  • endif
  1. Adicione o seguinte após o .ifdef MAIN_TLS_ENABLE
    • ifdef TLS_ON_CONNECT_PORTS
      • tls_on_connect_ports = TLS_ON_CONNECT_PORTS
    • endif
  2. rode update-exim4.conf seguido de um service exim4 restart

Filtro SPF

Isso é fornecido através da macro CHECK_RCPT_SPF, defina-a como true.

O Exim usa uma ferramenta auxiliar, que você precisará instalar ...

# apt-get install spf-tools-perl

Você deve então executar update-exim4.conf e reiniciar o exim.

Listas negras de DNS

Você pode configurar o exim para usar listas negras de DNS com a macro CHECK_RCPT_IP_DNSBLS:

CHECK_RCPT_IP_DNSBLS = zen.spamhaus.org

O comportamento padrão não é bloquear os hosts encontrados nas listas, mas apenas adicionar um cabeçalho de aviso. Para realmente bloquear os spammers, basta alterar 'warn' por 'deny' no seguinte bloco:

  .ifdef CHECK_RCPT_IP_DNSBLS
  warn # <--- deny
    dnslists = CHECK_RCPT_IP_DNSBLS
    add_header = X-Warning: $sender_host_address is listed at $dnslist_domain ($dnslist_value: $dnslist_text)
    log_message = $sender_host_address is listed at $dnslist_domain ($dnslist_value: $dnslist_text)
  .endif

Então reinicie o exim.

Sub-endereçamento de e-mail (e autenticação no Gmail)

Isso pode ser facilmente alcançado adicionando algo semelhante ao seguinte em uma das mais de suas definições de roteador

local_part_suffix = +* : -* : _*
local_part_suffix_optional

O exemplo acima fornceria user+example@domain.com, user-example@domain.com e user_example@domain.com para user@domain.com.

Da mesma forma, você pode usar um prefixo com essas opções com opções de nomes semelhantes

local_part_prefix = *+ : *- : *_
local_part_prefix_optional

O exemplo acima entregaria example+user@domain.com, example-user@domain.com e example_user@domain.com para user@domain.com.

Em ambos os casos, você pode usar a filtragem em partes, configurações espertas ou o seu cliente de email para modificar o endereço de e-mail da forma apropriada.

Instalar ferramentas de diagnóstico

#apt-get install swaks libnet-ssleay-perl

Teste a conexão:

$swaks -a -tls -q HELO -s localhost -au your_user -ap '<>'
 === Trying localhost:25...
 === Connected to localhost.
 <-  220 debianwb ESMTP Exim 4.76 Thu, 04 Aug 2011 14:22:02 +0600
  -> EHLO debianwb
 <-  250-debianwb Hello localhost [127.0.0.1]
 <-  250-SIZE 52428800
 <-  250-PIPELINING
 <-  250-STARTTLS
 <-  250 HELP
  -> STARTTLS
 <-  220 TLS go ahead
 === TLS started w/ cipher DHE-RSA-AES256-SHA
  ~> EHLO debianwb
 <~  250-debianwb Hello localhost [127.0.0.1]
 <~  250-SIZE 52428800
 <~  250-PIPELINING
 <~  250 HELP
  ~> QUIT
 <~  221 evie closing connection

Observe que acima estamos enviando uma senha vazia durante o teste com a ferramenta swaks.

Alguns ISPs podem bloquear a conexão com a porta 25 e também alguns clientes danificados insistem em usar o TLS na Porta 465.

Para suportá-los, altere /etc/default/exim4 para:

SMTPLISTENEROPTIONS='-oX 465:25 -oP /var/run/exim4/exim.pid'

Edite também /etc/exim4/exim4.conf.template:

#####################################################
### main/03_exim4-config_tlsoptions
#####################################################
tls_on_connect_ports=465
### main/03_exim4-config_tlsoptions
#################################

Cheque pkg-exim4.alioth.debian.org LEIA-ME (em inglês) para detalhes.

Autenticação do usuário

É possível adicionar autenticação do usuário usando ferramentas como Dovecot ou sasl2-bin. Para usuários do shell que preferem usar SASL e PAM para autenticação de senha, isso pode ser configurado da seguinte maneira:

#apt-get install sasl2-bin

Edite /etc/default/saslauthd para ativar o saslauth:

START=yes

Inicie o daemon:

#/etc/init.d/saslauthd start

Em /etc/exim4/exim4.conf.template, descomente as seguintes linhas para permitir a autenticação via saslauthd:

 plain_saslauthd_server:
    driver = plaintext
    public_name = PLAIN
    server_condition = ${if saslauthd{{$auth2}{$auth3}}{1}{0}}
    server_set_id = $auth2
    server_prompts = :
    .ifndef AUTH_SERVER_ALLOW_NOTLS_PASSWORDS
    server_advertise_condition = ${if eq{$tls_cipher}{}{}{*}}
    .endif

Adicione exim ao grupo sasl:

#adduser Debian-exim sasl

Reinicie o exim:

#/etc/init.d/exim4 restart

Teste a conexão usando seu nome de usuário:

#swaks -a -tls -q AUTH -s localhost -au your_user
Password:

Ative o acesso IMAP instalando Courier-Imap ou um Agente de Transporte e E-mail (Mail Transfer Agent - MTA) semelhante.

Detecção de spam

Existem várias maneiras de detectar spam.

O Exim possui uma configuração padrão para o spamassassin (exim4-daemon-heavy necessário).

#apt-get install spamassassin

Se você estiver usando o Debian Jessie ou posterior (com o systemd ativado por padrão), habilite e inicie o serviço usando systemctl;

#systemctl enable spamassassin.service

Em versões anteriores do Debian, edite /etc/default/spamassassin ...

ENABLED=1

... e após inicie o daemon do serviço.

#/etc/init.d/spamassassin start

Em todos os sistemas, edite /etc/exim4/exim4.conf.template conforme necessário para o seu sistema.

Primeiro, se necessário, defina o spamd_address:

# For spam scanning, there is a similar option that defines the interface to
# SpamAssassin. You do not need to set this if you are using the default, which
# is shown in this commented example. As for virus scanning, you must also
# modify the acl_check_data access control list to enable spam scanning.

spamd_address = 127.0.0.1 783

Em seguida, edite a seção acl_check_data para adicionar cabeçalhos de spam adequados:

### acl/40_exim4-config_check_data
#################################

# This ACL is used after the contents of a message have been received. This
# is the ACL in which you can test a message's headers or body, and in
# particular, this is where you can invoke external virus or spam scanners.

acl_check_data:
...
...
...
# See the exim docs and the exim wiki for more suitable examples.
#
# warn
#   spam = Debian-exim:true
#   add_header = X-Spam_score: $spam_score\n\
#             X-Spam_score_int: $spam_score_int\n\
#             X-Spam_bar: $spam_bar\n\
#             X-Spam_report: $spam_report

# put headers in all messages (no matter if spam or not)
 warn  spam = debian-spamd:true
     add_header = X-Spam-Score: $spam_score ($spam_bar)
     add_header = X-Spam-Report: $spam_report

# add second subject line with *SPAM* marker when message
# is over threshold
  warn  spam = debian-spamd
      add_header = Subject: ***SPAM (score:$spam_score)*** $h_Subject:

Observe que a configuração acima também adiciona no cabeçalho um X-Spam-Report nos e-mails enviados, violando o RFC2822. Alguns servidores de correio, em particular o servidor da lista de discussão Debian, simplesmente descartam esses e-mails fora do padrão. Veja também o bug do Debian ?DebianBug: 774553.

Para maiores informações sobre a configuração de filtros de spam, consulte o exim wiki.

Para testar sua configuração spamassassin, siga spamassassin https://wiki.apache.org/spamassassin/TestingInstallation e gtube.

Exim access control lists (ACLs)

Exim provides flexible way to set access control list. For detailed information, see the ACL documentation on the exim wiki.

For example, if we are trying to deny all mail from three free email service providers (domain1.com, domain2.com, domain3.com) based on Received headers from the servers, we can use the following lines:

deny
     condition = ${if match{$h_Received:}{\N\.(domain1|domain2|domain3)\.com\N}{yes}{no}}
     message = This mailbox does not support free e-mail services.

Smarthost with Authentication

Start by reconfiguring exim4:

sudo dpkg-reconfigure exim4-config

Select mail sent by smarthost, no local mail (unless you are configuring local mail, which most folks at home do not need).

Then edit the file:

sudo vim /etc/exim4/passwd.client

And add the line:

*:login:password

Substituting the correct email account login name for login and corresponding password. Comments in the passwd.client file will provide additional information about configuration options.

Most ISPs offer multiple email accounts so it may make sense security wise to create an account just for utility use such as this. If your Linux host is ever compromised you will be glad you had a separate utility email account.

NOTE: you should also see the section https://wiki.debian.org/Exim#TLS_and_authentication (above) about configuring tls. You should never communicate with a smarthost without an encrypted connection.

DMARC Support

Note Trisquel 8 backports repository, exim4-daemon-heavy has DMARC support builtin, and is based on the version from ubuntu 18.04.

You will need to compile a modified version of exim, editing any of the EDITME configuration files in a patch like the one below. In your configuration, you will need to use the spf builtin to exim instead of the external one that Debian's default config ships with. Documentation of these features is in https://github.com/Exim/exim/blob/master/doc/doc-txt/experimental-spec.txt

@@ -459,9 +462,9 @@
 # installed on your system (www.libspf2.org). Depending on where it is installed
 # you may have to edit the CFLAGS and LDFLAGS lines.

-# EXPERIMENTAL_SPF=yes
-# CFLAGS  += -I/usr/local/include
-# LDFLAGS += -lspf2
+EXPERIMENTAL_SPF=yes
+CFLAGS  += -I/usr/local/include
+LDFLAGS += -lspf2

 # Uncomment the following lines to add SRS (Sender rewriting scheme) support.
 # You need to have libsrs_alt installed on your system (srs.mirtol.com).
@@ -474,10 +477,10 @@

 # Uncomment the following line to add DMARC checking capability, implemented
 # using libopendmarc libraries.  You must have SPF support enabled also.
-# EXPERIMENTAL_DMARC=yes
-# DMARC_TLD_FILE= /etc/exim/opendmarc.tlds
-# CFLAGS += -I/usr/local/include
-# LDFLAGS += -lopendmarc
+EXPERIMENTAL_DMARC=yes
+DMARC_TLD_FILE= /etc/exim4/opendmarc.tlds
+CFLAGS += -I/usr/local/include
+LDFLAGS += -lopendmarc

 # Uncomment the following lines to add Brightmail AntiSpam support. You need
 # to have the Brightmail client SDK installed. Please check the experimental

Exim will also have new dependencies, libopendmarc2 and libspf2-2. And their dev version for building.

For running a mailing list and ensuring all sent mail is DMARC compliant

Mailman lists can easily be misconfigured to send out DMARC failing messages. If configured properly, it will not modify DKIM signatures, and send DMARC compliant mail without "munge from" set. However sometimes people misconfigure exim by using the default DKIM headers, which includes list-* headers, which sets up Mailman to send DMARC failing messages because it needs to modify them. Exim can do from munging in this case. This also allows Mailman lists to have content filtering turned on, and rely on exim to munge from when it happens, since Mailman isn't smart enough to only munge in that case. Related pages: https://wiki.list.org/DOC/What%20can%20I%20do%20about%20members%20being%20unsubscribed%20by%20bounces%20of%20Yahoo%20user%27s%20posts%20for%20DMARC%20policy%20reasons%3F https://wiki.list.org/DEV/DMARC

Requires DMARC support (see above section of this wiki).

Edit exim-conf.d/acl/30_exim4-config_check_rcpt, comment out a line

  accept
    hosts = +relay_from_hosts
    control = submission/sender_retain
    # commented out, we need dkim from localhost for dmarc
#    control = dkim_disable_verify

Add to your rcpt_local_acl

# for dmarc, we need to run spf beforehand
warn
  spf = !pass
  log_message = spf not pass

Add to your data_local_acl. (note snippet below is cut short, view the raw wiki page to see the full section, the wiki syntax and exim config syntax conflict)

# Here we do dmarc from: munging basically just like mailman does, as far as I can tell.
warn
  log_message = fsf-exim-dmarc-munging
  # for dmarc, we only care about messages that mailman sends out,
  # and in our case, that runs on the same machine.
  hosts = <; 127.0.0.1 ; ::1
  dmarc_status = reject:quarantine
  remove_header = Reply-to:
  # Add from: to reply-to:.
  add_header = Reply-to: ${if def:h_reply-to: {$h_reply-to:, }{}}$h_from:
  remove_header = From:
  # The main from munge is done in the next line
  # example input and outputs of it:
  # input:
  # List-Id: <libreplanet-discuss.libreplanet.org>
  # From: joe@wackydomain.com
  # output:
  # From: joe--- via <libreplanet-discuss@libreplanet.org>
  #
  # input:
  # List-Id: GNU emacs discussion
  #  <gnu-emacs.gnu.org>
  # From: "P xxx person" <aperson@wackydomain.com>
  # output:
  # From: "P xxx person" via GNU emacs discussion
  #   <gnu-emacs@gnu.org>
  #
  # how this works:
  # sg = subsitute globally, works like perl
  # first 2 sgs operate on original from header.
  # inner sg removes <.*, outer sg does s/@.*/---/.
  #
  # The final sg operates on list-id header, replaces the second to last . with an @
  # Note, this means if we ever use any list that uses 3+ part domain, this
  # will need adjusting, for example if we made somelist@savannah.gnu.org
  #
  # I imagine its possible for someone to have a crazy from: header and
  # screw this up somehow. 
  #
  # Note, at least for emacs mail client, when doing reply-all for these
  # messages, it uses reply-to: and to:, not the from:
  add_header = From: ${sg{${sg{$h_from:}{\N *<.*\N}{

{@.*}{---}} via ${sg{$h_list-id:}{\N\.([.]+\.[.]+)$\N}{@\$1}}

}}}

Perguntas Frequentes dos usuários Exim4 no Debian

Há uma página Wiki com ?Perguntas Frequentes do Exim4.


Veja também