Моя установка: я запускаю веб-сайт Magento на сервере Amazon Linux (который, по-видимому, в основном CentOS) с веб-сервером Apache. Я также использую Google Apps для управления почтой mydomain.com.
Мне удалось успешно настроить записи MX, SPF и DKIM для сервера и заставить их работать, так что я получаю «Pass» для 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
- Для параметра Return-Path установлено значение «Да» в бэкенде 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. Вот изменения конфигурации, которые я внес в файл 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 работать вместо этого. Я также уже упоминал о редактировании команды sendmail в php.ini, если вы прочитали пункты, упомянутые выше.
Править Я подумал, что мог бы также упомянуть некоторые другие вещи, которые я пытался сделать, которые не работали. Я добавил в свой sendmail.mc следующие строки:
FEATURE(`genericstable',`hash -o /etc/mail/genericstable.db')dnl
GENERICS_DOMAIN_FILE(`/etc/mail/generics-domains')dnl
Затем я создал файл generics-domains с одной строкой «mydomain.com» внутри. Затем я создал универсальный файл с одной строкой «apache mail@homebrewsupply.com» внутри. Я запустил make в почтовом каталоге, пересоздал файл cf и перезапустил sendmail, но без кубиков.
Я попытался отредактировать файл / etc / aliases. Я попытался изменить строку «apache: root», чтобы сказать «apache: root, mail @ mydomain.com», а также просто «apache: mail@mydomain.com», но это тоже ничего не дало.
Я также попытался добавить в файл / etc / mail / virtuserstable одну строку «apache @ localhost mail@mydomain.com». Это тоже ничего не делало.
Я удивлен тем, как расстраивает то, как это работает должным образом. Я так близок к тому, чтобы получить его там, где он мне нужен, но я, честно говоря, не знаю, где искать замену строки «apache @ localhost».