6

PHP と Zend_Mail を使用してサーバーからメールを送信しようとしています。私はsmtpトランスポートを使用しています。購読の確認メールです。しかし、何らかの理由で、送信したメールに奇妙なヘッダーがあり、メールがスパムフォルダーに送られます (メールを受信した gmail で確認できます):

 Message-Id: <50ee94f7.84fc440a.62dc.ffff9685SMTPIN_ADDED_MISSING@mx.google.com>
    Received: (qmail 10943 invoked from network); 10 Jan 2013 10:16:22 -0000
    Received: from unknown (HELO searchboxindustries.com)  (username@searchboxindustries.com@207.162.215.30)

リスト ヘッダーの「受信者: 不明」とはどういう意味ですか? 電子メールをスパムにすることはできますか? この奇妙なヘッダーを回避し、電子メールをスパム フォルダから回避するにはどうすればよいですか? coode に問題があるのでしょうか、それともこのドメインの DNS 設定に問題があるのでしょうか?

ヘッダーを設定するコードは次のとおりです。

$mailer->setFrom($params['list_email'], $params['list_from_name']);
$mailer->setReplyTo($params['list_email']);

$mailer->addHeader('Sender', $params['list_email'] . '.searchboxindustries.com');                       
$mailer->setReturnPath($params['list_email'] . '.searchboxindustries.com');         

$mailer->addTo($params['email_address']);

トランスポートを構成するコード:

$emailConfig = $this->getOption('email');                                   
        $transport = new Zend_Mail_Transport_Smtp($emailConfig['server'], $emailConfig);
Zend_Mail::setDefaultTransport($transport);

application.ini からの電子メール構成:

   email.name  = searchboxindustries.com
   email.server = searchboxindustries.com
   email.username = user_name
   email.password = password
   email.auth = plain
   email.port = 587

そのような電子メールのヘッダーは次のとおりです。

Delivered-To: gala19612009@gmail.com
Received: by 10.76.94.204 with SMTP id de12csp111150oab;
        Fri, 11 Jan 2013 01:58:49 -0800 (PST)
X-Received: by 10.69.0.8 with SMTP id au8mr228881813pbd.58.1357898329423;
        Fri, 11 Jan 2013 01:58:49 -0800 (PST)
Return-Path: <opp@mail15.com.searchboxindustries.com>
Received: from smtp1-1.searchboxindustries.com (mta1.searchboxindustries.com. [207.162.215.30])
        by mx.google.com with SMTP id d7si4727205paw.95.2013.01.11.01.58.48;
        Fri, 11 Jan 2013 01:58:48 -0800 (PST)
Received-SPF: pass (google.com: domain of opp@mail15.com.searchboxindustries.com designates 207.162.215.30 as permitted sender) client-ip=207.162.215.30;
Authentication-Results: mx.google.com;
       spf=pass (google.com: domain of opp@mail15.com.searchboxindustries.com designates 207.162.215.30 as permitted sender) smtp.mail=opp@mail15.com.searchboxindustries.com
Message-Id: <50efe258.a74b420a.3351.12fcSMTPIN_ADDED_MISSING@mx.google.com>
Received: (qmail 21583 invoked from network); 11 Jan 2013 09:58:48 -0000
Received: from unknown (HELO searchboxindustries.com) (username@searchboxindustries.com@207.162.215.30)
  by searchboxindustries.com with SMTP; 11 Jan 2013 09:58:48 -0000
From: Oleg <opp@mail15.com>
Reply-To: opp@mail15.com
Sender: opp@mail15.com.searchboxindustries.com
Return-Path: opp@mail15.com.searchboxindustries.com
To: gala19612009@gmail.com
Subject: List1: Confirm Subscription
Date: Fri, 11 Jan 2013 04:58:48 -0500
Content-Type: text/html; charset=utf-8
Content-Transfer-Encoding: quoted-printable
Content-Disposition: inline
MIME-Version: 1.0

SPFは問題ないようです。メールの送信元の IP はブラックリストに登録されていません。

DNSに変更があり、ヘッダーがあります:

Message-Id: <50f41c80.67e3440a.2d32.6aabSMTPIN_ADDED_MISSING@mx.google.com>
Received: (qmail 18457 invoked from network); 14 Jan 2013 14:55:59 -0000
Received: from unknown (HELO smtp1-1.searchboxindustries.com) (username@searchboxindustries.com@207.162.215.30)
  by searchboxindustries.com with SMTP; 14 Jan 2013 14:55:59 -0000

リバース DNS が設定されています。207.162.215.30 は stmp1.searchboxindustries.com に解決されます。じゃあ何が問題なの?ヘッダ Received : from Unknown: の括弧内の変なフォーマットは何だろう?

 username@searchboxindustries.com@207.162.215.30
4

3 に答える 3

3

これはReceived: from unknown単純に、ある SMTP サーバーが逆引き DNS を提供していない別のサーバーから受信したことを意味します。通常、ある SMTP サーバーから別の SMTP サーバーへのホップごとReceived:に、メッセージの先頭に 1 つのヘッダーが追加されます (ただしqmail、2 つ追加されます。これは例で確認できます)。

逆引き DNS がないことを懸念している場合、および 207.162.215.30 があなたのものである場合は、ISP に逆引き DNS を提供するよう説得することができます。多くの ISP は拒否するか (「コンシューマー」ブロードバンド プランを使用している場合)、このサービスを提供するために別のホスティング契約が必要になります。(「逆引き DNS」とは、誰かが DNS に「207.162.215.30 の DNS 名は何ですか」と問い合わせると、答えは「searchboxindustries.com」またはおそらく別のホスト名になることを意味しますが、「不明」ではありません。)

逆引き DNS ルックアップは通常、メッセージのテキストではなく、TCP ヘッダーに基づいて実行されます。SMTP サーバーが 123.45.67.89 からの接続を受信すると、そのアドレスに対して逆引き DNS を実行し、結果をReceived:ヘッダーに追加します。つまり、メッセージ ヘッダーまたはエンベロープ ヘッダーの内容は、この結果にまったく影響しません。

受信者は、これらのヘッダーで好きなことを行うことができます。このヘッダーだけ (このヘッダーの存在、またはヘッダーの内容から明らかなリバース DNS 情報の欠如) だけで、誰かがあなたのメッセージをスパムとして分類するのに十分であるとは考えにくいですが、実際に何を制御する方法はありません。受信者はこの情報を使用します。

どちらかといえば、あなたの質問は、有料であなたに代わってこれらのメッセージを送信する専門的なサービスを検討する必要があることを示しています.

于 2013-01-15T12:46:13.037 に答える
0

私のサーバーには追加の (php.)ini 設定が必要です。これで問題が解決する可能性がありますか?

ini_set('sendmail_from', 'enterAValidEmailAddr@yourDomainHere');
于 2013-01-11T11:15:31.543 に答える
0

次のオプションを試して、問題の場所を見つけてください。

  1. メールに本文はありますか?メール本文があると思います。
  2. 問題を切り分けるために、別の代替 SMTP (例: gmail smtp) を使用して試すことができます。
  3. または、smtp を使用せずに直接 PHP メールを使用することもできます。
于 2013-01-11T10:14:56.807 に答える