首页 文章

SNS订阅从未发送/接收?

提问于
浏览
1

我在My SNS控制台面板中创建了一个http用户 . 我需要保持每封电子邮件的状态(退回,投诉) .

我已经设置了一个可公开访问的http endpoints ,创建了对我的Topic的订阅,我点击了Subscribe按钮,弹出窗口显示“确认消息将被发送到订阅的 endpoints ” .

我只是不明白如何验证我的 endpoints 并从Amazon SNS收集发布数据 .

我把 endpoints url放在下面的格式中 .

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

当我从浏览器向 endpoints 请求写入数据时, endpoints 会将所有后期数据附加到文本文件中 . 我做错了什么 .

我一直试图订阅1天,没有运气 . 任何帮助非常感谢 .

2 回答

  • 1

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

    以下是一些可能性:

    • 您正在使用带有自签名证书的https(或来自不受SNS信任的公司的证书)(https://forums.aws.amazon.com/thread.jspa?messageID=204271&#204271

    • 您正在侦听端口80以外的端口(对于http),但尚未将端口指定给SNS

    • 您的ISP正在阻止您正在侦听的任何端口上的传入连接

    • 您正在侦听的端口上有防火墙阻止或路由器未转发连接 .

    • 你的PHP有问题

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

    • 你在哪里托管php(你的房子,EC2,托管服务等)

    • 你能从托管所在地以外的人那里点击php页面吗?

  • 1

    把它放在你的sns_notification.php中

    然后,您将收到发布到电子邮件中URL的正文,其中将显示来自amazon的消息,其中包含确认您的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);
    
    ?>
    

相关问题