Removendo o apache @ localhost dos cabeçalhos de e-mail?

11

Minha configuração: Estou executando um site Magento em um servidor Amazon Linux (que parece ser basicamente o CentOS) com um servidor web Apache. Eu também uso o Google Apps para gerenciar o e-mail do mydomain.com.

Consegui configurar com êxito os registros MX, SPF e DKIM do servidor e fiz com que eles funcionassem, para que eu recebesse um "Passe" para o SPF e o DKIM quando eu enviar e-mails. No entanto, encontrei um problema estranho que parece que não consigo passar - parte do cabeçalho dos e-mails que eu envio parece sempre dizer:

Received: (from apache@localhost) by mydomain.com 

Pesquisei alto e baixo para alterar isso para usar "[email protected]", mas não consigo entender.

Entre as coisas que tentei:

  • Alterando o arquivo php.ini para: / usr / sbin / sendmail -t -i -f [email protected]
  • Adicionando ao virtualhost do mydomain.conf a linha: ServerAdmin [email protected]
  • Definindo o caminho de retorno para "Sim" no backend do Magento (Sistema - > Configuração - > Avançado - > Sistema - > Configurações de envio de e-mail.

Se isso ajudar, o conteúdo do meu arquivo / etc / hosts é o seguinte:

127.0.0.1   www.mydomain.com
127.0.0.1   mydomain.com
127.0.0.1   localhost localhost.localdomain

Para a última linha do arquivo hosts, eu também tentei a variação ...

127.0.0.1   localhost.localdomain mydomain.com

... mas ainda não funcionou.

Eu pensei que também poderia ajudar se eu adicionasse os cabeçalhos do e-mail, caso isso pudesse dar algumas pistas do que poderia estar acontecendo (eu mudei muitos valores para mantê-lo generalizado).

Delivered-To: [email protected]
Received: by 123.123.123.123 with SMTP id abcdefg123456790;
        Fri, 3 Apr 2015 08:35:04 -0700 (PDT)
X-Received: by 456.456.456.456 with SMTP id asdfqwerhjkl234hjkl.789.78909876789;
        Fri, 03 Apr 2015 08:35:03 -0700 (PDT)
Return-Path: <[email protected]>
Received: from mydomain.com (ec2-11-11-111-11.amazonaws.com. [66.66.777.77])
        by mx.google.com with ESMTPS id asdkfjhkjdfha839383.105.2015.04.03.08.35.02
        for <[email protected]>
        (version=TLSv1.2 cipher=ECDHE-RSA-AES128-GCM-SHA256 bits=128/128);
        Fri, 03 Apr 2015 08:35:03 -0700 (PDT)
Received-SPF: pass (google.com: domain of [email protected] designates 66.66.777.77 as permitted sender) client-ip=66.66.777.77;
Authentication-Results: mx.google.com;
       spf=pass (google.com: domain of [email protected] designates 66.66.777.77 as permitted sender) [email protected];
       dkim=pass [email protected]
Received: from mydomain.com (www.mydomain.com [127.0.0.1])
    by mydomain.com (8.14.4/8.14.4) with ESMTP id t33FZ29p004251
    for <[email protected]>; Fri, 3 Apr 2015 15:35:02 GMT
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=mydomain.com;
    s=default; t=fjIFDJF9049;
    bh=fjO4J4f09j409JF04J909f4j904JF940F9/Y=;
    h=To:Subject:From:Date;
    b=F4J90FJ490j09j490FJ094J0j94f90j409j490Jf90j904JF09j490fj904jf094J
     f09J40F9J904fj049J099j49J049J0FJijffjdlfjldkDLFJKLdjflEJFOIJFOEIEO
     JF9JF049j409j0F094J09FJ049jf049j=
Received: (from apache@localhost) <----------- THIS IS WHAT I'M TRYING TO CHANGE
    by mydomain.com (8.14.4/8.14.4/Submit) id fkdjfljlfsra39393;
    Fri, 3 Apr 2015 15:35:01 GMT
Message-Id: <[email protected]>
To: =?utf-8?B?Sm9lIEdhcmNpYQ==?= <[email protected]>
Subject: =?utf-8?B?VGVzdCBOZXdzbGV0dGVyLCBwbGVhc2UgaWdub3Jl?=
X-PHP-Originating-Script: 48:Sendmail.php
From: "mydomain.com" <[email protected]>
Date: Fri, 03 Apr 2015 15:35:01 +0000
Content-Type: text/html; charset=utf-8
Content-Transfer-Encoding: quoted-printable
Content-Disposition: inline
MIME-Version: 1.0

Parte de mim não tem certeza se isso é normal, e eu acho que não tenho certeza do que pode estar causando o apache @ localhost aparecer, mas se alguém tiver uma ideia, será muito apreciado, obrigado!

Editar O MTA que estou usando é o Sendmail. Aqui estão as alterações de configuração que fiz no arquivo sendmail.mc para acomodar meu site.

MASQUERADE_AS('mydomain.com')dnl
FEATURE(masquerade_envelope)dnl
FEATURE(masquerade_entire_domain)dnl
INPUT_MAIL_FILTER('opendkim', 'S=inet:[email protected]')
define('confCW_FILE', '/etc/mail/local-host-names')dnl
dnl define('confDOMAIN_NAME', 'mydomain.com')dnl

Editar Não tenho certeza se essa questão foi marcada como duplicada novamente, então pensei em enfatizar o raciocínio de por que ela não é baseada na pergunta sobre o motivo pelo qual não é. Mudar para o Postfix não é uma solução, mas sim uma solução alternativa. Eu odiaria erradicar toda a configuração que fiz com o Sendmail até agora, apenas para encontrar outros possíveis problemas ao tentar fazer com que o Postfix funcionasse. Eu também já mencionei editar o comando sendmail no php.ini, se você leu os tópicos que mencionei acima.

Editar Achei que deveria mencionar algumas das outras coisas que tentei fazer que não funcionaram. Eu adicionei ao meu sendmail.mc as seguintes linhas:

FEATURE('genericstable','hash -o /etc/mail/genericstable.db')dnl
GENERICS_DOMAIN_FILE('/etc/mail/generics-domains')dnl

Eu então criei um arquivo de domínios genéricos com a única linha "mydomain.com" dentro dele. Em seguida, criei um arquivo genericstable com a única linha "apache [email protected]" dentro dele. Eu corri make no diretório de email, recriou o arquivo cf e reiniciei o sendmail, mas sem dados.

Eu tentei editar o arquivo / etc / aliases. Eu tentei mudar a linha "apache: root" para dizer "apache: root, mail @ mydomain.com", bem como apenas "apache: [email protected]", mas isso não fez nada também.

Eu também tentei adicionar ao arquivo / etc / mail / virtuserstable a linha única "apache @ localhost [email protected]". Isso não fez nada também.

Estou surpreso com o quão frustrante é conseguir que isso funcione corretamente. Estou tão perto de tê-lo onde preciso, mas honestamente não sei onde procurar a linha "apache @ localhost" substituída.

    
por Zero Wing 03.04.2015 / 22:47

4 respostas

4

O endereço de email é o usuário do daemon que solicitou que a mensagem seja enviada (apache) @ o nome de domínio configurado no seu MTA (sendmail ou postfix).

Se o seu MTA local for postfix, você precisará alterar a configuração do myorigin (que é o padrão para o hostname configurado. localhost neste exemplo). Essa configuração está no main.cf (o local padrão na maioria das distribuições é /etc/postfix/main.cf ). Basta mudar isso para o nome de domínio que você deseja enviar. Então reinicie o postfix.

É claro que pode ser mais fácil alterar o nome do host do servidor para corresponder ao domínio de envio desejado.

Lembre-se de que, se você enviar um e-mail desse servidor para esse domínio, será necessário adicionar um registro DNS SPF permitindo isso, caso contrário, suas mensagens provavelmente serão descartadas por filtros de spam.

    
por 04.04.2015 / 01:06
3

Ao olhar para a sua configuração, parece que faltam alguns bits (e desculpe pela minha sintaxe, eu não postei com frequência):

Você provavelmente desejará adicionar a opção de configuração MASQUERADE_DOMAIN para ir com MASQUERADE_AS, combinando o MASQUERADE_DOMAIN com qualquer FQDN do host (hostname -f na maioria das plataformas linux). Eu tive que fazer coisas estranhas, se eles não estão ambos lá, então seria:

MASQUERADE_AS('mydomain.com')dnl
MASQUERADE_DOMAIN('fqdnname.internal')dnl

e, em seguida, esta linha:

dnl define('confDOMAIN_NAME', 'mydomain.com')dnl

Deve ser realmente

define('confDOMAIN_NAME', 'mydomain.com')dnl

ou ele será ignorado pelos comandos make / hash quando você atualizar o arquivo sendmail.cf. Esse cara dá uma ótima explicação do porque Qual é a diferença entre" dnl "e" dnl # "em um arquivo sendmail.mc?

Ainda estou tentando me livrar da parte "apache" no meu próprio servidor, mas espero que isso te aproxime um pouco mais!

    
por 02.06.2015 / 00:17
1

Sistema - > Configuração - > Avançado - > Sistema - > Definir caminho de retorno - > Sim

ou defina-o como email que você deseja usar. Achei isso hoje - aparentemente, alguns dos e-mails foram rejeitados por servidores de e-mail com regras rígidas (.edu, .gov ... etc)

    
por 08.07.2015 / 19:35
1

Adicione define('confRECEIVED_HEADER', 'internal info removed')dnl a submit.mc , em seguida, gere o arquivo .cf e reinicie sendmail como de costume.

Importante: o arquivo que deve ser editado para que isso funcione é submit.mc e NÃO sendmail.mc . Se você editar o arquivo sendmail.mc , o cabeçalho Received acima do que você mencionou será o modificado (que é Received: from mydomain.com (www.mydomain.com [127.0.0.1]) ).

Observação: em vez da string literal internal info removed , é possível reutilizar algumas das informações fornecidas ao ocultar a sensível, por exemplo: by $j id $i; $b para obter by DOMAIN id ID; TIMESTAMP .

O texto acima removerá / substituirá as informações após o cabeçalho Received que você mencionou:

Received: (from apache@localhost) <----------- THIS IS WHAT I'M TRYING TO CHANGE
by mydomain.com (8.14.4/8.14.4/Submit) id fkdjfljlfsra39393;
Fri, 3 Apr 2015 15:35:01 GMT

Veja também uma pergunta semelhante: Como remover Received: (do apache @ localhost) e a versão do sendmail dos cabeçalhos

    
por 27.01.2017 / 13:33