1

我在我的 SNS 控制台面板中创建了一个 http 订阅者。我需要维护每封电子邮件的状态(退回、投诉)。

我已经设置了一个可公开访问的 http 端点,创建了对我的主题的订阅,我单击了订阅按钮,弹出窗口显示“将向订阅的端点发送一条确认消息。”

我只是不明白如何验证我的终端节点并从 Amazon SNS 收集帖子数据。

我已将端点 url 置于以下格式。

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

当我从浏览器向端点请求数据时,端点会将所有发布数据附加到文本文件中。我在做什么错了。

我已经尝试订阅1天了,没有运气。非常感谢任何帮助。

4

2 回答 2

2

注意:我假设问题是您的端点没有看到任何请求。如果那不是您的问题,请回复我并用您的问题更新您的问题。

以下是一些可能性:

  1. 您正在使用带有自签名证书的 https(或来自不受 SNS 信任的公司的证书)(https://forums.aws.amazon.com/thread.jspa?messageID=204271ᷯ
  2. 您正在侦听端口 80(用于 http)以外的端口,但尚未指定 SNS 的端口
  3. 您的 ISP 正在阻止您正在侦听的任何端口上的传入连接
  4. 您有防火墙阻止或路由器未在您正在侦听的端口上转发连接。
  5. 你的 PHP 出了点问题

一些让我更容易帮助你的问题:

  1. 您在哪里托管 php(您的房子、EC2、托管服务等)
  2. 您是否能够从托管位置以外的人访问 php 页面?
于 2013-10-21T22:40:21.367 回答
1

把它放在你的 sns_notification.php

然后,您将收到发布到电子邮件中 ​​url 的正文,其中将显示来自亚马逊的消息,其中包含一个链接以确认您的 SNS 主题订阅。

<?php

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

mail("YOUREMAILADDRESS@gmail.com", "ses callback", print_r($headers, 1)."\n---body---\n".$body);

?>
于 2013-11-11T19:38:10.903 回答