이메일 헤더에서 apache @ localhost를 제거 하시겠습니까? for <zerowing@email.com>

내 설정 : Apache 웹 서버가있는 Amazon Linux 서버 (기본적으로 CentOS 인 것)에서 Magento 웹 사이트를 실행하고 있습니다. 또한 mydomain.com의 메일을 관리하기 위해 Google Apps를 사용합니다.

서버에 대한 MX, SPF 및 DKIM 레코드를 성공적으로 설정하고 작동하도록하여 이메일을 보낼 때 SPF와 DKIM 모두에 대한 “비밀”을 수신 할 수있었습니다. 그러나 나는 지나칠 수없는 이상한 문제에 부딪쳤다 .- 내가 보낸 이메일의 헤더 부분은 항상 다음과 같이 보인다.

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

대신 “mail@mydomain.com”을 사용하도록이를 변경하는 방법을 찾기 위해 높고 낮게 검색했지만 알아낼 수없는 것 같습니다.

내가 시도한 것 중 :

  • php.ini를 다음과 같이 변경 : / usr / sbin / sendmail -t -i -f mail@mydomain.com
  • myDomain.conf의 가상 호스트에 다음 줄을 추가합니다 : ServerAdmin mail@mydomain.com
  • Magento 백엔드에서 리턴 경로를 “예”로 설정 (시스템-> 구성-> 고급-> 시스템-> 메일 전송 설정)

도움이된다면 / etc / hosts 파일의 내용은 다음과 같습니다.

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

hosts 파일의 마지막 줄에 대해서도 변형을 시도했습니다 …

127.0.0.1   localhost.localdomain mydomain.com

…하지만 여전히 작동하지 않았습니다.

전자 메일의 헤더를 추가하면 도움이 될 수 있다고 생각했습니다. 이는 진행 상황에 대한 단서를 제공 할 수 있습니다 (일반화되도록 많은 값을 변경했습니다).

Delivered-To: zerowing@email.com
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: <mail@mydomain.com>
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 <zerowing@email.com>
        (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 mail@mydomain.com 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 mail@mydomain.com designates 66.66.777.77 as permitted sender) smtp.mail=mail@mydomain.com;
       dkim=pass header.i=@mydomain.com
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 <zerowing@email.com>; 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: <201504031535.fkdjfljlfsra39393@mydomain.com>
To: =?utf-8?B?Sm9lIEdhcmNpYQ==?= <zerowing@email.com>
Subject: =?utf-8?B?VGVzdCBOZXdzbGV0dGVyLCBwbGVhc2UgaWdub3Jl?=
X-PHP-Originating-Script: 48:Sendmail.php
From: "mydomain.com" <mail@mydomain.com>
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

내 일부는 이것이 정상인지 확실하지 않으며, apache @ localhost가 나타나는 원인을 잘 모르겠지만 누구든지 아이디어가 있다면 감사하겠습니다!

편집 MTA에서 난 사용 센드 메일입니다. 다음은 내 사이트에 맞게 sendmail.mc 파일의 구성 변경 사항입니다.

MASQUERADE_AS(`mydomain.com')dnl
FEATURE(masquerade_envelope)dnl
FEATURE(masquerade_entire_domain)dnl
INPUT_MAIL_FILTER(`opendkim', `S=inet:8891@127.0.0.1')
define(`confCW_FILE', `/etc/mail/local-host-names')dnl
dnl define(`confDOMAIN_NAME', `mydomain.com')dnl

편집 이 질문이 다시 중복으로 표시되는지 확실하지 않으므로 참조 된 질문에 근거하지 않은 이유에 대한 이유를 강조해야한다고 생각했습니다. Postfix로 전환하는 것은 해결책이 아닙니다. Sendmail을 사용하여 수행 한 모든 설정을 근절하여 Postfix를 대신 작동시키는 다른 잠재적 인 문제가 발생하는 것을 싫어합니다. 위에서 언급 한 글 머리 기호를 읽으면 php.ini에서 sendmail 명령 편집을 이미 언급했습니다.

편집 내가 시도했지만 작동하지 않은 다른 것들을 언급 할 수도 있다고 생각했습니다. sendmail.mc에 다음 줄을 추가했습니다.

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

그런 다음 그 안에 “mydomain.com”이라는 한 줄로 generics-domains 파일을 만들었습니다. 그런 다음 “apache mail@homebrewsupply.com”이라는 한 줄로 genericstable 파일을 만들었습니다. 메일 디렉토리에서 make를 실행하고 cf 파일을 다시 만든 다음 sendmail을 다시 시작했지만 주사위는 없습니다.

/ etc / aliases 파일을 편집하려고했습니다. 나는 “apache : mail@mydomain.com”뿐만 아니라 “apache : root, mail @ mydomain.com”이라고 말하기 위해 “apache : root”줄을 바꾸려고했지만 아무 것도하지 않았다.

또한 / etc / mail / virtuserstable 파일에 “apache @ localhost mail@mydomain.com”한 줄을 추가하려고했습니다. 그것은 아무것도하지 않았다.

이것이 제대로 작동하는 것이 얼마나 실망 스럽습니까? 나는 그것이 필요한 곳에 그것을 가지고있는 것에 매우 가깝다. 그러나 나는 “apache @ localhost”줄을 대체 할 곳을 정직하게 모른다.



답변

보낸 사람 전자 메일 주소는 MTA에 구성된 도메인 이름 (sendmail 또는 postfix)으로 메시지를 보내도록 요청한 데몬의 사용자입니다.

로컬 MTA가 접미사 인 경우 myorigin 설정을 변경해야합니다 (기본값은 구성된 호스트 이름. localhost로 설정 됨). 이 설정은 main.cf에 있습니다 (대부분의 배포판의 기본 위치는 /etc/postfix/main.cf). 보내려는 도메인 이름으로 변경하십시오. 그런 다음 postfix를 다시 시작하십시오.

물론 원하는 전송 도메인과 일치하도록 서버의 호스트 이름을 변경하는 것이 더 쉬울 수 있습니다.

해당 도메인에 대해이 서버에서 이메일을 보내려면이를 허용하는 SPF DNS 레코드를 추가해야합니다. 그렇지 않으면 스팸 필터에 의해 메시지가 덤프 될 수 있습니다.


답변

설정을 살펴보면 몇 가지 비트가 누락 된 것 같습니다 (내 구문으로 죄송하지만 자주 게시하지는 않습니다).

MASQUERADE_DOMAIN과 함께 MASQUERADE_DOMAIN 구성 옵션을 추가하여 MASQUERADE_DOMAIN을 호스트의 FQDN (대부분의 Linux 플랫폼의 경우 호스트 이름 -f)에 일치 시키십시오. 둘 다 없으면 이상한 일을 했으므로 다음과 같습니다.

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

그런 다음이 줄 :

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

정말로해야한다

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

또는 sendmail.cf 파일을 업데이트 할 때 make / hash 명령에 의해 무시됩니다. 이 사람은 sendmail.mc 파일에서 “dnl”과 “dnl #”의 차이점이 무엇 인지에 대한 훌륭한 설명을 제공 합니다.

나는 여전히 내 서버에서 “apache”부분을 제거하려고 노력하고 있지만, 이것이 당신에게 조금 더 가까이 다가 가기를 바란다!


답변

시스템-> 구성-> 고급-> 시스템-> 리턴 경로 설정-> 예

또는 사용하려는 이메일로 설정하십시오. 오늘 이것을 발견했습니다-전자 메일 중 일부는 엄격한 규칙 (.edu, .gov … etc)으로 메일 서버에서 거부되었습니다.


답변

추가 define(`confRECEIVED_HEADER', `internal info removed')dnl하는 submit.mc다음 생성 .cf파일을 다시 시작 sendmail평소와 같이합니다.

중요 : 이 작업을 수행하기 위해 편집해야하는 파일은 submit.mcNOT sendmail.mc입니다. sendmail.mc대신 파일 을 편집 Received하면 위에서 언급 한 헤더가 수정 된 헤더 (즉)가 Received: from mydomain.com (www.mydomain.com [127.0.0.1])됩니다.

참고 : 리터럴 문자열 대신 internal info removed민감한 정보를 숨기면서 제공된 일부 정보를 재사용 할 수 있습니다 (예 : by $j id $i; $bto) by DOMAIN id ID; TIMESTAMP.

위의 내용은 Received언급 한 헤더 다음에 정보를 제거 / 교체합니다 .

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

비슷한 질문 : Received : (apache @ localhost에서)를 제거하는 방법과 헤더에서 sendmail 버전을 제거하는 방법


답변