2013-10-19 74 views
1

我在My SNS控制檯面板中創建了一個http訂戶。我需要保持每封電子郵件的狀態(反彈,投訴)。SNS訂閱永不發送/接收?

我已經設置了公開訪問HTTP端點,創建訂閱我的主題,我點擊訂閱按鈕,並在彈出的說:「一個確認信息將被髮送到訂閱端點。」

我只是不明白如何驗證我的終端並從Amazon SNS收集發佈數據。

我已經把終點URL以下面的格式。

http://example.com/amazon_sns/sns_notification.php

端點都將POST數據追加到一個文本文件,當請求從瀏覽器中的數據寫入到端點。 我在做什麼錯了。

我一直在嘗試訂閱1天,沒有運氣。任何幫助非常感謝。

回答

1

注意:我假設問題是您的端點沒有看到任何請求。如果這不是你的問題,請回復我並更新你的問題與你的問題是什麼。

這裏有一些可能性:

  1. 您正在使用HTTPS使用自簽名的證書(或來自未通過SNS信任的公司CERT)(https://forums.aws.amazon.com/thread.jspa?messageID=204271&#204271
  2. 您現在收聽的上端口80以外的端口(對於http),但未指定端口到SNS
  3. 您的ISP阻止任何您正在偵聽的端口上的傳入連接
  4. 您有防火牆阻止或路由器未在端口上轉發連接你在聽。
  5. 某處有問題,你的PHP

一些問題,這將使它更容易爲我幫你:

  1. 你在哪裏託管PHP(你的房子,EC2,託管服務,等等)
  2. 你能夠從它託管的地方以外的某個人打到php頁面嗎?
+0

「您正在使用https與自簽名證書」 - 這是我的問題。謝謝你的提示。 – JoshHighland

1

在sns_notification.php將這個

然後,您將收到發佈到網址與電子郵件的身體,其中來自亞馬遜的消息將帶有鏈接似乎證實了你的SNS主題訂閱。

<?php 

$headers = apache_request_headers(); 
$body = @file_get_contents('php://input'); 

mail("[email protected]", "ses callback", print_r($headers, 1)."\n---body---\n".$body); 

?> 
+0

好的!好想法!!我正在檢查日誌文件以查看亞馬遜何時擊中了我的服務器,但是我們的編碼人員起初配置錯誤,現在我們無法讓亞馬遜重新發送確認消息(點擊重新發送待定訂閱上的確認一個bajillion次) –