Привет. Мы настроили DKIM на нашем почтовом сервере с помощью sendmail, а также настроили нашу запись DNS. Тем не менее, наши письма помечаются как спам. Также, когда мы отправляем почту из Outlook, аутентификация с ключом домена проходит, тогда как когда почта отправляется из PHP (PEAR package MAIL), Yahoo отмечает аутентификацию как неудачную.
При отправке через PHP Yahoo добавляет следующий заголовок Authentication-Results: mta150.mail.in.yahoo.com from = mydomain.com; domainkeys = fail (плохой сигнал); from = mydomain.com; dkim = permerror (плохой сигнал)
При отправке из Outlook заголовок - Authentication-Results: mta175.mail.in.yahoo.com from = mydomain.com; domainkeys = пройти (ок); from = mydomain.com; dkim = pass (ok), который указывает, что аутентификация по ключу домена прошла
Я изучил заголовки при отправке из PHP и сравнил их с тем, что добавляет Outlook, и не увидел большой разницы. При отправке с PHP я добавляю заголовки From, To, Message-ID, Mime-Version, Date, Subject, Content-Type, и Outlook также имеет то же самое,
Что еще может быть не так в почте при отправке почты через PHP из-за сбоя аутентификации
PHP не использует локальный MTA на сервере, он подключается к SMTP-серверу (SendMail), который находится на другом компьютере. PEAR MAIL использует API сокетов для подключения к SMTP-серверу и использует протокол SMTP, я не думаю, что почта подписывается на веб-сервере, она подписывается только на SMTP-сервере.
Мы используем SendMail на почтовом сервере, и Outlook и PHP используют один и тот же SMTP-сервер с одинаковым логином и паролем и одним и тем же механизмом аутентификации.
Вот почему я не понимаю, в чем может быть проблема. Есть ли какой-то стандартный способ создания почты, который может влиять на подписание почты, что Outlook делает правильно, но когда это делается через PHP, почта создается по-другому, по крайней мере, мы проверили, что заголовки совпадают.
Ниже указаны заголовки, полученные Yahoo, когда я отправил письмо на этот аккаунт Yahoo. Это письмо отправлено PHP Zend framework.
Раньше я отправлял почту с помощью пакета PHP PEAR. В то время Yahoo добавляла следующий заголовок Authentication-Results: mta150.mail.in.yahoo [dot] com from = mydomain [dot] com; domainkeys = fail (плохой сигнал); from = mydomain [точка] com; dkim = permerror (плохой сигнал).
Но теперь, когда я использую PHP Zend framework для отправки почты, dkim настроен на проход (нормально), но domainkeys = fail. Заголовок выглядит следующим образом Authentication-Results: mta153.mail.in.yahoo [точка] com from = mydomain [точка] com; domainkeys = fail (плохой сигнал); from = mydomain [точка] com; dkim = пройти (хорошо).
Итак, что означает dominkeys = fail (плохой знак)? и чем он отличается от dkim = pass (ok)
X-Apparently-To : ravi.cybertechie@yahoo[dot]com via 203.104.18.180; Wed, 28 Oct 2009 18:03:13 +0530 Return-Path : <admin@mydomain[dot]com> X-YMailISG : YISh33wWLDtwDNH0f_08ONu7pG42J7wuD.SOtD4sPZcX_x7EOghleA5_M5U7vRhdf7ZIIIo0yVtS35PCaQRAY2w8Naq8c3wgufoQrWvJyQt6jIH0BRkuwgUERH7N7FHGLQpnCT0A9ig_TvthXoXJ3Vc.mQFe.OPT4CE6Vz1kgCsBEVxb.M2Zcr4BYK27XARjHg7hCsNDFi_ddp.Y.s6njtr7fnbQl0SD0gCcK2qNVxxKNhoukmuvpE4BPA_EyVEgNqJGjcBYh_GYqsapic4zKDWhcb4nOBAAzDR0XtydFiX3nj_TqDI0v_zNwuUK0K53tYdnI3HCSg-- X-Originating-IP : [my_smtpserver_ipaddress] Authentication-Results: mta153.mail.in.yahoo[dot]com from=mydomain[dot]com; domainkeys=fail (bad sig); from=mydomain[dot]com; dkim=pass (ok) Received : from my_smtpserver_ipaddress (EHLO my_smtpserver_hostname) (my_domain_ip_address) by mta153.mail.in.yahoo[dot]com with SMTP; Wed, 28 Oct 2009 18:03:13 +0530 Received-SPF : pass (my_smtpserver_hostname: authenticated connection) receiver=my_smtpserver_hostname; client-ip=my_mailclient_ipaddress; helo=localhost; envelope-from=admin@mydomain[dot]com; x-software=spfmilter 0.97 http://www.acme[dot]com/software/spfmilter/ with libspf2-1.0.0; Received : from localhost ([my_mailclient_ipaddress]) (authenticated bits=0) by my_smtpserver_hostname (8.14.2/8.14.2) with ESMTP id n9SCX6ml017820 for ; Wed, 28 Oct 2009 08:33:08 -0400 X-DKIM : Sendmail DKIM Filter v2.5.1 my_smtpserver_hostname n9SCX6ml017820 DKIM-Signature : v=1; a=rsa-sha256; c=simple/simple; d=mydomain[dot]com; s=mydomain; t=1256733190; bh=oBeBoCqUcTrV/4cgaMK58OrPkchqCMzB2Vax aRRph6g=; h=From:To:Subject:Date:Content-Type:MIME-Version; b=faLHQ jAakBDkxbz8xhGmfi2ZfBHXUBFOWTZs9BAfaksB8lJghho6YmUPKIY5oMJMsCkh/QLQ 8RXD8dUPf04X6A== X-DomainKeys : Sendmail DomainKeys Filter v1.0.2 my_smtpserver_hostname n9SCX6ml017820 DomainKey-Signature : a=rsa-sha1; s=mydomain; d=mydomain[dot]com; c=simple; q=dns; b=3Wazgw8//NzW95FYyQGZdXDuc4mLkp6+OdOIv224+aC0imfrA3GoeSEIt0UTyaT9d ygfHc6OKuxy7cz0/a3FnA== Message-Id : From : mydomain Admin Add sender to Contacts To : Recipient Subject : Mail from zend Date : Wed, 28 Oct 2009 12:33:05 +0000 Content-Type : multipart/alternative; charset="iso-8859-1"; boundary="=_2f9550c6ce7fb246f62d84f1221854d7" MIME-Version : 1.0 Content-Length : 4918
Если я правильно понимаю, то говорится следующее:
Вы можете сравнить настройки SMTP-сервера Outlook с настройками PHP и убедиться, что они такие же. Если нет, сделайте ретрансляцию PHP через тот же SMTP-сервер, который используется Outlook.
Похоже, ваши сценарии PHP не отправляют почту с помощью локального MTA, в то время как ваш клиент Outlook. Это тот MTA, который должен применять подпись DKIM к каждому сообщению, прежде чем оно будет передано на серверы другой организации. Итак, проверьте конфигурацию и код PHP.
Ниже приведены заголовки, полученные Yahoo, когда я отправил письмо на этот аккаунт Yahoo. Это письмо отправлено PHP Zend framework.
Раньше я отправлял почту с помощью пакета PHP PEAR. В то время Yahoo добавляла следующий заголовок
Authentication-Results: mta150.mail.in.yahoo[dot]com from=mydomain[dot]com;
domainkeys=fail (bad sig); from=mydomain[dot]com; dkim=permerror (bad sig).
Но теперь, когда я использую PHP Zend framework для отправки почты, dkim настроен на проход (нормально), но domainkeys = fail. Заголовок выглядит следующим образом
Authentication-Results: mta153.mail.in.yahoo[dot]com from=mydomain[dot]com; domainkeys=fail (bad sig); from=mydomain[dot]com;
dkim=pass (ok).
So what does dominkeys=fail ( bad sig ) mean ? and how is it different from dkim=pass (ok )
X-Apparently-To : ravi.cybertechie@yahoo[dot]com via 203.104.18.180; Wed,
28 Oct 2009 18:03:13 +0530
Return-Path : <admin@mydomain[dot]com>
X-YMailISG : YISh33wWLDtwDNH0f_08ONu7pG42J7wuD.SOtD4sPZcX_x7EOghleA5_M5U7vRhdf7ZIIIo0yVtS35PCaQRAY2w8Naq8c3wgufoQrWvJyQt6jIH0BRkuwgUERH7N7FHGLQpnCT0A9ig_TvthXoXJ3Vc.mQFe.OPT4CE6Vz1kgCsBEVxb.M2Zcr4BYK27XARjHg7hCsNDFi_ddp.Y.s6njtr7fnbQl0SD0gCcK2qNVxxKNhoukmuvpE4BPA_EyVEgNqJGjcBYh_GYqsapic4zKDWhcb4nOBAAzDR0XtydFiX3nj_TqDI0v_zNwuUK0K53tYdnI3HCSg--
X-Originating-IP : [my_smtpserver_ipaddress]
Authentication-Results: mta153.mail.in.yahoo[dot]com from=mydomain[dot]com;
domainkeys=fail (bad sig); from=mydomain[dot]com;
dkim=pass (ok)
Received : from my_smtpserver_ipaddress (EHLO my_smtpserver_hostname)
(my_domain_ip_address) by mta153.mail.in.yahoo[dot]com with SMTP; Wed,
28 Oct 2009 18:03:13 +0530
Received-SPF : pass (my_smtpserver_hostname: authenticated connection)
receiver=my_smtpserver_hostname; client-ip=my_mailclient_ipaddress;
helo=localhost; envelope-from=admin@mydomain[dot]com;
x-software=spfmilter 0.97
http://www.acme[dot]com/software/spfmilter/ with libspf2-1.0.0;
Received : from localhost ([my_mailclient_ipaddress]) (authenticated bits=0)
by my_smtpserver_hostname (8.14.2/8.14.2)
with ESMTP id n9SCX6ml017820 for <ravi.cybertechie@yahoo[dot]com>;
Wed, 28 Oct 2009 08:33:08 -0400
X-DKIM : Sendmail DKIM Filter v2.5.1
my_smtpserver_hostname n9SCX6ml017820
DKIM-Signature : v=1; a=rsa-sha256; c=simple/simple; d=mydomain[dot]com; s=mydomain;
t=1256733190; bh=oBeBoCqUcTrV/4cgaMK58OrPkchqCMzB2Vax aRRph6g=;
h=From:To:Subject:Date:Content-Type:MIME-Version;
b=faLHQ jAakBDkxbz8xhGmfi2ZfBHXUBFOWTZs9BAfaksB8lJghho6YmUPKIY5oMJMsCkh/QLQ 8RXD8dUPf04X6A==
X-DomainKeys : Sendmail DomainKeys Filter v1.0.2
my_smtpserver_hostname n9SCX6ml017820
DomainKey-Signature : a=rsa-sha1; s=mydomain; d=mydomain[dot]com; c=simple; q=dns;
b=3Wazgw8//NzW95FYyQGZdXDuc4mLkp6+OdOIv224+aC0imfrA3GoeSEIt0UTyaT9d ygfHc6OKuxy7cz0/a3FnA==
Message-Id : <200910281233.n9SCX6ml017820@my_smtpserver_hostname>
From : mydomain Admin <admin@mydomain[dot]com> Add sender to Contacts
To : Recipient <ravi.cybertechie@yahoo[dot]com>
Subject : Mail from zend
Date : Wed, 28 Oct 2009 12:33:05 +0000
Content-Type : multipart/alternative; charset="iso-8859-1";
boundary="=_2f9550c6ce7fb246f62d84f1221854d7"
MIME-Version : 1.0
Длина содержимого: 4918