Pergunta

Estou configurando um servidor que está em uma rede protegida por um firewall e quero que os programas neste computador possam usar o sendmail para enviar e-mails para qualquer endereço de e-mail.Temos um servidor SMTP em execução nesta rede (vamos chamá-lo de mailrelay.example.com), que é como devemos receber e-mails enviados através do firewall.

Então, como configuro o sendmail para enviar todos os e-mails através de mailrelay.example.com?A pesquisa no Google ainda não me deu a resposta e apenas revelou que a configuração do sendmail é extremamente complexa e irritante.

Foi útil?

Solução

@eli:modificar sendmail.cf diretamente geralmente não é recomendado, pois ele é gerado pelo compilador de macro.

Edite /etc/mail/sendmail.mc para incluir a linha:

  define(`SMART_HOST',`mailrelay.example.com')dnl 

Depois de alterar o arquivo de configuração de macro sendmail.mc, ele deve ser recompilado para produzir o arquivo de configuração do Sendmail.

  # m4 /etc/mail/sendmail.mc > /etc/sendmail.cf

E reinicie o serviço sendmail (Linux):

  # /etc/init.d/sendmail restart

Além de configurar o smarthost, você também pode querer desabilitar a configuração de resolução de nomes e possivelmente mudar seu sendmail para uma porta não padrão ou desabilitar o modo daemon.

Desativar resolução de nomes

Os servidores que estão dentro de redes de paredes de fogo ou usando a tradução de endereços de rede (NAT) podem não ter serviços DNS ou NIS disponíveis.Isso cria um problema para o Sendmail, pois usará o DNS por padrão e, se não estiver disponível, você verá mensagens como esta no MailQ:

  host map: lookup (mydomain.com): deferred)

A menos que você esteja preparado para configurar um serviço DNS ou NIS apropriado que o Sendmail possa usar; nessa situação, você normalmente configura a resolução de nomes a ser feita usando o arquivo /etc /hosts.Isso é feito ativando um arquivo 'Service.switch' e especificando resolução por arquivo, como segue:

1:Enable Service.switch para sendmail edit /etc/mail/sendmail.mc para incluir as linhas:

  define(`confSERVICE_SWITCH_FILE',`/etc/mail/service.switch')dnl

2:Configure Service.switch para arquivos Criar ou modificar /etc/mail/service.switch para se referir apenas a/etc/hosts para resolução de nome:

  # cat /etc/mail/service.switch
  hosts files

3:Recompile sendmail.mc e reinicie o sendmail para que esta configuração tenha efeito.

Mude o sendmail para uma porta não padrão ou desative o modo daemon

Por padrão, o sendmail escutará na porta 25.Você pode alterar esta porta ou desativar completamente o modo de daemon sendmail por vários motivos:- Se houver uma política de segurança que proíba o uso de portas conhecidas - se outro produto/processo SMTP estiver em execução no mesmo host na porta padrão - se você não quiser aceitar e -mails via SMTP, apenas Envie -o usando sendmail

1:Para mudar o sendmail para usar uma porta não padrão.Edite /etc/mail/sendmail.mc e modifique a configuração "Porta" na linha:

  DAEMON_OPTIONS(`Port=smtp,Addr=127.0.0.1, Name=MTA')

Por exemplo, para fazer com que o sendmail use a porta 125:

  DAEMON_OPTIONS(`Port=125,Addr=127.0.0.1, Name=MTA')

Isso exigirá que o sendmail.mc seja recompilado e o sendmail seja reiniciado.

2:Como alternativa, para desativar o Modo do Daemon Sendmail (Linux) Editar/etc/sysconfig/sendmail e modificar a configuração "Daemon" para:

  DAEMON=no

Esta alteração exigirá que o sendmail seja reiniciado.

Outras dicas

http://www.elandsys.com/resources/sendmail/smarthost.html

Sendmail Smarthost

Um Smarthost é um host através do qual o correio de saída é transmitido.Alguns ISPs bloqueiam o tráfego SMTP de saída (porta 25) e exigem que seus usuários enviem todos os e -mails através do servidor de email do ISP.O Sendmail pode ser configurado para usar o servidor de email do ISP como o host inteligente.

Leia o artigo vinculado para obter instruções sobre como configurar isso.

@Espo:Obrigado pelo ótimo conselho sobre por onde começar.Seu link teria sido melhor se eu estivesse configurando o sendmail para seu primeiro uso, em vez de pegar uma configuração existente e fazer essa pequena alteração.Porém, quando aprendi a procurar coisas no "SmartHost", encontrei uma maneira mais fácil.

Tudo que tive que fazer foi editar meu arquivo /etc/mail/sendmail.cf para alterar

DS

para

DSmailrelay.example.com

então reinicie o sendmail e funcionou.

Licenciado em: CC-BY-SA com atribuição
Não afiliado a StackOverflow
scroll top