# Sender25 - Instalação WHM - EXIM

Precisamos ajustar 3 campos para que o EXIM no WHM para que funcione corretamente, localizado em  
  
Configurações e Serviços -&gt; Gerenciar as configurações de EXIM -&gt;Advancer Editor

##### **Section: POSTMAILCOUNT**

```shell
send_via_sender25: 
	driver = manualroute
	.ifdef SRSENABLED
		transport = ${if eq {$local_part@$domain} \
		{$original_local_part@$original_domain} \
		{sender25_smtp} {sender25_forward_smtp}}
	.else
	transport = sender25_smtp
.endif
domains = ! +local_domains
hosts_randomize = true
route_list = * smtp-a.sender25.com::25 randomize byname
host_find_failed = defer
no_more
```

<p class="callout warning">Você pode usar o servidor smtp-a.sender25.com porta 25 ou smtp-b.sender25.com porta 2525</p>

##### **Section: TRANSPORTSTART**

```shell
dsn_direct_smtp:
    driver = smtp
    message_linelength_limit = 1000000

sender25_smtp:
	driver = smtp
    hosts_require_auth = *
    tls_tempfail_tryclear = true
    headers_add = "x-authuser: ${if def:authenticated_id\
    {${if match{$authenticated_id}{.*@.*}{$authenticated_id}{$authenticated_id@$primary_hostname}}}\
    {${if and{{eq{$received_protocol}{local}}{def:sender_ident}}{$sender_ident@$primary_hostname}{}}}}\n\
    X-Authenticated-Id: ${if def:authenticated_id\
    {${if match{$authenticated_id}{.*@.*}{$authenticated_id}{$authenticated_id@$primary_hostname}}}\
    {${if and{{eq{$received_protocol}{local}}{def:sender_ident}}{$sender_ident@$primary_hostname}{}}}}"
    dkim_domain = $sender_address_domain
    dkim_selector = default
    dkim_canon = relaxed
    dkim_private_key = "/var/cpanel/domain_keys/private/${dkim_domain}"
    message_linelength_limit = 1000000

.ifdef SRSENABLED
    sender25_forward_smtp:
     driver = smtp
     hosts_require_auth = *
     max_rcpt = 1
     return_path = ${srs_encode {SRS_SECRET} {$return_path} {$original_domain}}
     tls_tempfail_tryclear = true
     headers_add = "X-AuthUser: ${if def:authenticated_id\
     {${if match{$authenticated_id}{.*@.*}{$authenticated_id}{$authenticated_id@$primary_hostname}}}\
     {${if and{{eq{$received_protocol}{local}}{def:sender_ident}}{$sender_ident@$primary_hostname}{}}}}\n\
     X-Authenticated-Id: ${if def:authenticated_id\
     {${if match{$authenticated_id}{.*@.*}{$authenticated_id}{$authenticated_id@$primary_hostname}}}\
     {${if and{{eq{$received_protocol}{local}}{def:sender_ident}}{$sender_ident@$primary_hostname}{}}}}"
     dkim_domain = $sender_address_domain
     dkim_selector = default
     dkim_canon = relaxed
     dkim_private_key = "/var/cpanel/domain_keys/private/${dkim_domain}"
.endif
```

##### **Section: AUTH**

```
auth_login: 
  driver = plaintext 
  public_name = LOGIN 
  #specify your mailchannels SMTP user and password below 
  hide client_send = : USUARIO : ${lookup{sender25}lsearch{/etc/exim.sender25.auth}}
```

Criar arquivo de senha externo no arquivo

```bash
/etc/exim.sender25.auth
```

Conteúdo:

```bash
sender25: SenhaSMTP
```

Ou alterar de um usuário já existente.

```bash
printf 'sender25: %s\n' \
  "$(sed -n 's|^[[:space:]]*client_send = : "Mudar Usuario" : ||p' /etc/exim.conf.local)" \
  > /etc/exim.sender25.auth
chown root:mail /etc/exim.sender25.auth
chmod 640 /etc/exim.sender25.auth
```

<p class="callout info">Alterar USUARIO por ORGANIZACAO/NOMEDOSERVER que vem do Sender25  
Alterar SENHA pela chave SMTP gerada no painel do sender</p>

É necessário liberar o ip do sender25 no Firewall  
Neste exemplo nós utilizamos o host smtp-a.sender25.net e smtp-b.sender25.net, sendo 170.247.61.197 e 170.247.61.198  
Adicionar ip do servidor Sender a lista de ips liberados.  
  
Liberar IP no Firewall

```bash
csf -a 170.247.61.197 sender25
csf -a 170.247.61.198 sender25
```

Restart Firewall

```bash
csf -r
```