2017-05-08 1 views
1

Nous avons un domaine mis en place sur Amazon SES. J'ai besoin de rediriger les emails entrants vers une adresse spécifique vers un script PHP sur une instance EC2 pour traitement. Je l'ai fait sur des serveurs partagés dans Cpanel en utilisant un transitaire à |/opt/alt/php56/usr/bin/php -q /home/somesite/public_html/folder/somescript.php mais je ne sais pas comment configurer quelque chose de similaire (si possible) sur SES, et Google n'a pas été mon ami dans mes tentatives pour trouver une solution. Donc, ma question spécifique est: comment puis-je configurer ce type de redirecteur dans SES pour acheminer les emails entrants vers un script PHP sur EC2?Piping email envoyé à l'adresse AWS SES au script PHP sur EC2

Merci pour toute aide.

Répondre

0

Si l'on suppose SES a été configuré pour recevoir correctement les e-mails, je pense que vous voulez quelque chose comme ce qui suit:

  1. Démarrer une petite instance EC2, installer php et apache, ajoutez votre script php dans le public html répertoire (généralement /var/www/html). L'objectif est de rendre votre script php accessible aux autres services AWS directement.

  2. Maintenant, configurez un SES "Receipt Rule" pour provoquer un SNS "Action" qui transfère l'intégralité du corps de l'e-mail à une URL spécifique, dans ce cas l'URL de votre script PHP.

Maintenant, tous les e-mails sont reçus par SES se déclenche l'action SNS qui appelle votre script php avec le corps de l'email en tant que paramètre à votre script, et il est disponible pour traiter. Mais vous voudrez vous assurer que vous n'autorisez pas l'accès à votre instance ec2 vers le monde extérieur, donc modifiez le groupe de sécurité pour autoriser uniquement les requêtes http à l'intérieur du même sous-réseau (plus les connexions ssh externes pour pouvoir gérer la boîte). Une amélioration de ce qui précède consisterait à héberger votre script php qui traite le contenu des e-mails directement dans AWS Lambda au lieu d'avoir à payer pour exécuter une instance ec2 qui ne fait rien la plupart du temps.

Php est un langage pris en charge par Lambda.

Je vous conseille de faire les choses comme je l'ai suggéré au début, puis essayer de migrer le script php dans Lambda pour économiser de l'argent (Lambda est à peu près gratuit pour la plupart des charges de travail jusqu'à ce que les choses deviennent absurdes)

+0

Excellent - merci pour cela, Ryan. Je vais essayer. Je ne suis pas particulièrement préoccupé par le fait que l'instance EC2 fonctionne à plein temps - cela va avoir une action quotidienne (si ce n'est pas horaire), et le coût est ridiculement bon marché. :) J'ai regardé Lambda mais il ne semblait pas que PHP était une langue acceptée sans apporter de modifications supplémentaires. – pixelsandcode