Como configurar um servidor de correio numa Máquina Virtual

Para abrir a porta 25 na tua Máquina Virtual (VM), vai a VPS Manager > escolhe o separador "Mail Bridge" > carrega no botão ‘Add Mail Bridge’.

Assim que o registo PTR estiver definido e a porta 25 ativada, podes configurar o servidor SMTP que preferires. Em baixo, encontras exemplos para Postfix, Exim e Sendmail. Usa o IP da VM apresentado no teu VPS Manager e certifica-te de que o nome de domínio do registo PTR corresponde ao teu domínio de envio (por exemplo, mail.example.com).

Instalar e configurar o Postfix

# para Debian/Ubuntu

sudo apt update

sudo apt install postfix mailutils -y



# para Almalinux/Rocky/Cloudlinux/EL

# verificar distribuições baseadas em RPM para confirmar

# se o Postfix estiver instalado

rpm -qa | grep postfix

# se não estiver, executa o comando abaixo para instalar o Postfix

sudo dnf install postfix



Quando o Postfix estiver instalado, podes iniciar o serviço e garantir que arranca depois de o servidor ser reiniciado:

sudo systemctl start postfix

sudo systemctl enable postfix

Depois, podes configurar o serviço. Todas as opções necessárias para o serviço estão localizadas no diretório /etc/postfix e o ficheiro de configuração principal é /etc/postfix/main.cf

Executa o comandosudo nano /etc/postfix/main.cf para começares a editar o ficheiro de configuração principal e adiciona ou atualiza estas linhas:

inet_interfaces = all

# myhostname declara o nome do anfitrião do servidor de correio

myhostname = mail.example.com

# mydomain declara o domínio que realmente trata os emails

domain = example.com

# mail_spool_directory declara o diretório onde os ficheiros da caixa de correio são colocados

mail_spool_directory = /var/mail

myorigin = /etc/mailname

mydestination = $myhostname, localhost.$mydomain, localhost

relayhost =

inet_protocols = all

smtp_banner = $myhostname ESMTP



Reinicia o Postfix para aplicar as alterações:

sudo systemctl restart postfix



Testa o envio de correio:

echo "Test message" | mail -s "Test Email" user@recipient.com

Instalar e configurar o Exim 4

# para Ubuntu/Debian

sudo apt update

sudo apt install exim4 -y



O comando abaixo apresenta uma interface de utilizador em modo assistente para configurar o software. Permite aos utilizadores decidir se o Exim precisa de dividir a sua configuração por vários ficheiros ou de a guardar num único ficheiro:

sudo dpkg-reconfigure exim4-config

Se a primeira opção for usada, a configuração será guardada nos subdiretórios /etc/exim4/conf.d. Se for escolhido um único ficheiro de configuração, será /etc/exim4/exim4.conf

Quando todas as configurações estiverem concluídas, executa systemctl restart exim4para que as alterações tenham efeito.

Edita /etc/exim4/update-exim4.conf.conf para garantir que:

# dc_local_interfaces declara o IP do teu serviço de correio (por exemplo, 203.0.113.10)

dc_local_interfaces='203.0.113.10'

# dc_readhost declara o nome de correio do teu sistema

dc_readhost='example.com'

# dc_other_hostnames declara o nome do anfitrião do sistema

dc_other_hostnames='mail.example.com'



Reinicia o Exim para aplicar as alterações:

sudo systemctl restart exim4


Testa a entrega de emails executando o comando abaixo:

echo "Mail test" | mail -s "Exim Test" user@recipient.com

Instalar e configurar o Sendmail

# para Ubuntu/Debian

sudo apt update

sudo apt install sendmail sendmail-bin -y

# para Almalinux/Cloudlinux/RHEL

yum install sendmail sendmail-cf mailutils


O ficheiro de configuração principal do Sendmail é /etc/mail/sendmail.cf. Evita editar este ficheiro diretamente. Se for necessário editar a configuração, edita antes o ficheiro /etc/mail/sendmail.mc, faz uma cópia de segurança do ficheiro de configuração original e usa uma das seguintes alternativas para gerar um novo ficheiro de configuração:

1) Usa o makefile incluído em /etc/mail para criar uma nova configuração:

make all -C /etc/mail/

 

Todos os ficheiros gerados em /etc/mail serão regenerados, se necessário.

2) Em alternativa, podes usar o processador de macros m4para criar um novo /etc/mail/sendmail.cf. O processador de macros m4não vem instalado por predefinição. Antes de o usares para criar /etc/mail/sendmail.cf, instala o pacote m4como root:

# para Almalinux/Cloudlinux/RHEL

yum install m4


# para Ubuntu/Debian

apt install m4


Os seguintes ficheiros de configuração do Sendmail estão localizados no diretório /etc/mail/:

  • access- especifica que sistemas podem usar o Sendmail para correio de saída

  • domaintable- mapeamento de nomes de domínio

  • local-host-names - aliases para o anfitrião do servidor

  • mailertable- instruções que substituem o encaminhamento para domínios específicos

  • virtusertable- especifica uma forma de alias específica do domínio, permitindo alojar vários domínios virtuais na máquina.


Em baixo, podes ver exemplos de como os ficheiros de configuração podem ser editados:

# editar os aliases do anfitrião do servidor:

echo "mail.example.com" > /etc/mail/local-host-names


# associar ao IP de Mail editando /etc/mail/sendmail.mc:
DAEMON_OPTIONS(`Family=inet, Name=MTA-v4, Addr=203.0.113.10')dnl


# reconstruir a configuração:
sudo m4 /etc/mail/sendmail.mc > /etc/mail/sendmail.cf


# testar:

echo "Hello from Sendmail" | mail -s "Sendmail test" user@recipient.com

Vários dos ficheiros de configuração acima mencionados têm de guardar a sua informação em ficheiros de base de dados antes de quaisquer alterações poderem produzir efeito. Para incluir quaisquer alterações feitas nos ficheiros de configuração, executa o comando makemap hash /etc/mail/<name> < /etc/mail/<name>como root. Aqui, <name> representa o nome da configuração a atualizar.

Reinicia o processo do Sendmail executando o comando systemctl restart sendmail.

É necessário um email válido