将发送到AWS SES地址的管道电子邮件发送到EC2上的PHP脚本

将发送到AWS SES地址的管道电子邮件发送到EC2上的PHP脚本,php,amazon-web-services,amazon-ec2,amazon-ses,Php,Amazon Web Services,Amazon Ec2,Amazon Ses,我们在亚马逊SES上建立了一个域名。我需要通过管道将传入的电子邮件发送到特定地址,然后发送到EC2实例上的PHP脚本进行处理。我已经在Cpanel的共享服务器上使用转发器完成了这项工作,转发器是|/opt/alt/php56/usr/bin/php-q/home/somesite/public_html/folder/somescript.php,但我不知道如何在SES上设置类似的东西(如果可能的话),而谷歌也不是我寻找解决方案的朋友。所以我的具体问题是:如何在SES中设置这种转发器,将传入的电

我们在亚马逊SES上建立了一个域名。我需要通过管道将传入的电子邮件发送到特定地址,然后发送到EC2实例上的PHP脚本进行处理。我已经在Cpanel的共享服务器上使用转发器完成了这项工作,转发器是
|/opt/alt/php56/usr/bin/php-q/home/somesite/public_html/folder/somescript.php
,但我不知道如何在SES上设置类似的东西(如果可能的话),而谷歌也不是我寻找解决方案的朋友。所以我的具体问题是:如何在SES中设置这种转发器,将传入的电子邮件通过管道传输到EC2上的PHP脚本


感谢您的帮助。

假设SES已设置为正确接收电子邮件,我认为您需要以下内容:

  • 启动一个小ec2实例,安装php和apache,将php脚本放在公共html目录中(通常
    /var/www/html
    )。目标是使其他AWS服务可以直接访问php脚本

  • 现在,设置一个,使其将整个电子邮件正文转发到一个特定的url,在本例中是指向php脚本的url

  • 现在,SES接收到的所有电子邮件都将触发SNS操作,该操作将调用php脚本,并将电子邮件正文作为脚本的参数,并且可以对其进行处理

    但是您需要确保不允许外部世界访问您的ec2实例,因此请修改安全组,使其仅允许来自同一子网内的http请求(加上外部ssh连接,以便您可以管理该框)

    对上述内容的一个增强是托管php脚本,该脚本将电子邮件内容作为一个函数直接在AWS Lambda中处理,而无需支付运行ec2实例的费用,该实例大部分时间都在那里无所事事

    Php是一种受Lambda支持的语言

    我建议按照我最初建议的方式来做,然后尝试将php脚本迁移到Lambda中以节省资金(Lambda对于大多数工作负载来说几乎是免费的,直到事情变得荒谬)

    非常好——谢谢你,Ryan。我要试一试。我并不特别关心EC2实例的全职运行——这将得到每天(如果不是每小时)的操作,而且成本低得离谱我查看了Lambda,但如果不做一些额外的修改,PHP似乎不是一种被接受的语言。