2012-06-07 26 views
0

使用Amazon SES Mailer(鏈接:https://github.com/geoloqi/Amazon-SES-Mailer-PHP)和PHP中的簡單循環來發送電子郵件到列表中的每個電子郵件地址。發送到單個地址的多個電子郵件,只有一個應該發送。 AWS SES

爲了確保電子郵件外出,我將自己的電子郵件地址附加到每個列表中。 (多個列表不會一次全部發送)

每個列表都有一個唯一的電子郵件地址。

偶爾會有幾個列表出現(它們中沒有重複的電子郵件地址),我收到了最多4份同一封電子郵件。我只能假設我的客戶也收到這些重複的電子郵件。

我一遍又一遍檢查了我的代碼,看不到每個地址都有多次請求。

我第一次注意到這一點,我發送了一封電子郵件到約200個地址列表,根據它發送超過3000封電子郵件的亞馬遜SES管理控制檯。

爲什麼?

我在AWS SES論壇上看到過有關這個問題的其他帖子,但是他們都沒有迴應。所以我想我會在這裏嘗試。

下面是我的腳本的膽量。

http://pastebin.com/TUk7bci8

編輯:香港專業教育學院檢查郵件的標題也有不同的ID爲每封電子郵件,我聽說這意味着不知我的代碼發送重複的,但我不能弄清楚如何。

幫助?謝謝。

回答

0

也許你正在建立一個循環中的電子郵件,但忘記清除每個循環中的To:地址,因此每個循環都會發送給您已發送給每個人,以及您提取的任何「新」人當前迭代,所以:

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

所以你取的第一個結果,$的就是[email protected]。在下一次迭代中,它是[email protected] [email protected],然後[email protected] [email protected] [email protected]依此類推......

當然,這只是一個猜測。你根本沒有提供任何代碼,所以我知道這個問題真的是因爲你的服務器因爲沒有看到由於雲層造成的金星/太陽過境而感到沮喪,並且正因爲它而讓你的生活變得悲慘。

+0

已添加指向我的代碼的鏈接。 – Nicekiwi

0

我仍然不知道爲什麼它會發送多路電子郵件,但我用JavaScript重建了我的代碼,使PHP調用了axjax,現在它工作正常。 :)沒有更多的重複耶! xD

相關問題