У нас есть Linux VPS (Debian) с доменом (скажем, example.com с MX mail.example.com), на котором настроен SPF. Работает dovecot + exim. Кроме того, есть прямой администратор.
Когда я отправляю почту на чужой сервер, все в порядке. В сообщении указан IP-адрес сервера, и проверка SPF проходит нормально.
Некоторые данные изменены (домен и т. Д.):
Received: from mail.example.com (mail.example.com. [188.40.153.39])
by mx.google.com with ESMTPS id ***.7.2015.02.18.04.09.46
for <*@gmail.com>
(version=TLSv1.2 cipher=ECDHE-RSA-AES128-GCM-SHA256 bits=128/128);
Wed, 18 Feb 2015 04:09:47 -0800 (PST)
Received-SPF: pass (google.com: domain of test@example.com designates 188.40.153.39 as permitted sender) client-ip=188.40.153.39;
Но когда я отправляю его из локального почтового ящика в другой локальный почтовый ящик, а затем получаю почту в Gmail через POP3, у меня возникает проблема с SPF, потому что сообщение содержит исходный IP-адрес клиента и проверка SPF не выполняется.
Authentication-Results: mx.google.com;
spf=fail (google.com: domain of test@example.com does not designate 82.160.100.10 as permitted sender) smtp.mail=test@example.com
Received-SPF: fail (google.com: domain of test@example.com does not designate 82.160.100.10 as permitted sender) client-ip=82.160.100.10;
82.160.100.10 - IP первоначального отправителя.
Из-за этой проблемы наша внутренняя корреспонденция имеет тенденцию отмечаться как спам в Gmail для людей, которые проверяют свои ящики через нее.
Есть идеи, как это исправить?
РЕДАКТИРОВАТЬ: заголовки тестового письма (изменили наши IP-адреса и домен)
1) Электронное письмо, отправленное из одного ящика в другой - заголовки из клиента Thunderbird:
Return-path: <ldev@example.com>
Envelope-to: zbyszek@example.com
Delivery-date: Thu, 19 Feb 2015 11:41:20 +0100
Received: from nat10.net08-g2.isko.net.pl ([82.160.100.10] helo=[11.0.0.22])
by mail.example.com with esmtpsa (TLSv1.2:DHE-RSA-AES128-SHA:128)
(Exim 4.83)
(envelope-from <ldev@example.com>)
id 1YOOPC-0005Ud-Qq
for zbyszek@example.com; Thu, 19 Feb 2015 11:41:20 +0100
Message-ID: <54E5BDCE.5040207@example.com>
Date: Thu, 19 Feb 2015 11:41:18 +0100
From: Head Developer <ldev@example.com>
User-Agent: Mozilla/5.0 (Windows NT 6.2; WOW64; rv:31.0) Gecko/20100101 Thunderbird/31.4.0
MIME-Version: 1.0
To: Zbyszek <zbyszek@example.com>
Subject: This is test
Content-Type: text/plain; charset=utf-8; format=flowed
Content-Transfer-Encoding: 7bit
2) То же письмо после получения почтой Gmail (при автоматическом регулярном импорте по POP3):
Delivered-To: *@gmail.com
Received: by 10.140.86.210 with SMTP id p76csp775880qgd;
Thu, 19 Feb 2015 02:47:12 -0800 (PST)
X-Received: by 10.140.102.165 with SMTP id w34mr10762910qge.26.1424342832562;
Thu, 19 Feb 2015 02:47:12 -0800 (PST)
Authentication-Results: mx.google.com;
spf=fail (google.com: domain of ldev@example.com does not designate 82.160.100.10 as permitted sender) smtp.mail=ldev@example.com
Received-SPF: fail (google.com: domain of ldev@example.com does not designate 82.160.100.10 as permitted sender) client-ip=82.160.100.10;
Received: by 10.224.31.8 with POP3 id w8mf619596qac.5;
Thu, 19 Feb 2015 02:47:12 -0800 (PST)
X-Gmail-Fetch-Info: zbyszek@example.com 2 mail.example.com 110 zbyszek@example.com
Return-path: <ldev@example.com>
Envelope-to: zbyszek@example.com
Delivery-date: Thu, 19 Feb 2015 11:41:20 +0100
Received: from nat10.net08-g2.isko.net.pl ([82.160.100.10] helo=[11.0.0.22])
by mail.example.com with esmtpsa (TLSv1.2:DHE-RSA-AES128-SHA:128)
(Exim 4.83)
(envelope-from <ldev@example.com>)
id 1YOOXn-0005j5-Tm
for zbyszek@example.com; Thu, 19 Feb 2015 11:41:20 +0100
Message-ID: <54E5BDCE.5040207@example.com>
Date: Thu, 19 Feb 2015 11:41:18 +0100
From: Head Developer <ldev@example.com>
User-Agent: Mozilla/5.0 (Windows NT 6.2; WOW64; rv:31.0) Gecko/20100101 Thunderbird/31.4.0
MIME-Version: 1.0
To: Zbyszek <zbyszek@example.com>
Subject: This is test
Content-Type: text/plain; charset=utf-8; format=flowed
Content-Transfer-Encoding: 7bit
Изменить: некоторая дополнительная информация
Изменить: раскрытые IP-адреса не так чувствительны
Отказ от ответственности: этот ответ был домыслом, пока его не подтвердил человек из GMail.
Похоже, это GMail неправильно обработал ваше полученное письмо. Некоторые люди также сообщают о подобном случае с вашим в Вот, Вот или Вот
Проблема в том, что GMail также развертывает меры SPF при сканировании электронной почты после ее получения через POP3.
Обычно проверка SPF происходит в транзакции SMTP путем проверки доменных частей адреса отправителя и IP-адреса клиента. Но в POP3 GMail должен разбирать заголовок и находить последний Received
заголовок.
Received: from nat10.net08-g2.* ([*.160.100.10] helo=[11.0.0.22])
by mail.example.com with esmtpsa (TLSv1.2:DHE-RSA-AES128-SHA:128)
(Exim 4.83)
(envelope-from <ldev@example.com>)
id 1YOOXn-0005j5-Tm
for zbyszek@example.com; Thu, 19 Feb 2015 11:41:20 +0100
Это исходное электронное письмо, полученное с вашего сервера. В нем указано, что ваша электронная почта принимает электронную почту от *.160.100.10
с отправителем ldev@example.com. На этом этапе Gmail притворяется вашим сервером и проверяет доменные части адреса отправителя (example.com) и IP-адреса клиента (* .160.100.10). Результат был ожидаемым:
Программный сбой SPF, поскольку домен ldev@example.com не указывает * .160.100.10 в качестве разрешенного отправителя
В качестве обходного пути вы можете настроить фильтры Gmail, чтобы никогда не отмечать вашу электронную почту как спам.
Кажется ошибкой, что Gmail не соблюдает ESMTPA в заголовке Received, чтобы показать, что MUA является доверенным хостом. На ум приходят некоторые возможные обходные пути:
Received: by 10.224.31.8 with ESMTP ....
У меня была такая же проблема, и я исправил ее, используя следующий документ Google. Это может помочь вам, и стоит попробовать.
https://support.google.com/a/answer/33786?hl=en
Вам нужно будет добавить следующую запись к существующей записи spf TXT. Это помогает Google определить источник адреса электронной почты.
include:_spf.google.com
Таким образом, вам нужно обновить свою запись spf следующим образом.
Запись SPF: "v=spf1 a mx ip4:188.40.153.39 include:_spf.google.com -all"
Затем попробуйте отправить электронное письмо, и оно должно попасть прямо в ваш почтовый ящик, если ваш IP-адрес имеет хорошую репутацию.