# Instalação DA

Para realizar instalação no DirectAdmin vamos precisar ajustar os SPF

No Sender25, criar a organização e servidor  
Criar chave API e chave SMPT

baixar o script de instalação do hook

```bash
curl -fsSLk https://sender25.com/downloads/sender25 -o sender25 && chmod +x sender25 && ./sender25
```

Para instalar basta executar o comando como o exemplo abaixo

```shell
./sender25 --install TOKEM https://app.sender25.com
```

<p class="callout info">Substituir o TOKEM pela chave da API gerada anteriormente</p>

Após a instalação adicionar domínios ao sender25

```bash
sender25 --addalldomains
```

<p class="callout warning">Caso tenha instalado o sender25 e esquecido de adicionar os domínios, efetuar a desinstalação e instalar novamente</p>

  
Ajustar SPF e incluir a entrada abaixo em todos os domínios

```
+include:_spf.sender25.com
```

Para novos registro pode ajustar o SPF padrão na seguinte pasta.

```
vim /usr/local/directadmin/data/templates/custom/dns_txt.conf
```

Conteudo

```
|DOMAIN|.="v=spf1 a mx ip4:|SERVER_IP||EXTRA_SPF||SPF_IPV6| include:_spf.sender25.com -all"
```

Para ajustar o nome do selector, execute o comando abaixo  
Selector é o nome da chave dkim.

```shell
/usr/local/directadmin/directadmin set dkim_selector default restart
```

Para ajustar Dkim no DirectAdmin

Para que novas contas já venham com dkim automaticamente realize os passos abaixo

```shell
/usr/local/directadmin/directadmin set dkim 1 restart
cd /usr/local/directadmin/custombuild
./build update && ./build exim && ./build eximconf
```

Precisamos ajustar 3 arquivos para que o EXIM do DA funcione corretamente, sendo:

/etc/exim.routers.pre.conf

```shell
smart_route_forward:
    driver = manualroute
    domains = ! +local_domains
    ignore_target_hosts = 127.0.0.0/8
    condition = ${if !eq{$original_domain}{$domain}}
    condition = ${if !eq{$original_domain}{}}
    condition = "${perl{check_limits}}"
    transport = auth_relay_forward
    route_list = * smtp.sender25.net::2525
    no_more

smart_route:
    driver = manualroute
    domains = ! +local_domains
    ignore_target_hosts = 127.0.0.0/8
    condition = "${perl{check_limits}}"
    transport = auth_relay
    route_list = * smtp.sender25.net::2525
    no_more
```

/etc/exim.transports.pre.conf

```shell
auth_relay:
    driver = smtp
    message_linelength_limit = 52428800
    port = 25
    hosts_require_auth = $host_address
    hosts_require_tls = $host_address
    headers_add = "${if def:authenticated_id{X-Authenticated-Id: ${authenticated_id}}}"
    interface = <; ${if exists{/etc/virtual/domainips}{${lookup{$sender_address_domain}lsearch*{/etc/virtual/domainips}}}}
    helo_data = ${if exists{/etc/virtual/helo_data}{${lookup{$sending_ip_address}iplsearch{/etc/virtual/helo_data}{$value}{$primary_hostname}}}{$primary_hostname}}
    hosts_try_chunking =
    hosts_try_fastopen =

auth_relay_forward:
    driver = smtp
    message_linelength_limit = 52428800
    port = 25
    hosts_require_auth = $host_address
    hosts_require_tls = $host_address
    headers_add = "${if def:authenticated_id{X-Authenticated-Id: ${authenticated_id}}}"
    interface = <; ${if exists{/etc/virtual/domainips}{${lookup{$sender_address_domain}lsearch*{/etc/virtual/domainips}}}}
    helo_data = ${if exists{/etc/virtual/helo_data}{${lookup{$sending_ip_address}iplsearch{/etc/virtual/helo_data}{$value}{$primary_hostname}}}{$primary_hostname}}
    hosts_try_chunking =
    hosts_try_fastopen =
    max_rcpt = 1
    return_path = ${srs_encode {SRS_SECRET} {$return_path} {$original_domain}}
```

/etc/exim.authenticators.post.conf

```
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}}
```

<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 do DirectAdmin.  
Neste exemplo nós utilizamos o host smtp.sender25.net, sendo 142.44.140.252  
Adicionar ip do servidor Sender a lista de ips liberados.  
  
Liberar IP no Firewall

```bash
csf -a 142.44.140.252 sender25
```

Restart Firewall

```bash
csf -r
```

Agora por ultimo, reinicie o exim para aplicar as configurações

```bash
systemctl restart exim.service
./build eximconf
```