1

我使用 Amazon SES Mailer(链接:https ://github.com/geoloqi/Amazon-SES-Mailer-PHP )和 PHP 中的一个简单循环向列表中的每个电子邮件地址发送一封电子邮件。

为了确保电子邮件能够发送出去,我将我自己的电子邮件地址附加到每个列表中。(多个列表不会一次全部发送)

每个列表都有一个唯一的电子邮件。

每隔一段时间,每隔几个列表(其中没有重复的电子邮件地址),我就会收到多达 4 份相同的电子邮件。我只能假设我的客户也收到了这些重复的电子邮件。

我一次又一次地检查了我的代码,我看不到每个地址多次发出请求的任何方式。

我第一次注意到这一点时,我向大约 200 个地址的列表发送了一封电子邮件,根据亚马逊 SES 管理控制台,它发送了超过 3000 封电子邮件。

为什么!?

我在 AWS SES 论坛上看到过有关此问题的其他帖子,但都没有回复。所以我想我会在这里尝试。

这是我的剧本的内容。

http://pastebin.com/TUk7bci8

编辑:我检查了电子邮件的标题,每封电子邮件都有不同的 ID,我听说这意味着我的代码以某种方式发送了重复,但我不知道如何发送。

帮助?谢谢。

4

2 回答 2

0

Probably you're building the emails in a loop, but forgetting to clear the To: addresses on each loop, so each loop sends to everyone you've already sent to, plus whatever 'new' person you've fetched on the current iteration, so:

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

so for the first result you fetch, $to is a@b.c. On the next iteration, it's a@b.c d@e.f, then a@b.c d@e.f g@h.i and so on...

Of course, this is just a guess. You've provided no code at all, so for all I know the problem is really because your server is frustrated from not getting to see the Venus/Sun transit due to clouds and is making your life miserable because of it.

于 2012-06-07T04:13:27.563 回答
0

我仍然不知道它为什么要发送多封电子邮件,但我用 JavaScript 重建了我的代码,对 PHP 进行了 axjax 调用,现在它工作正常。:) 没有更多的重复耶!xD

于 2012-06-08T04:49:14.803 回答