내 설정 : 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"줄을 대체 할 곳을 정직하게 모른다.