Dans ce didacticiel, je vais vous parler du service de messagerie simple (SES) d'Amazon et vous expliquer comment l'utiliser. SES est un service de courrier électronique sortant, ce qui signifie qu'il vous permettra d'envoyer des courriers électroniques par son intermédiaire..
Pourquoi auriez-vous besoin d'un service de courrier électronique? Avec de nombreux fournisseurs d’hébergement, l’envoi de nombreux courriels (peut-être que de nombreux clients utilisent votre boutique en ligne) peut poser problème, car les hôtes ont tendance à avoir des limites. L'alternative standard consiste à utiliser Gmail pour envoyer des courriels, mais cela a aussi des limites. C’est là que SES intervient car il est conçu à cet effet. SES rend l'envoi de courriels plus fiable et, en utilisant une touche de magie, il aide également vos courriels à éviter les dossiers de SPAM.
Lorsque vous vous inscrivez sur Amazon, vous pouvez utiliser leur niveau gratuit pendant douze mois. Le niveau gratuit vous donnera accès à tous les services Amazon, mais avec des limites raisonnables. Par exemple, SES est limité à 2 000 messages par jour si vous optez pour leur hébergement EC2..
Sinon, le coût est de 0,10 USD par millier de messages. Ils considèrent un seul message comme un seul message adressé à un seul destinataire. Donc, si vous envoyez un e-mail à 1000 adresses e-mail, il vous en coûtera 10 cents.
La connexion de fichiers coûte 0,12 USD par Go..
Il existe actuellement deux manières d'utiliser SES:
Ils travaillent différemment. SMTP vous permet de vous connecter directement au serveur de messagerie, alors que la méthode de l'API vous permet d'envoyer des emails via le service AWS SES. Dans ce tutoriel, nous aborderons l'utilisation du serveur SMTP via un plugin WordPress, puis (pour les plus téméraires d'entre vous), nous verrons comment utiliser l'API SDK..
Avant de faire quoi que ce soit, nous aurons besoin d’un compte chez SES. Cela vous montrera comment préparer votre compte et envoyer des courriels à l'aide de la console..
Avant de pouvoir utiliser SES, vous devez créer un compte Amazon Web Services. Une carte de crédit est nécessaire, même pour le forfait gratuit. Pour vous inscrire, vous devez vous rendre sur http://aws.amazon.com/ses, suivre les instructions à l'écran et suivre quelques étapes de confirmation d'identité..
Après votre inscription, vous aurez accès à tous les services Amazon..
Que vous utilisiez le service en mode bac à sable ou en production, vous devrez vérifier votre adresse «De». Vous trouverez plus d'informations sur la vérification des adresses électroniques dans la documentation d'aide..
Une fois que vous avez reçu un courrier électronique, vous pouvez demander un accès à la production. Cela vous permettra d’envoyer des courriers électroniques à des adresses non vérifiées. Le nombre de courriels que vous pouvez envoyer par jour sera augmenté.
Remarque: Il est sage de jouer en mode bac à sable avant d'envoyer de vrais emails.
Bien qu'Amazon ne dispose pas actuellement de plug-in officiel, il existe toutefois des packages tiers qui peuvent faire le travail. Dans cet exemple, nous allons utiliser un plug-in appelé Amazon SES DKIM Mailer. Ceci est un plugin brillant, compatible avec différents services de messagerie, y compris Amazon SES. Cela signifie que si vous décidez de ne pas vous en tenir à SES, vous ne devez pas modifier votre site, mais uniquement les détails de la connexion..
Ce plugin est également fourni avec la prise en charge de DKIM (DomainKeys Identified Mail). DKIM est sur la réputation; en signant vos e-mails avec ceci, vous pouvez empêcher vos e-mails de se diriger directement vers le dossier de courrier indésirable.
Extrait de la documentation du plugin sur WordPress:
Comme nous l'avons vu précédemment, pour utiliser Amazon SES dans un environnement réel, vous devez faire une demande d'accès à la production. Sans cela, vous ne pourrez pas envoyer de courriels à des adresses que vous ne contrôlez pas.
Pour tirer parti de DKIM, vous devez générer une clé publique et privée, puis télécharger votre clé privée sur votre serveur (nous vous recommandons de la nommer «.htkeyprivate» et de la placer à la racine du site Web, puis de définir des autorisations de 400 ou 440).
Pour les utilisateurs Windows, il existe de nombreux générateurs de clés en ligne pour vous aider. Sur un serveur Linux ou Mac, vous pouvez générer vos propres clés DKIM avec un mot de passe «change-moi» à l'aide de la commande de terminal suivante:
openssl genrsa -des3 -passout pass: change-moi-out .htkeyprivate 1024 && openssl rsa -in .htkeyprivate -passin passe: change-moi -pubout -out .htkeypublic
Pour DKIM, définissez un enregistrement DNS TXT comme suit:
HÔTE: votre-secteur._domainkey.exemple.com. VALEUR TXT: v = DKIM1; k = rsa; g = *; s = email; h = sha1; t = s; p = votre-clé-publique;
Utilisez les tests intégrés pour vérifier que votre blog peut envoyer correctement des e-mails (signés DKIM).
Pour vous assurer que le plug-in est configuré pour fonctionner avec AWS SES, quelques paramètres doivent être configurés (voir capture d'écran ci-dessus)..
Vous pouvez maintenant utiliser le plugin Envoyer un message de test. Une fois que vous avez reçu le courrier électronique, vous êtes prêt à l'utiliser..
Pour les utilisateurs plus avancés, dans cette section, je vais vous montrer comment envoyer un courrier électronique à l'aide du SDK. Cela utilisera PHP, cependant, il existe SDK pour d'autres langues aussi.
Vous devrez d’abord installer le SDK. Pour PHP, il y a plusieurs façons de le faire. Compositeur, Phar, Zip et PEAR. Pour ce tutoriel, nous allons utiliser Composer, que vous devrez d'abord installer. Une fois Composer installé, vous devriez pouvoir y accéder à partir de l'interface de ligne de commande (CLI)..
Créez un fichier à la racine de votre projet appelé «composer.json», c’est là que vous placerez votre configuration. Puis ajouter:
"require": "aws / aws-sdk-php": "2. *"
Si vous avez utilisé le "composer.phar", vous pouvez le faire php composer.phar installer
ou sur les fenêtres compositeur installer
. Dans votre projet, vous pouvez ensuite ajouter require '/path/to/sdk/vendor/autoload.php';
Maintenant que cela est fait, vous avez accès à toutes les API de produit fournies par AWS. Cela signifie que vous pouvez maintenant envoyer des emails. Alors de quoi avez-vous besoin?
Voici un exemple:
utilisez Aws \ Ses \ SesClient; nécessite 'vendor / autoload.php'; $ client = SesClient :: factory (array ('key' => 'AWS_KEY', 'secret' => 'AWS_SECRET_KEY', 'region' => 'us-east-1')); $ emailSentId = $ client-> sendEmail (array (// la source est obligatoire 'Source' => '[email protected]', // la destination est obligatoire 'Destination' => array ('ToAddresses' => array (' @ email.com ')), // Message requis' Message '=> array (// Subject is required' Subject '=> array (// Données requises' Data '=>' Test SES ',' Jeu de caractères ' => 'UTF-8',), // Corps requis 'Corps' => tableau ('Texte' => tableau (// Données requises 'Données' => 'Mon email en texte brut', 'Jeu de caractères' = > 'UTF-8',), 'Html' => array (// Données requises 'Data' => 'Mon email HTML',' Charset '=>' UTF-8 ',),),' ReplyToAddresses '=> array (' [email protected] '),' ReturnPath '=>' [email protected] '));
Passons en revue cela. Nous avons d’abord ajouté l’utilisation de l’espace de noms pour que le code paraisse plus net. Ensuite, nous avons ajouté le fichier composer autoload.php.
Pour pouvoir envoyer un fichier, nous devons créer un client. Cette opération est effectuée à l'aide de SES Client Factory. Cela peut prendre de nombreux paramètres différents, mais le minimum dont nous avons besoin est la clé, le secret et la région. Vous pouvez trouver la clé et le secret dans IAM Management Console. La région est la région que vous avez utilisée pour le SSE..
Avec cela, vous avez maintenant la configuration du client et vous êtes prêt. Vous pouvez maintenant utiliser le client pour appeler sendEmail
. Il existe d'autres méthodes que vous pouvez appeler et vous pouvez trouver plus d'informations à leur sujet dans la documentation d'aide..
le sendEmail
La méthode prend un seul paramètre qui est un tableau. Ce tableau nécessite certaines données qu'il contient; par exemple, la source est obligatoire et doit être une adresse que vous avez validée dans votre compte pour permettre l'envoi d'e-mails..
Une fois que vous avez mis les emails que vous souhaitez utiliser et ajouté le contenu de votre email, vous pouvez maintenant exécuter le script et vous aurez envoyé votre premier email.!
Quel que soit le chemin que vous prenez pour la mise en œuvre, j'espère que ce didacticiel a suscité votre intérêt et vous a encouragé à jeter un coup d'œil à Amazon SES! Si vous rencontrez des problèmes lors de l'utilisation de SES, n'hésitez pas à demander conseil dans les commentaires..