Я написал некоторое программное обеспечение, которое управляет некоммерческим списком контактов для клубов, где сервер рассылает административные письма всему клубу. Электронные письма принимаются в Yahoo, gmail и AOL нормально, но горячая почта и Outlook отбрасывают их. Они не попадают в папку для спама получателя и не возвращаются - они буквально просто сбрасываются.
Я потратил на это часы и быстро никуда не денусь. Есть предложения, как действовать дальше и на что смотреть дальше? Что я знаю на данный момент:
griffon.foo.org
, и это заканчивается как Return-Path
в заголовках ниже (предположительно sendmail устанавливает в качестве отправителя конверта имя хоста). Исходный IP-адрес определяется как 1.2.3.4
, и поиск DNS PTR на 1.2.3.4
возвращается griffon.foo.org
griffon.foo.org
, и рекорд A для foo.org
возвращается 2.3.4.5
не 1.2.3.4
. Это проблема?From
заголовок и Return-Path
: From
в общем, me@baz.foo.org
Это новый сервер, который время от времени рассылает почту небольшого объема, и я могу гарантировать, что никто никогда не отмечал входящую почту как спам. mxtoolbox.com не показывает 1.2.3.4
в любые черные списки и показывает 2.3.4.5
в одном списке из 88 (оба на одной машине)
Серверы Microsoft принимают электронные письма от sendmail и отвечают, что они поставлены в очередь для доставки. Затем он просто игнорирует их.
Похоже, это может быть (4), но записи MX для foo.org
должен указать на 2.3.4.5
по сложным причинам. Любые идеи? Ниже я прикрепил набор заголовков, полученных на Yahoo. Спасибо.
From me@foo.org Wed Mar 25 17:28:23 2015
X-Apparently-To: a.a@yahoo.co.uk; Wed, 25 Mar 2015 17:28:32 +0000
Return-Path: <me@griffon.foo.org>
Received-SPF: pass (domain of griffon.foo.org designates 1.2.3.4 as permitted sender)
X-YMailISG: <CUT>
X-Originating-IP: [1.2.3.4]
Authentication-Results: mta1045.mail.ir2.yahoo.com from=foo.org; domainkeys=neutral (no sig); from=foo.org; dkim=pass (ok)
Received: from 127.0.0.1 (EHLO griffon.bar.com) (1.2.3.4)
by mta1045.mail.ir2.yahoo.com with SMTPS; Wed, 25 Mar 2015 17:28:32 +0000
Received: from griffon.foo.org (localhost.localdomain [127.0.0.1])
by griffon.bar.com (8.13.8/8.13.8) with ESMTP id t2PHSNVN016920;
Wed, 25 Mar 2015 17:28:24 GMT
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=foo.org;
s=default; t=1427304504;
bh=0TWfPqbvd2nyKtZkN+npokT1bvLtCD0MomG/Bd1zU8g=;
h=Date:To:From:Subject;
b=ZcSVHGuzxcBk8He2hzjT6t8gl9hT0cxUsGf7vNcsnF8S+OfNmZ+XuE240+v7JDNe+
IArMT87aIuLNIp8A1CMOelWvEm7KKdYWKoCy/CDfbe4mcEfu2kWNteai4/5yExPewv
gFV6OOYAv7uKYd44UjMhuWCZ8qqxD2WZROUeoN2E=
Received: (from me@localhost)
by griffon.foo.org (8.13.8/8.13.8/Submit) id t2PHSNSu016919;
Wed, 25 Mar 2015 17:28:23 GMT
Date: Wed, 25 Mar 2015 17:28:23 GMT
Message-Id: <201503251728.t2PHSNSu016919@griffon.foo.org>
To: f.a@outlook.com, a.a@yahoo.co.uk, b.a@aol.co.uk,
l.b@gmail.com, l.b@hotmail.com
From: me@foo.org
Subject: Test all (31)
Content-Length: 14
Я исправил это, добавив новую высокую стоимость MX
запись для домена в 1.2.3.4
, который указывал на почтовый сервер для 2.3.4.5
. Это гарантирует, что обратный DNS соответствует прямому DNS. Это в основном быстрое решение, позволяющее обойти проблему с sendmail, указанную ниже.
Попутно я узнал кое-что полезное о Hotmail и Outlook, а также о том, что вызывает сбрасывание почты. В моем случае основная проблема была связана с тем, как sendmail идентифицирует себя, но это может быть полезно для всех, кто придет сюда. Обратите внимание, что DKIM не имеет значения (вы можете быть доставлены и пройти тестирование на спам без DKIM), и мне не нужно было регистрироваться в Microsoft.
1 - sendmail устанавливает SMTP «ПОЧТА ОТ» пользователю с текущим именем хоста; т.е. me@griffon.foo.org (это то, что вы видите в Return-Path
)
2 - hotmail и Outlook выполнят обратный поиск / PTR-поиск подключенного IP-адреса и молча сбросят почту, если она не вернется на MAIL FROM
доменное имя
3 - hotmail / outlook выполнит поиск MX на сервере «От», который указан в последнем заголовке «Получено». Если это не соответствует MAIL FROM
домен, электронная почта сбрасывается
Вроде все. (3) была причиной моей проблемы. sendmail использует gethostbyname
для установки имени 'От', хотя он использует текущее имя хоста для установки MAIL FROM
. Я ожидал gethostbyname
просто чтобы сделать PTR
найдите и получите правильный ответ, но он возвращал старое полное доменное имя. Не знаю почему - возможно, проблемы с кешированием - но новая запись MX исправляет это на данный момент.