Ir para o conteúdo

Configurando o envio de e-mails com o postfix

Banner

Podemos configurar alguns serviços para que em determinadas situações eles possam enviar alertas por e-mail. Mas para que as mensagens possam ser enviadas precisamos que um servidor de smtp esta configurado. No nosso caso utilizaremos o postfix para fazer o papel do servidor de smtp.

📚 Instalando o daemon do postfix

Neste artigo configuraremos o ´postfix` para realizar o envio dos e-mails gerados pelas aplicações instaladas em um determinado host.

Começaremos o processo com a instalação do postfix

Comando :
sudo apt-get install postfix ssl-cert

Durante a instalação quando for questionado sobre o tipo de instalação devemos selecionar Site da Internet. E no nome do host devemos informar o seu FQDN, ou nome completo de domínio associado a maquina, como por exemplo luisrodrigoog.github.io.

📚 Ajustando as configurações do postfix

Após a instalação do postfix, devemos realizar alguns ajustes no arquivo de configuração /etc/postfix/main.cf:

Comando :
sudo nano /etc/postfix/main.cf

Devemos comentar a linha abaixo

Configuração :
#inet_interfaces = all

No final do arquivo de configuração podemos adicionar as seguintes linhas:

Configuração :
 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
## ----------------------------------------------------------------------
## ----------------------------------------------------------------------
# Postfix : /etc/postfix/main.cf
## ----------------------------------------------------------------------
## ----------------------------------------------------------------------

## ----------------------------------------------------------------------
#  Bind: IP e Porta
## ----------------------------------------------------------------------
#inet_interfaces = all
inet_interfaces = 127.0.0.1

# Disable VRFY and/or EXPN on your Mailserver
disable_vrfy_command=yes

Em seguida devemos reiniciar o daemon do postfix

Comando :
sudo systemctl enable postfix
sudo systemctl restart postfix
sudo systemctl status postfix

O ultimo comando deve gerar uma saída semelhante à:

Saída :
1
2
3
4
5
6
7
8
● postfix.service - Postfix Mail Transport Agent
     Loaded: loaded (/lib/systemd/system/postfix.service; enabled; vendor preset: enabled)
     Active: active (exited) since Mon 2020-06-22 14:28:11 -03; 4s ago
    Process: 7286 ExecStart=/bin/true (code=exited, status=0/SUCCESS)
   Main PID: 7286 (code=exited, status=0/SUCCESS)

Jun 22 14:28:11 localhost.local systemd[1]: Starting Postfix Mail Transport Agent...
Jun 22 14:28:11 localhost.local systemd[1]: Finished Postfix Mail Transport Agent.

Para verificar se o daemon está aguardando apenas por conexões locais podemos utilizar os seguintes comandos:

Comando :
sudo netstat -tulpn | grep 25
sudo lsof  -i:25

O ultimo comando deve gerar uma saída semelhante à:

Saída :

bash linenums="1USER FD TYPE DEVICE SIZE/OFF NODE NAME master 7283 root 13u IPv4 53715 0t0 TCP localhost:smtp (LISTEN)

Podemos observar que as conexões estão sendo aguardadas apenas na interface localhost

Para confirmar se o hostname que será utilizado no envio das mensagens está correto podemos usar o seguinte comando:

Comando :
cat /etc/mailname

📚 Ajustando o arquivo /etc/aliases

Utilizamos este arquivo para determinar para qual conta local, ou remota a mensagem deve ser encaminhada quando ela é enviada para um determinado usuário local.

Iniciamos o processo editando o arquivo /etc/aliases

Comando :
sudo nano  /etc/aliases

Em seguida vamos ajustar as seguintes linhas:

Configurações :
postmaster: root
mailer-daemon: postmaster
nobody: root
hostmaster: root
usenet: root
news: root
webmaster: root
www: root
ftp: root
abuse: root
noc: root
security: root
root: sua_conta@gmail.com, outra_conta@gmail.com

Utilizando as configurações acima, redirecionamos as mensagens enviadas para as contas: postmaster, mailer-daemon, nobody, hostmaster, usenet, news, webmaster, www, ftp, abuse, noc e security para a conta root. A partir da conta root as mensagens serão enviadas para dois e-mails externos (sua_conta@gmail.com, outra_conta@gmail.com). Quando desejamos utilizar mais do que uma conta como o destino das mensagens elas devem ser separadas utilizando-se uma virgula (,).

Em seguida devemos, utilizar o comando abaixo para, recarregar as informações contidas no arquivo /etc/aliases

Comando :
sudo newaliases

📚 Instalando o mailutils e testando o envio de e-mails

Para realizar o envio dos e-mails utilizaremos a aplicação mail. Esta aplicação, no Ubuntu Linux, faz parte do pacote mailutils.

Comando :
sudo apt-get install mailutils 

Depois de instalar a aplicação, podemos utilizar o comando abaixo para enviar uma de mensagem de teste para o usuário root. Que deve ser redirecionada para o e-mail informando no arquivo /etc/aliases

Comando :
NOME_HOST=`hostname -f`
echo "Testando o envio de mensagens a partir do host \
$NOME_HOST" | mail -s "Mensagem de teste (${NOME_HOST})" root

Com isto finalizamos o processo de instalação e configuração do postfix, assim como finalizamos o teste de envio de uma mensagem a partir da maquina local.



Banner


Última atualização: 2 de novembro de 2020

Comentários