1

Amazon SES Mailer (リンク: https://github.com/geoloqi/Amazon-SES-Mailer-PHP ) と PHP の単純なループを使用して、リストの各 E メールアドレスに E メールを送信します。

メールが送信されていることを確認するために、各リストに自分のメール アドレスを添付しました。(複数のリストを一度に送信することはできません)

各リストには固有の電子メールがあります。

ときどき、(メールアドレスが重複していない)いくつかのリストが送信されるたびに、同じメールのコピーを最大 4 通受け取りました。私の顧客もこれらの重複したメールを受信して​​いるとしか思えません。

コードを何度も確認しましたが、アドレスごとに複数回リクエストが行われている様子は見られません。

これに初めて気付いたとき、約 200 のアドレスのリストにメールを送信していました。Amazon SES 管理コンソールによると、3000 通以上のメールが送信されました。

どうして!?

この問題に関する AWS SES フォーラムの他の投稿を見たことがありますが、いずれも回答がありません。だからここにしようと思いました。

これが私のスクリプトの根性です。

http://pastebin.com/TUk7bci8

編集: メールのヘッダーを確認しましたが、メールごとに異なる ID があります。コードが重複して送信されたことを意味すると聞きましたが、その方法がわかりません。

ヘルプ?ありがとう。

4

2 に答える 2

0

おそらく、ループでメールを作成していますが、To:各ループでアドレスをクリアするのを忘れているため、各ループは、既に送信したすべての人に加えて、現在の反復でフェッチした「新しい」人に送信します。 :

while($row = fetch_row_from_db()) {
   $to .= $row['email'];  <---concatenating, not resetting.
   send_email($to, $message);
}

したがって、最初に取得した結果の $to はa@b.c. 次の反復では、それは でありa@b.c d@e.f、その後a@b.c d@e.f g@h.i...

もちろん、これは単なる推測です。あなたはコードをまったく提供していないので、サーバーが雲のために金星/太陽の通過を見ることができないことに不満を感じており、それが原因であなたの人生を悲惨なものにしているため、問題が実際にあることを私は知っています.

于 2012-06-07T04:13:27.563 に答える
0

なぜ複数のメールを送信していたのかはまだわかりませんが、JavaScript でコードを再構築し、PHP に対して axjax 呼び出しを行ったところ、現在は正常に動作しています。:) もう重複はありません。xD

于 2012-06-08T04:49:14.803 に答える