Moja konfiguracja: prowadzę witrynę Magento na serwerze Amazon Linux (który w zasadzie wygląda na CentOS) z serwerem Apache. Korzystam także z Google Apps do zarządzania pocztą mydomain.com.
Udało mi się pomyślnie skonfigurować rekordy MX, SPF i DKIM dla serwera i sprawić, że działały, dzięki czemu otrzymuję „Pass” zarówno dla SPF, jak i DKIM, gdy wysyłam e-maile. Jednak natknąłem się na dziwny problem, którego nie mogę ominąć --- część nagłówka wysyłanych e-maili wydaje się zawsze mówić:
Received: (from apache@localhost) by mydomain.com
Szukałem wysokiego i niskiego sposobu, aby to zmienić, używając zamiast tego „mail@moja_domena.com”, ale po prostu nie mogę tego rozgryźć.
Między innymi próbowałem:
- Zmienianie php.ini na: / usr / sbin / sendmail -t -i -f mail@moja_domena.com
- Dodanie do wirtualnego hosta mydomain.conf linii: ServerAdmin mail@moja_domena.com
- Ustawienie ścieżki powrotu na „Tak” w backendzie Magento (System -> Konfiguracja -> Zaawansowane -> System -> Ustawienia wysyłania poczty.
Jeśli to pomoże, zawartość mojego pliku / etc / hosts jest następująca:
127.0.0.1 www.mydomain.com
127.0.0.1 mydomain.com
127.0.0.1 localhost localhost.localdomain
W ostatnim wierszu pliku hosts wypróbowałem również odmianę ...
127.0.0.1 localhost.localdomain mydomain.com
... ale nadal nie działało.
Pomyślałem, że może to również pomóc, jeśli dodam nagłówki wiadomości e-mail, na wypadek, gdyby to mogło dać wskazówki co do tego, co może się dziać (zmieniłem wiele wartości, aby ją uogólnić).
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
Część mnie nie jest pewna, czy to normalne, i chyba nie jestem pewna, co może powodować pojawienie się apache @ localhost, ale jeśli ktoś ma pomysł, będzie bardzo wdzięczny, dziękuję!
Edytuj MTA, którego używam, to Sendmail. Oto zmiany konfiguracji, które wprowadziłem w pliku sendmail.mc w celu dostosowania go do mojej witryny.
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
Edytuj Nie jestem pewien, czy pytanie to zostało ponownie oznaczone jako duplikat, więc pomyślałem, że powinienem podkreślić powód, dla którego nie jest on oparty na zadanym pytaniu, dlaczego tak nie jest. Przejście na Postfix nie jest rozwiązaniem, a jedynie obejściem problemu. Nie chciałbym usuwać wszystkich ustawień, które przeprowadziłem do tej pory z Sendmailem, tylko po to, aby napotkać inne potencjalne problemy, próbując zamiast tego uruchomić Postfix. Wspomniałem już również o edycji polecenia sendmail w php.ini, jeśli czytasz punktory, o których wspomniałem powyżej.
Edycja Pomyślałem mogę również wspomnieć o niektórych innych rzeczy próbowałem robić, że nie działa. Dodałem do mojego sendmail.mc następujące linie:
FEATURE(`genericstable',`hash -o /etc/mail/genericstable.db')dnl
GENERICS_DOMAIN_FILE(`/etc/mail/generics-domains')dnl
Następnie utworzyłem plik domen ogólnych z pojedynczym wierszem „mydomain.com”. Następnie utworzyłem plik genericstable z pojedynczym wierszem „apache mail@homebrewsupply.com” w nim. Uruchomiłem make w katalogu mail, odtworzyłem plik cf i zrestartowałem sendmaila, ale żadnych kości.
Próbowałem edytować plik / etc / aliases. Próbowałem zmienić wiersz „apache: root” na „apache: root, mail @ mydomain.com”, a także po prostu „apache: mail@mydomain.com”, ale to też nic nie zrobiło.
Próbowałem również dodać do pliku / etc / mail / virtuserstable pojedynczą linię „apache @ localhost mail@moja_domena.com”. To też nic nie zrobiło.
Jestem zaskoczony, jak frustrujące jest prawidłowe działanie tego. Jestem tak blisko, że mam go tam, gdzie go potrzebuję, ale szczerze mówiąc, nie wiem, gdzie szukać, aby zastąpić wiersz „apache @ localhost”.