Назад | Перейти на главную страницу

Удаление apache @ localhost из заголовков писем?

Моя настройка: я запускаю веб-сайт 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», но я просто не могу понять этого.

Среди вещей, которые я пробовал:

Если это поможет, содержимое моего файла / 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".

Адрес электронной почты отправителя - это пользователь демона, который вызвал сообщение для отправки (apache) @ доменное имя, настроенное в вашем MTA (sendmail или postfix).

Если ваш локальный MTA - postfix, вам необходимо изменить настройку myorigin (в этом примере по умолчанию используется настроенное имя хоста. Localhost). Этот параметр находится в main.cf (расположение по умолчанию в большинстве дистрибутивов /etc/postfix/main.cf). Просто измените это на доменное имя, с которого вы хотите его отправлять. Затем перезапустите postfix.

Конечно, вам может быть проще просто изменить имя хоста сервера, чтобы оно соответствовало желаемому домену отправителя.

Имейте в виду, что если вы собираетесь отправлять электронную почту с этого сервера для этого домена, вам нужно будет добавить разрешающую запись SPF DNS, иначе ваши сообщения, скорее всего, будут сброшены фильтрами спама.

При просмотре вашей конфигурации кажется, что отсутствует пара бит (и извините за мой синтаксис, я не часто публикую):

Вы, вероятно, захотите добавить параметр конфигурации MASQUERADE_DOMAIN для использования с MASQUERADE_AS, сопоставив MASQUERADE_DOMAIN с любым полным доменным именем хоста (имя хоста -f на большинстве платформ Linux). У меня были бы странные вещи, если бы их не было обоих, так что это было бы:

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

а затем эта строка:

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

Действительно должно быть

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

или он будет проигнорирован командами make / hash при обновлении файла sendmail.cf. Этот парень прекрасно объясняет, почему В чем разница между "dnl" и "dnl #" в файле sendmail.mc?

Я все еще пытаюсь избавиться от части "apache" на моем собственном сервере, но я надеюсь, что это немного приблизит вас!

Система -> Конфигурация -> Дополнительно -> Система -> Установить обратный путь -> Да

или установите для него адрес электронной почты, который хотите использовать. Только что нашел это сегодня - очевидно, некоторые электронные письма отклонялись почтовыми серверами со строгими правилами (.edu, .gov ... и т. Д.)

Добавить define(`confRECEIVED_HEADER', `internal info removed')dnl к submit.mc затем сгенерировать .cf файл и перезапустите sendmail по-прежнему.

Важный: файл, который следует отредактировать, чтобы это работало, - submit.mc, и нет sendmail.mc. Если вы отредактируете sendmail.mc файл вместо этого Received заголовок над тем, который вы упомянули, будет изменен (то есть Received: from mydomain.com (www.mydomain.com [127.0.0.1])).

Примечание: Вместо буквальной строки internal info removed вы можете повторно использовать часть предоставленной информации, скрывая конфиденциальную, например: by $j id $i; $b получить 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 из заголовков