phpmailer exim неверный IP отправителя (bindto)

183
23 июня 2017, 09:37

php скрипт через phpmailer(v.5.2.23) отправляет письмо через Exim(v.4.89) с базовым конфигом:

$mail->SMTPOptions = array(
    'socket' => array(
        'bindto' => "194.58.58.34:0",
    ),
);

Но при этом в заголовках сервера два поля Received, первое с master_ip сервера, а второе с тем что я указал в bindto. Если bindto не указывать то используется IP SMTP хоста, и все равно есть заголовок с мастер IP и из-за этого неверно отрабатывает проверка DKIM.

заголовки письма:

Received: from mxfront5g.mail.yandex.net ([127.0.0.1])
    by mxfront5g.mail.yandex.net with LMTP id 5Dd73rG1
    for <user@yandex.ru>; Thu, 22 Jun 2017 13:46:13 +0300
Received: from master_ip_domain.ru (master_ip_domain.ru [XXX.XXX.120.136])
    by mxfront5g.mail.yandex.net (nwsmtp/Yandex) with ESMTPS id 1uFg4tsd66-kDuGWZn8;
    Thu, 22 Jun 2017 13:46:13 +0300
    (using TLSv1.2 with cipher ECDHE-RSA-AES128-GCM-SHA256 (128/128 bits))
    (Client certificate not present)
Return-Path: noreply@domain.ru
X-Yandex-Front: mxfront5g.mail.yandex.net
X-Yandex-TimeMark: 1498128373
Authentication-Results: mxfront5g.mail.yandex.net; spf=softfail (mxfront5g.mail.yandex.net: transitioning domain of domain.ru does not designate XXX.XXX.120.136 as permitted sender, rule=[~all]) smtp.mail=noreply@domain.ru; dkim=pass header.i=@domain.ru
X-Yandex-Spam: 1
DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed;
    d=domain.ru; s=dkim; h=Content-Transfer-Encoding:Content-Type:
    MIME-Version:Message-ID:Subject:From:To:Date:Sender:Reply-To:Cc:Content-ID:
    Content-Description:Resent-Date:Resent-From:Resent-Sender:Resent-To:Resent-Cc
    :Resent-Message-ID:In-Reply-To:References:List-Id:List-Help:List-Unsubscribe:
    List-Subscribe:List-Post:List-Owner:List-Archive;
    bh=SSg1RYgWoJvoRis8urjLzW2ysCw6ESEuk73wKcVuEao=; b=tQAWb0hPYqibdoAwVSwrsbuIZO
    ngP/MTtFxn+fS9N6G1XqEZbIh3cc/+gcVeXe2CSQxcpjFX/K3DICtk8Gb9Z0q1ekqS1S+I2GEY3HP
    JJqKTX/HS47t1PfF3xBDVjlezvvhrbuil+zW2a1lxn45jqOxJPySPvmjzZLiIgB/+7QM=;
Received: from mx.domain.ru ([XXX.XXX.58.35] helo=www.domain.ru)
    by mx.domain.ru with esmtp (Exim 4.89)
    (envelope-from <noreply@domain.ru>)
    id 1dNzcr-0001ou-Dq
    for user@yandex.ru; Thu, 22 Jun 2017 13:46:13 +0300

Подскажите, как исправить? нигде не могу найти способ решения этой проблемы с настройками Exim...

Answer 1

например, можно просто удалить все заголовки received при отправке сообщения на внешний smtp/smarthost.

тогда, если исходить из вашего пример, первого по времени (или последнего по порядку) заголовка received вообще не будет (того, что начинается с Received: from mx.domain.ru ([XXX.XXX.58.35] helo=www.domain.ru)).

для этого, как подсказывают, нужно добавить директиву

  headers_remove = received

в секцию

remote_smtp:

или (если используете smarthost) в секцию

remote_smtp_smarthost:

это решение может не подойти, если ваш smtp используется как прокси для какой-нибудь почты, приходящей из внешнего мира: полная история движения сообщения иногда может потребоваться. в таком случае стоит воспользоваться более сложным вариантом.

READ ALSO
Заполнитель php

Заполнитель php

Имеется выражение $arFields["CODE"] = $arFields["PROPERTY_VALUES"][9][*]["VALUE"]; * - может принимать любое значение, как это записать?%i или что-то похожее( %i не работает)?

210
Как расшифровать ссылку вируса на сайте?

Как расшифровать ссылку вируса на сайте?

На сайте на Wordpress вирусНашел один из его файлов, там имеется такая строка:

287
C++ Прочитать содержание папки

C++ Прочитать содержание папки

Всем привет, надо прочитать содержание папки, точнее прочитать имя всех файлов которые есть в папке, и запушить их в переменную с типом vector<wstring>

418
C++ объединение интервалов по времени

C++ объединение интервалов по времени

Всем приветПрошу помоч, а то с вложенными циклами каша в голове уже

340