I denne opplæringen skal jeg snakke om Amazons enkle e-posttjeneste (SES) og gå over noen måter du kan bruke den på. SES er en utgående e-posttjeneste, noe som betyr at det vil tillate deg å sende e-postmeldinger gjennom det.
Hvorfor ville du trenge en e-posttjeneste skjønt? Vel, med mange hosting-leverandører, sender mange e-postmeldinger (kanskje du har mange kunder som bruker nettbutikken din) kan være et problem som verter har en tendens til å ha begrensninger. Standardalternativet er å bruke Gmail til å sende e-post, men det har også begrensninger. Dette er hvor SES kommer inn som det er designet for dette eksakte formålet. SES gjør sending av e-post mer pålitelig, og ved hjelp av et snev av magi, hjelper det også e-postene dine til å unngå SPAM-mapper.
Når du registrerer deg for Amazon, kan du bruke sine gratis tier i tolv måneder. Det frie nivået gir deg tilgang til alle Amazonas tjenester, men med rettferdige begrensninger. For eksempel er SES begrenset til 2000 meldinger om dagen hvis du velger deres EC2-hosting.
Ellers er prisen $ 0,10 per tusen meldinger. De anser en enkelt melding som en melding til en enkelt mottaker. Så hvis du sender en e-post til 1000 e-postadresser, vil det koste deg 10 dollar cent.
Vedlegg av filer koster $ 0,12 per GB.
Det er nå to måter å bruke SES på:
De jobber annerledes; Med SMTP kan du koble direkte til e-postserveren, mens API-metoden lar deg sende e-postmeldinger via AWS SES-tjenesten. I denne opplæringen vil vi dekke bruk av SMTP-serveren via et WordPress-plugin, da (for de mer dristige blant dere) tar vi en titt på å bruke SDK API.
Før vi gjør noe, trenger vi en konto på SES. Dette vil vise deg hvordan du får din konto klar og å sende e-postmeldinger ved bruk av konsollen.
Før du kan bruke SES må du registrere deg for en Amazon Web Services-konto - et kredittkort kreves, selv for gratisplanen. For å registrere deg må du gå til http://aws.amazon.com/ses, følg instruksjonene på skjermen og fullfør noen få identitetsbekreftelsestrinn.
Etter at du har registrert deg, har du tilgang til alle Amazon-tjenestene.
Uansett om du bruker tjenesten i sandkasse eller produksjon, må du verifisere din "Fra" -adresse. Du finner mer informasjon om bekreftelse av e-postadresser i hjelpedokumentasjonen.
Når du har mottatt en e-post, kan du be om produksjonstilgang. Dette vil tillate deg å sende e-post til ubekreftede e-postadresser. Antall e-postmeldinger du kan sende per dag vil bli hevet.
Merk: Det er lurt å spille i sandbox-modus før du sender ekte e-poster.
Selv om Amazon ikke har for øyeblikket en offisiell plugin, er det imidlertid tredjepartspakker der ute enn det som kan gjøre jobben. I dette eksemplet bruker vi et plugin som heter Amazon SES DKIM Mailer. Dette er et glimrende plugin, kompatibelt med forskjellige e-posttjenester, inkludert Amazon SES. Dette betyr at hvis du ikke bestemte deg for å holde fast med SES, trenger du ikke å endre nettstedet ditt, bare koblingsdetaljer.
Denne plugin leveres også med DomainKeys Identified Mail (DKIM) -støtte. DKIM handler om omdømme; Ved å signere e-postene dine med dette kan du forhindre at e-postene dine går rett ut av søppelpostkassen.
Tatt fra plugin dokumentasjonen på WordPress:
Som vi diskuterte før, for å bruke Amazon SES i et ekte miljø, må du søke om produksjonstilgang. Uten dette vil du ikke kunne sende e-post til adresser som du ikke kontrollerer.
For å dra nytte av DKIM må du generere en offentlig og privat nøkkel og laste opp din private nøkkel til serveren din (vi anbefaler å navngi den ".htkeyprivate" og plassere den i nettsiden rot og sette inn tillatelser til 400 eller 440).
For Windows-brukere er det mange nettverksnøkkelgeneratorer for å hjelpe dette. På en linux-server eller Mac kan du generere dine egne DKIM-taster med et passord for "change-me" ved hjelp av følgende terminalkommando:
openssl genrsa -des3 -pass pass: change-me-out .htkeyprivate 1024 && openssl rsa -in .htkeyprivate -passin pass: change-me -pubout-out .htkeypublic
For DKIM, sett en DNS TXT-plate noe som:
HOST: your-selector._domainkey.example.com. TXT VALUE: v = DKIM1; k = rsa; g = *; s = e; h = SHA1; t = s; p = your-offentlig-nøkkel;
Bruk de innebygde testene for å sjekke at bloggen din kan sende ut (DKIM signert) e-post.
For å sikre at plugin er satt til å fungere med AWS SES, er det noen innstillinger som må konfigureres (se skjermbilde over).
Du kan nå bruke pluginets Send en testmelding. Når du har mottatt e-posten, er du helt klar til å bruke den.
For mer avanserte brukere, i denne delen skal jeg vise deg hvordan du sender en e-post ved hjelp av SDK. Dette vil bruke PHP, men det finnes også SDK for andre språk.
Du må først installere SDK. For PHP er det noen måter å gjøre dette på; Komponist, Phar, Zip og PEAR. For denne opplæringen skal vi bruke Komponist, som du må installere først. Når du har installert Composer, bør du kunne få tilgang til det fra Command Line Interface (CLI).
Opprett en fil i roten til prosjektet ditt, kalt "composer.json", dette er her du vil sette konfigurasjonen din. Legg så til:
"krever": "aws / aws-sdk-php": "2. *"
Hvis du har brukt "composer.phar" så kan du gjøre det php composer.phar installere
eller på vinduer komponent installasjon
. I prosjektet kan du legge til krever '/path/to/sdk/vendor/autoload.php';
Nå som du har gjort dette, har du tilgang til alle produkt APIer som AWS tilbyr. Dette betyr at du nå kan sende e-post. Så hva trenger du?
Her er et eksempel:
bruk Aws \ Ses \ SesClient; krever 'leverandør / autoload.php'; $ client = SesClient :: fabrikk (array ('key' => 'AWS_KEY', 'secret' => 'AWS_SECRET_KEY', 'region' => 'oss-øst-1')); $ emailSentId = $ client-> sendEmail (array (// Kilde kreves 'Source' => '[email protected]', // Destinasjon er nødvendig 'Destination' => array ('ToAddresses' => array @Email.com ')), / / Melding er påkrevd' Message '=> array (// Emne er nødvendig' Subject '=> array (// Data er påkrevet' Data '=>' SES Testing ',' Charset ' => 'UTF-8',), // Kropp er påkrevd 'Body' => array ('Text' => array (// Data er påkrevd 'Data' => 'My plain text email', 'Charset' = ' > 'UTF-8',), 'Html' => array (// Data kreves 'Data' => 'Min HTML-e-post',' Charset '=>' UTF-8 ',),),' ReplyToAddresses '=> array (' [email protected] '),' ReturnPath '=>' [email protected] '));
La oss løpe gjennom det. Først la vi til bruk av navneområdet slik at koden ser renere ut. Da la vi komponisten autoload.php-filen til.
For å kunne sende en fil, må vi lage en klient. Dette gjøres ved å bruke SES Client Factory. Dette kan ta mange forskjellige innstillinger, men det minste minimumet vi trenger er nøkkelen, hemmelig og region. Du finner nøkkelen og hemmeligheten i IAM Management Console. Regionen er regionen du har brukt til SES.
Med det har du nå klientoppsettet og klar til å gå. Du kan nå bruke klienten til å ringe Send e-post
. Det finnes andre metoder du kan ringe, og du kan finne mer informasjon om dem i hjelpedokumentasjonen.
De Send e-post
Metoden tar en enkelt parameter som er en matrise. Dette arrayet krever visse data i den; for eksempel kilden er nødvendig og må være en adresse du har validert i kontoen din for å tillate sending av e-post.
Når du har lagt inn e-postene du vil bruke og lagt til innholdet i e-posten din, kan du nå kjøre skriptet og du skal ha sendt din første e-post!
Uansett hvilken gjennomføringsvei du tar, håper jeg denne opplæringen har piqued din interesse og oppfordret deg til å ta en titt på Amazon SES! Hvis du kommer over noen problemer når du bruker SES, er du velkommen til å be om råd i kommentarene.