Como configurar um servidor de e-mail em uma Máquina Virtual

Para abrir a porta 25 na sua Máquina Virtual (VM), acesse VPS Manager > escolha a aba "Mail Bridge" > pressione o botão ‘Add Mail Bridge’.

Depois que o registro PTR for definido e a porta 25 estiver habilitada, você poderá configurar o servidor SMTP de sua preferência. Abaixo estão exemplos para Postfix, Exim e Sendmail. Use o IP da VM mostrado no seu VPS Manager e certifique-se de que o nome de domínio do registro PTR corresponda ao seu domínio de remetente (por exemplo, mail.example.com).

Instalando e configurando 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 conferir

# se o Postfix estiver instalado

rpm -qa | grep postfix

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

sudo dnf install postfix



Quando o Postfix estiver instalado, você poderá iniciar o serviço e garantir que ele seja iniciado após a reinicialização do servidor:

sudo systemctl start postfix

sudo systemctl enable postfix

Em seguida, você poderá configurar o serviço. Todas as opções necessárias para o serviço estão localizadas no diretório /etc/postfix, e o arquivo principal de configuração é /etc/postfix/main.cf

Execute o comandosudo nano /etc/postfix/main.cf para começar a editar o arquivo principal de configuração e adicionar ou atualizar estas linhas:

inet_interfaces = all

# myhostname declara o nome do host do servidor de e-mail

myhostname = mail.example.com

# mydomain declara o domínio que realmente gerencia os e-mails

domain = example.com

# mail_spool_directory declara o diretório onde os arquivos 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



Reinicie o Postfix para aplicar as alterações:

sudo systemctl restart postfix



Teste o envio de e-mail:

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

Instalando e configurando o Exim 4

# para Ubuntu/Debian

sudo apt update

sudo apt install exim4 -y



O comando abaixo exibe uma interface de assistente para configurar o software. Ele permite que os usuários decidam se o Exim precisa dividir sua configuração em vários arquivos ou armazená-la em um único arquivo:

sudo dpkg-reconfigure exim4-config

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

Quando todas as configurações estiverem concluídas, execute systemctl restart exim4para que as alterações entrem em vigor.

Edite /etc/exim4/update-exim4.conf.conf para garantir:

# dc_local_interfaces declara o IP do seu serviço de e-mail (por exemplo, 203.0.113.10)

dc_local_interfaces='203.0.113.10'

# dc_readhost declara o nome de e-mail do seu sistema

dc_readhost='example.com'

# dc_other_hostnames declara o nome do host do sistema

dc_other_hostnames='mail.example.com'



Reinicie o Exim para aplicar as alterações:

sudo systemctl restart exim4


Teste a entrega de e-mail executando o comando abaixo:

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

Instalando e configurando 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 arquivo principal de configuração do Sendmail é /etc/mail/sendmail.cf. Evite editar esse arquivo diretamente. Se houver necessidade de editar a configuração, edite o arquivo /etc/mail/sendmail.mc, faça backup do arquivo de configuração original e use uma das alternativas a seguir para gerar um novo arquivo de configuração:

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

make all -C /etc/mail/

 

Todos os arquivos gerados em /etc/mail serão regenerados se houver necessidade.

2) Como alternativa, você pode usar o processador de macros m4para criar um novo /etc/mail/sendmail.cf. O processador de macros m4não é instalado por padrão. Antes de usá-lo para criar /etc/mail/sendmail.cf, instale o pacote m4como root:

# para Almalinux/Cloudlinux/RHEL

yum install m4


# para Ubuntu/Debian

apt install m4


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

  • access- especifica quais sistemas podem usar o Sendmail para e-mails de saída

  • domaintable- mapeamento de nomes de domínio

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

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

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


Abaixo, você pode ver exemplos de como os arquivos de configuração podem ser editados:

# editando os aliases do host do servidor:

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


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


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


# testando:

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

Vários dos arquivos de configuração mencionados anteriormente precisam armazenar suas informações em arquivos de banco de dados antes que quaisquer alterações possam entrar em vigor. Para incluir quaisquer alterações feitas nos arquivos de configuração, execute o comando makemap hash /etc/mail/<name> < /etc/mail/<name>como root. Aqui, <name> representa o nome da configuração a ser atualizada.

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

É necessário um e-mail válido