Sendmail: ignorar a entrega local

6

Eu tenho um servidor da Web do Ubuntu com o Sendmail como meu MTA

Atualmente, quando faço o e-mail fora do domínio do meu servidor da web, por exemplo example.com para algo como o gmail ou qualquer outro e-mail fora do domínio example.com, ele funciona perfeitamente. Eu não quero que meu daemon do sendmail reconheça example.com como um endereço local que eu quero enviar para example.com da mesma forma que qualquer outro email é enviado.

Nunca haverá um caso se eu usar os usuários locais no servidor da Web para coletar esses e-mails para example.com.

Então, como posso desativar a entrega local?

    
por Derek Organ 23.02.2011 / 17:39

3 respostas

3

Você pode fazer isso removendo seu nome de domínio do arquivo / etc / hosts. Você precisa configurar o senmail para usar seu nome de domínio (example.com) ao enviar os e-mails em vez de localhost.

edite /etc/mail/sendmail.mc adicione o seguinte:

     MASQUERADE_AS(example.com)dnl
     FEATURE(masquerade_envelope)dnl
     FEATURE(masquerade_entire_domain)dnl
     MASQUERADE_DOMAIN(example.com)dnl

antes:

   MAILER(smtp)dnl
   MAILER(procmail)dnl
   dnl MAILER(cyrusv2)dnl

digite m4 /etc/mail/sendmail.mc > /etc/mail/sendmail.cf     então execute /sbin/service sendmail restart

faça backup de tudo que você editar antes de qualquer alteração!

esta solução está funcionando bem comigo!

    
por 01.03.2011 / 16:20
2

O Sendmail trata a classe "w" como os domínios para os quais tentará a entrega local. A configuração padrão do CentOS inclui essas linhas, por exemplo:

Cwlocalhost
# file containing names of hosts for which we receive email
Fw/etc/mail/local-host-names

Isto especifica "w" para incluir o nome "localhost" e o conteúdo do arquivo "/ etc / mail / local-host-names". Eu suspeito que você tenha "example.com" em "/ etc / mail / local-host-names", provavelmente configurado durante a instalação do sistema.

Você precisará verificar isso, pois não tenho um sistema de teste do sendmail para verificar isso, por isso não posso confirmar isso aqui. Além disso, pode variar um pouco dependendo da sua instalação exata do sendmail, o que pode variar alguns por distribuição ou SO.

    
por 02.03.2011 / 09:09
1

Você pode fazer isso adicionando regras ao conjunto de regras 2. Em seu arquivo sendmail.mc, adicione o seguinte:

LOCAL_RULE_2
R$* < $=w . > $*          $#esmtp $@[MX server for example.com] $: $1 < @ $2 > $3

Lembre-se de que os lados esquerdo e direito da regra são separados por guias, portanto, não copie e cole. Em seguida, construa o seu sendmail.cf a partir do seu sendmail.mc, reinicie o sendmail e teste.

Você pode usar o mapa bestmx se não quiser codificar o nome do servidor MX entre os colchetes.

    
por 03.03.2011 / 15:49