Configure o sendmail para enviar e-mails como 'example.com', mas envie e-mails reais para 'example.com' para outro servidor

1

Uma configuração de servidor baseada em nuvem por um terceiro está usando o sendmail para enviar e-mails.

Agora, o sendmail foi configurado para que os emails de www-data@localhost [1] sejam enviados como [email protected] . Os e-mails, em sua maioria, são enviados para o e-mail de terceiros, por exemplo, [email protected] (observe um domínio de destino diferente).

No entanto, agora também precisamos enviar um e-mail para [email protected] . A tentativa de fazer isso, no entanto, resulta em 550 5.1.1 <[email protected]>... User unknown .

Estou gravemente em branco para configurar o sendmail.

Alguém pode fornecer algumas dicas sobre como fazer isso corretamente?

[1] Esse é o nome ServerAdmin , conforme definido em /etc/apache2/sites-available/default

@MadHatter perguntou:

"the sendmail has been configured so that emails from www-data@localhost is sent as [email protected]". How, exactly?

Eu penso através das seguintes linhas em /etc/mail/sendmail.mc :

dnl # Replace sender's domain
MASQUERADE_AS('example.com')dnl
FEATURE(masquerade_envelope)dnl
FEATURE(masquerade_entire_domain)dnl
MASQUERADE_DOMAIN('example.com')dnl

(Mais uma vez, eu não sou o único a fazer o arquivo sendmail.mc; se houver uma determinada linha para procurar, eu ficaria feliz em publicá-lo aqui).

Veja informações adicionais:

root@webserver:/etc/mail# grep '^Fw' sendmail.cf
Fw/etc/mail/local-host-names %[^\#]
root@webserver:/etc/mail# cat local-host-names
localhost
webserver
    
por pepoluan 17.10.2014 / 08:43

2 respostas

0

O example.com está listado na lista de domínios de email locais? Para obter uma lista de domínios de e-mail locais, execute como root o comando abaixo:

echo '$=w' | sendmail -Am -bt

O Sendmail, por padrão, adiciona domínios de e-mail local com detecção automática aos domínios listados em /etc/mail/local-host-names . Pode ser desativado usando confDONT_PROBE_INTERFACES em sendmail.mc

define('confDONT_PROBE_INTERFACES','True')

O sendmail.mc deve ser recompilado no sendmail.cf, o daemon do sendmail deve ser reiniciado ou o HUPed para ver o novo sendmail.cf.

    
por 17.10.2014 / 13:22
0

obrigado por tentar responder minha pergunta!

No fim de semana, o cara que originalmente configurou o servidor finalmente modificou sendmail.mc com o seguinte (eu acabei de receber o email dele esta manhã):

  • Exclua a seguinte linha:
define('confDOMAIN_NAME', 'example.com')dnl
  • Adicione uma linha depois das 4 linhas publicadas anteriormente:
MASQUERADE_AS('example.com')dnl
FEATURE(masquerade_envelope)dnl
FEATURE(masquerade_entire_domain)dnl
MASQUERADE_DOMAIN('example.com')dnl
define('MAIL_HUB', 'mailgw.example.com.')dnl

Agora, os e-mails para @example.com são encaminhados corretamente para o servidor de envio de e-mail real que está exibindo @example.com .

Obrigado pela ajuda, pessoal!

    
por 20.10.2014 / 02:58

Tags