Как читать этот отчет DMARC? Почему Yahoo по-прежнему отклоняет почту с моего сервера?

У меня настроен hMailServer на моем сервере, который рассылает рассылку новостей по электронной почте для подписчиков, согласившихся на рассылку. Я настроил подпись DKIM, запись SPF, явно дающую моему серверу разрешение на отправку электронной почты от имени моего домена, и даже обратную запись DNS. Мой рейтинг senderscore.org - 97. И моя почта благополучно доставляется всем моим подписчикам, кроме тех, у кого адреса Yahoo или Rocketmail. Каждое электронное письмо, которое я отправляю на эти адреса, отклоняется со следующим сообщением:

Удаленный сервер ответил: 421 4.7.0 [TSS04] Сообщения от 23.102.x.x временно отложены из-за жалоб пользователей - 4.16.55.1; см. https://help.yahoo.com/kb/postmaster/SLN3434.html

Это сообщение является на 100% ложным и вводящим в заблуждение. Никто не жаловался на почту с этого сервера, потому что на прошлой неделе я перестал отправлять на любые адреса Yahoo / Rocketmail. И ничего временного в этом нет: вот уже две недели такая ситуация. Каждый день или два я отправляю одно пробное письмо, чтобы узнать, удалили ли они мой сервер из своего черного списка, но, увы! То же сообщение о недоставке. И в Yahoo буквально не с кем поговорить; у них нет никакой службы поддержки клиентов, не говоря уже о технической поддержке.

Я решил подписаться на уведомления DMARC, чтобы узнать, чем Yahoo расстроен. Вот мой самый последний отчет:

<?xml version="1.0"?>   
<feedback>  
  <report_metadata> 
    <org_name>Yahoo! Inc.</org_name>    
    <email>postmaster@dmarc.yahoo.com</email>   
    <report_id>1562461153.62437</report_id> 
    <date_range>    
      <begin>1562371200</begin> 
      <end>1562457599</end> 
    </date_range>   
  </report_metadata>    
  <policy_published>    
    <domain>mydomain.com</domain>   
    <adkim>r</adkim>    
    <aspf>r</aspf>  
    <p>none</p> 
    <pct>100</pct>  
  </policy_published>   
  <record>  
    <row>   
      <source_ip>197.96.187.217</source_ip> 
      <count>1</count>  
      <policy_evaluated>    
        <disposition>none</disposition> 
        <dkim>pass</dkim>   
        <spf>fail</spf> 
      </policy_evaluated>   
    </row>  
    <identifiers>   
      <header_from>mydomain.com</header_from>   
    </identifiers>  
    <auth_results>  
      <dkim>    
        <domain>mydomain.com</domain>   
        <result>pass</result>   
      </dkim>   
      <spf> 
        <domain>mydomain.com</domain>   
        <result>softfail</result>   
      </spf>    
    </auth_results> 
  </record> 
  <record>  
    <row>   
      <source_ip>197.97.112.17</source_ip>  
      <count>1</count>  
      <policy_evaluated>    
        <disposition>none</disposition> 
        <dkim>pass</dkim>   
        <spf>fail</spf> 
      </policy_evaluated>   
    </row>  
    <identifiers>   
      <header_from>mydomain.com</header_from>   
    </identifiers>  
    <auth_results>  
      <dkim>    
        <domain>mydomain.com</domain>   
        <result>pass</result>   
      </dkim>   
      <spf> 
        <domain>mydomain.com</domain>   
        <result>softfail</result>   
      </spf>    
    </auth_results> 
  </record> 
  <record>  
    <row>   
      <source_ip>209.85.208.178</source_ip> 
      <count>1</count>  
      <policy_evaluated>    
        <disposition>none</disposition> 
        <dkim>pass</dkim>   
        <spf>fail</spf> 
      </policy_evaluated>   
    </row>  
    <identifiers>   
      <header_from>mydomain.com</header_from>   
    </identifiers>  
    <auth_results>  
      <dkim>    
        <domain>mydomain.com</domain>   
        <result>pass</result>   
      </dkim>   
      <spf> 
        <domain>gmail.com</domain>  
        <result>pass</result>   
      </spf>    
    </auth_results> 
  </record> 
  <record>  
    <row>   
      <source_ip>209.85.208.41</source_ip>  
      <count>1</count>  
      <policy_evaluated>    
        <disposition>none</disposition> 
        <dkim>pass</dkim>   
        <spf>fail</spf> 
      </policy_evaluated>   
    </row>  
    <identifiers>   
      <header_from>mydomain.com</header_from>   
    </identifiers>  
    <auth_results>  
      <dkim>    
        <domain>mydomain.com</domain>   
        <result>pass</result>   
      </dkim>   
      <spf> 
        <domain>gmail.com</domain>  
        <result>pass</result>   
      </spf>    
    </auth_results> 
  </record> 
  <record>  
    <row>   
      <source_ip>209.85.208.43</source_ip>  
      <count>1</count>  
      <policy_evaluated>    
        <disposition>none</disposition> 
        <dkim>pass</dkim>   
        <spf>fail</spf> 
      </policy_evaluated>   
    </row>  
    <identifiers>   
      <header_from>mydomain.com</header_from>   
    </identifiers>  
    <auth_results>  
      <dkim>    
        <domain>mydomain.com</domain>   
        <result>pass</result>   
      </dkim>   
      <spf> 
        <domain>gmail.com</domain>  
        <result>pass</result>   
      </spf>    
    </auth_results> 
  </record> 
  <record>  
    <row>   
      <source_ip>209.85.208.47</source_ip>  
      <count>4</count>  
      <policy_evaluated>    
        <disposition>none</disposition> 
        <dkim>pass</dkim>   
        <spf>fail</spf> 
      </policy_evaluated>   
    </row>  
    <identifiers>   
      <header_from>mydomain.com</header_from>   
    </identifiers>  
    <auth_results>  
      <dkim>    
        <domain>mydomain.com</domain>   
        <result>pass</result>   
      </dkim>   
      <spf> 
        <domain>gmail.com</domain>  
        <result>pass</result>   
      </spf>    
    </auth_results> 
  </record> 
  <record>  
    <row>   
      <source_ip>209.85.208.49</source_ip>  
      <count>1</count>  
      <policy_evaluated>    
        <disposition>none</disposition> 
        <dkim>pass</dkim>   
        <spf>fail</spf> 
      </policy_evaluated>   
    </row>  
    <identifiers>   
      <header_from>mydomain.com</header_from>   
    </identifiers>  
    <auth_results>  
      <dkim>    
        <domain>mydomain.com</domain>   
        <result>pass</result>   
      </dkim>   
      <spf> 
        <domain>gmail.com</domain>  
        <result>pass</result>   
      </spf>    
    </auth_results> 
  </record> 
  <record>  
    <row>   
      <source_ip>209.85.208.53</source_ip>  
      <count>2</count>  
      <policy_evaluated>    
        <disposition>none</disposition> 
        <dkim>pass</dkim>   
        <spf>fail</spf> 
      </policy_evaluated>   
    </row>  
    <identifiers>   
      <header_from>mydomain.com</header_from>   
    </identifiers>  
    <auth_results>  
      <dkim>    
        <domain>mydomain.com</domain>   
        <result>pass</result>   
      </dkim>   
      <spf> 
        <domain>gmail.com</domain>  
        <result>pass</result>   
      </spf>    
    </auth_results> 
  </record> 
  <record>  
    <row>   
      <source_ip>209.85.208.54</source_ip>  
      <count>1</count>  
      <policy_evaluated>    
        <disposition>none</disposition> 
        <dkim>pass</dkim>   
        <spf>fail</spf> 
      </policy_evaluated>   
    </row>  
    <identifiers>   
      <header_from>mydomain.com</header_from>   
    </identifiers>  
    <auth_results>  
      <dkim>    
        <domain>mydomain.com</domain>   
        <result>pass</result>   
      </dkim>   
      <spf> 
        <domain>gmail.com</domain>  
        <result>pass</result>   
      </spf>    
    </auth_results> 
  </record> 
  <record>  
    <row>   
      <source_ip>209.85.215.171</source_ip> 
      <count>1</count>  
      <policy_evaluated>    
        <disposition>none</disposition> 
        <dkim>pass</dkim>   
        <spf>fail</spf> 
      </policy_evaluated>   
    </row>  
    <identifiers>   
      <header_from>mydomain.com</header_from>   
    </identifiers>  
    <auth_results>  
      <dkim>    
        <domain>mydomain.com</domain>   
        <result>pass</result>   
      </dkim>   
      <spf> 
        <domain>gmail.com</domain>  
        <result>pass</result>   
      </spf>    
    </auth_results> 
  </record> 
  <record>  
    <row>   
      <source_ip>54.202.181.118</source_ip> 
      <count>1</count>  
      <policy_evaluated>    
        <disposition>none</disposition> 
        <dkim>pass</dkim>   
        <spf>fail</spf> 
      </policy_evaluated>   
    </row>  
    <identifiers>   
      <header_from>mydomain.com</header_from>   
    </identifiers>  
    <auth_results>  
      <dkim>    
        <domain>mydomain.com</domain>   
        <result>pass</result>   
      </dkim>   
      <spf> 
        <domain>mydomain.com</domain>   
        <result>softfail</result>   
      </spf>    
    </auth_results> 
  </record> 
  <record>  
    <row>   
      <source_ip>62.4.22.164</source_ip>    
      <count>1</count>  
      <policy_evaluated>    
        <disposition>none</disposition> 
        <dkim>pass</dkim>   
        <spf>fail</spf> 
      </policy_evaluated>   
    </row>  
    <identifiers>   
      <header_from>mydomain.com</header_from>   
    </identifiers>  
    <auth_results>  
      <dkim>    
        <domain>mydomain.com</domain>   
        <result>pass</result>   
      </dkim>   
      <spf> 
        <domain>mydomain.com</domain>   
        <result>softfail</result>   
      </spf>    
    </auth_results> 
  </record> 
</feedback> 

Первое, на что я обращаю ваше внимание, это то, что IP моего сервера (23.102.x.x) вообще не упоминается. Я понятия не имею, что это за другие серверы (например, 197.97.112.17) или почему они заставляют мой сервер попадать в черный список. В чем смысл этого отчета? Как я могу заставить Yahoo перестать возвращать мои письма?

ОБНОВЛЕНИЕ: к счастью, какой-то крошечный маленький домен где-то отправил обратно сообщение об отказе, сообщив мне, что у меня нет обратной записи DNS. И вот я подумал, что сделал! Оказалось, что я последовал неправильному совету агента службы поддержки Azure, который сказал мне настроить мою собственную зону DNS для x.102.23.in-addr.arpa , а затем добавить туда запись для последнего квартет, представляющий IP-адрес моего сервера. Оглядываясь назад, я понял, что, очевидно, это не имеет смысла, потому что тогда я бы эффективно контролировал записи PTR для 255 других возможных серверов. Поэтому я повторно открыл свой билет поддержки в Azure, попросив их установить запись PTR. Если это сработает, я отправлю это в качестве ответа.

ОБНОВЛЕНИЕ 2: Я получил поддержку от Azure, и они помогли мне настроить обратную запись DNS. Итак, теперь, когда я запускаю следующее из командной строки Linux, я получаю ожидаемый результат:

$ host 23.102.xx

xx102.23.in-addr.arpa указатель имени домена mail.mydomain.com

К сожалению , Yahoo по-прежнему отклоняет почту с моего сервера. Я подписался на их цикл обратной связи и не получил от них ни одного письма. Но все мои письма на адрес Yahoo по-прежнему возвращаются с тем же ложным и вводящим в заблуждение сообщением об ошибке. Что еще нужно сделать?

-1
задан 25 July 2019 в 09:39
2 ответа

Итак, счастливый конец моей истории заключается в том, что через пару недель после правильной настройки моей обратной записи PTR (с помощью службы поддержки Azure) Yahoo начала получать сообщение. Заметьте, это не было мгновенным; все началось с того, что несколько подписчиков сообщили о возобновлении работы их электронной почты. Но все равно большая часть писем была отклонена. Затем медленно, медленно процент успешных доставок увеличивался, пока после переходного периода продолжительностью около двух дней отскоки не прекратились полностью.

В общем, ответ заключался в настройке обратной записи DNS ... и подождите .

0
ответ дан 5 December 2019 в 19:20

Нет ничего необычного в том, что в вашем отчете DMARC можно найти несколько поставщиков бесплатной почты.

Например, люди, получающие почту от вас на свой адрес Google, могут выбрать пересылку вашей почты на Yahoo, заставляя Yahoo возвращать вам эти квитанции. В отчете есть подсказка - проверка SPF для gmail.com прошла успешно. Если бы в отчете не было этой информации, вы все равно могли бы предположить, основываясь на информации whois для IP-адреса - он выделен Google.

Часть «Никто не жаловался» заставляет меня подозревать, что вы не настроили цикл обратной связи с Yahoo - они будут сообщать вам о жалобах только после того, как вы подпишете свое письмо и явным образом согласитесь. Вы узнаете это, если полностью прочитаете страницы справки упоминается в сообщении об ошибке, поэтому есть вероятность, что Yahoo откладывает ваше сообщение на основании какого-либо другого элемента в своем списке "лучших практик". Так что это лучший способ решить проблему - убедиться, что вы поняли и реализовали каждый элемент в этом списке.

2
ответ дан 5 December 2019 в 19:20

Теги

Похожие вопросы