Configuração de Email · 3 min read · Dec 25, 2025

Configurando SendMail Para Agir Como Um SmartHost & Para Reescrever Endereço De Remetente

Configurando SendMail Para Agir Como Um SmartHost & Para Reescrever Endereço De Remetente

Este tutorial explica como configurar um servidor sendmail para encaminhar todos os e-mails gerados a partir do localhost para outro servidor SMTP para enviar e-mails a destinatários remotos. Também explica como reescrever o endereço de remetente de [email protected] para [email protected].

Exemplo de Cenário: Você tem um servidor de produção que não está configurado para retransmitir e-mails externamente, mas há um aplicativo rodando nesse servidor que envia seus logs para o endereço de e-mail fornecido sobre seu status e em caso de falhas de serviço. Como o sendmail roda localmente no nome localhost.localdomain, ele tenta encaminhar o e-mail com [email protected] para o servidor smtp remoto, que seria rejeitado devido ao fato de que localhost.localdomain resolve para um IP inválido. Portanto, para superar isso, temos que reescrever o endereço de remetente de [email protected] para [email protected]. Assim, o outro servidor smtp retransmite o e-mail de [email protected] para [email protected] ou qualquer outro endereço que você queira enviar o e-mail de status do serviço.

NOTA: Partes específicas deste tutorial se aplicam apenas a Sistemas Baseados em Redhat, mas, em geral, o procedimento se aplica a todos os servidores sendmail.

IP DO SMARTHOST : 10.1.1.50
IP DO HOST SMTP : 10.1.1.10

Verificar RPMS Instalados:

Primeiro, os rpms do Sendmail devem ser instalados. Por padrão, o Sendmail é instalado com a instalação do sistema.

Verifique os rpms do sendmail instalados:

root@nerdplanet# rpm -q sendmail sendmail-cf

Esses dois pacotes devem ser listados como instalados:

sendmail-8.xx
sendmail-cf-8.xx

Se não estiverem instalados, então instale-os.

Instalar os Rpms

root@nerdplanet# yum install sendmail sendmail-cf

Deve instalá-los em seu sistema linux.

Uma vez instalado, você deve garantir que o servidor esteja iniciado e inicie automaticamente na reinicialização.

root@nerdplanet# chkconfig sendmail on 
root@nerdplanet# service sendmail start

Agora o servidor está funcionando.

Primeiro adicione o endereço IP do servidor remoto e seu nome de domínio ao /etc/hosts

vi /etc/hosts
10.1.1.10    smtp.example.com

Você não precisa fazer o passo acima se seu DNS local puder resolver o nome de domínio para o endereço IP do servidor smtp que está configurado para retransmitir e-mails.

Editar o arquivo de configuração do Sendmail para encaminhar e-mails

vi /etc/mail/sendmail.mc

Encaminhando e-mails para smarthost

dnl # define(`SMART_HOST',`smtp.example.net') 

Encontre a linha que contém a entrada acima e substitua-a pelo endereço do seu servidor smtp.

define(`SMART_HOST',`smtp.example.com')

Então salve o arquivo.

Para reescrever o endereço de remetente dos e-mails, crie o arquivo genericstable.

vi /etc/mail/genericstable

No arquivo da tabela Generics, insira as seguintes linhas:

root    [email protected]
mohan   [email protected]

As linhas acima significam que se algum e-mail enviado por root será mascarado e aparecerá como se viesse de [email protected] em vez de [email protected] e se algum e-mail enviado pelo usuário mohan aparecerá como se viesse de [email protected] em vez de [email protected]

Então salve o arquivo.

Habilitando Recursos no arquivo de configuração do sendmail.

vi /etc/mail/sendmail.mc

Adicione estas linhas para habilitar recursos:

FEATURE(masquerade_envelope)dnl
FEATURE(`genericstable')dnl
GENERICS_DOMAIN(`localhost.localdomain')dnl

Então execute:

make -C /etc/mail

Deve compilar todos os arquivos no diretório /etc/mail e atualizar as alterações.

Depois disso, reinicie o serviço sendmail.

root@nerdplanet# service sendmail restart

É isso, você configurou o sendmail para agir como um smarthost.

Configurando Seu Servidor SMTP Para aceitar e-mails de Smarthosts:


NOTA: Este procedimento é aplicável apenas se o servidor smtp remoto ao vivo for um servidor sendmail, o que é verdade neste cenário. Para outros servidores SMTP, consulte sua documentação.

Presunções: O servidor SMTP ao vivo já está usando FEATURE (‘access_db’..

Edite o arquivo de acesso no servidor smtp ao vivo para aceitar e-mails do smart host.

vi /etc/mail/access
connect:10.1.1.50    RELAY
cd /etc/mail

Reconstrua o arquivo de banco de dados de Acesso.

/usr/sbin/makemap hash access < access

Reinicie o serviço sendmail.

root@smtp# service sendmail restart

É isso; o servidor smtp remoto aceitará e-mails do smarthost.

Espero que este tutorial seja útil para alguém. Por favor, deixe seus comentários.

Link Original: Este tutorial também está disponível em http://www.nerdplanet.co.uk.

Saudações!

Mohan.

Share: X/Twitter LinkedIn

Receba novas postagens na sua caixa de entrada

Sem spam. Cancele a assinatura a qualquer momento.