web-dev-qa-db-ja.com

メールはスパムとしてマークされます

こんにちは私たちはsendmailを使用してメールサーバーにDKIMをセットアップし、DNSレコードも構成しました。それでも私たちのメールはスパムとしてマークされています。また、Outlookからメールを送信した場合、ドメインキー認証は合格ですが、メールがPHP(PEAR package MAIL)から送信された場合、Yahooは認証を次のようにマークしています。不合格

PHP経由で送信される場合、Yahooは次のヘッダーAuthentication-Resultsを追加します。mta150.mail.in.yahoo.comfrom= mydomain.com; domainkeys = fail(bad sig); from = mydomain.com; dkim = permerror(bad sig)

Outlookから送信される場合、ヘッダーはAuthentication-Results:mta175.mail.in.yahoo.com from = mydomain.com; domainkeys = pass(ok); 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プロトコルを使用します。メールはWebサーバーで署名されているとは思いません。SMTPサーバーでのみ署名されています。

メールサーバーとOutlookの両方でSendMailを使用し、PHPは同じログインとパスワード、同じ認証メカニズムで同じSMTPサーバーを使用します

それが、何が問題なのか混乱している理由です。 Outlookが正しく実行している、メールの署名に影響を与える可能性のあるメールを作成する標準的な方法はありますが、PHPを介して作成した場合、メールの作成方法は異なります。少なくともヘッダーが同じであることを確認しました。

以下は、そのyahooアカウントにメールを送信したときにyahooが受信したヘッダーです。このメールはPHP Zendフレームワークによって送信されます。

以前、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フレームワークを使用してメールを送信すると、dkimはpass(ok)に設定されますが、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)。

では、dominkeys = fail(bad sig)はどういう意味ですか?そしてそれはdkim = pass(ok)とどう違うのですか

 X-どうやら-宛先:ravi.cybertechie@yahoo [dot] com via 203.104.18.180;水、
 2009年10月28日午後6時03分13秒0530 
リターンパス:<管理@はmydomain [ドット]コム> [。____] X-YMailISG:YISh33wWLDtwDNH0f_08ONu7pG42J7wuD.SOtD4sPZcX_x7EOghleA5_M5U7vRhdf7ZIIIo0yVtS35PCaQRAY2w8Naq8c3wgufoQrWvJyQt6jIH0BRkuwgUERH7N7FHGLQpnCT0A9ig_TvthXoXJ3Vc.mQFe。 OPT4CE6Vz1kgCsBEVxb.M2Zcr4BYK27XARjHg7hCsNDFi_ddp.Y.s6njtr7fnbQl0SD0gCcK2qNVxxKNhoukmuvpE4BPA_EyVEgNqJGjcBYh_GYqsapic4zKDWhcb4nOBAAzDR0XtydFiX3nj_TqDI0v_zNwuUK0K53tYdnI3HCSg  -  
 X-発信IP:[my_smtpserver_ipaddress] [.____。】認証-結果:mta153.mail.in.yahoo [ドット] COM = MYDOMAIN [ドット] COMから; 
 domainkeys = fail(bad sig); from = mydomain [dot] com; 
 dkim = pass(ok)
受信:my_smtpserver_ipaddress(EHLO my_smtpserver_hostname)
(my_domain_ip_address)からmta153.mail.in.yahoo [dot ] SMTPを使用したcom;水、
 2009年10月28日18:03:13 + 0530 
受信済み-SPF:パス(my_smtpserver_hostname:認証済み接続)
レシーバー= 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 ; 
受信:ローカルホストから([my_mailclient_ipaddress])(認証済みビット= 0)
 by my_smtpserver_hostname(8.14.2/8.14.2)
 ESMTP ID n9SCX6ml017820 for; 
 2009年10月28日水曜日08:33:08-0400 
 X-DKIM:SendmailDKIMフィルターv2.5.1 
 my_smtpserver_hostname n9SCX6ml017820 
 DKIM-署名:v = 1; a = rsa-sha256; c =シンプル/シンプル; d = mydomain [dot] com; s = mydomain; 
 t = 1256733190; BH = oBeBoCqUcTrV/4cgaMK58OrPkchqCMzB2Vax aRRph6g =; 
 H =から:へ:件名:日付:コンテンツタイプ:MIME-バージョン; [。____] 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 =シンプル; q = dns; b = 3Wazgw8 // NzW95FYyQGZdXDuc4mLkp6 + OdOIv224 + aC0imfrA3GoeSEIt0UTyaT9d ygfHc6OKuxy7cz0/a3FnA == 
メッセージID:
メッセージID:
メッセージID:
件名:zendからのメール
日付:2009年10月28日水曜日12:33:05 +0000 
コンテンツタイプ:マルチパート/代替; charset = "iso-8859-1"; 
 boundary = "= _ 2f9550c6ce7fb246f62d84f1221854d7" 
 MIMEバージョン:1.0 
 Content-Length:4918 
2
Ravisankar

OutlookクライアントがローカルMTAを使用しているのに、PHPスクリプトがローカルMTAを使用してメールを送信していないようです。別の組織に渡される前に、各メッセージにDKIM署名を適用する必要があるのはMTAです。したがって、PHP構成とコードを確認してください。

1
Phil Miller

私が正しく理解している場合、言われていることは次のとおりです。

  1. PHP(+ PEAR MAIL)がWebサーバーにインストールされます。
  2. それを介して電子メールを送信すると、Webサーバー上のローカルMTAが使用されます。
  3. DKIM署名の追加は別のMTAで行われます。
  4. したがって、PHP DKIMは、Outlookが正常である間は失敗します。

OutlookSMTPサーバーの設定をPHPの設定と比較し、同じであることを確認できます。そうでない場合は、使用しているのと同じSMTPサーバーを介してPHPリレーします。 Outlookによる。

1

以下は、そのyahooアカウントにメールを送信したときにyahooが受信したヘッダーです。このメールはPHP Zendフレームワークによって送信されます。

以前、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フレームワークを使用してメールを送信すると、dkimはpass(ok)に設定されますが、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

0
Ravi