Så skickar du E-post med Amazon SES

Amazon SES (Simple Email Service) är en relativt ny tjänst från Amazon som ingår i deras sfär med molntjänster även kallat Amazon Web Services (AWS). Tjänsten är till för dig som inte orkar hålla på att konfigurera Sendmail/qmail och hålla koll på köer osv.

Det tar några timmar att komma igång och köra och i mitt fall så valde jag Amazon SES för att skicka ut E-post då någon gör lösenordsåterställning på BloggBackup och Blogbackupr. Kostnaden är $0.10 per 1000 E-brev vilket jag tycker är okej och det finns ingen bindningstid, uppsägningstid osv.

Så här går du till väga för att börja skicka E-post:

1. Skapa ett Amazon AWS-konto samt Amazon SES-behörighet (jag var tvungen att verifiera mig via telefonen då en automatisk röst läser upp en PIN-kod).

2. Ladda hem Amazon SES scripts där ses-verify-email-address.pl ingår. Du måste ange din AWSAccessKeyId samt AWSSecretKey i en fil som perl-scriptet använder sig av. Dessa uppgifter hittar du Account -> Security Credentials. Verifiera sedan din E-post så du kan börja att skicka från den (Amazon mailar en länk som du måste klicka på).

3. Konfiguera SPF och lägg till include:amazonses.com – Eftersom jag använder Google Apps sedan tidigare så har jag även include:_spf.google.com med i min SPF som ser ut så här:

”v=spf1 mx a include:getanewsletter.com include:_spf.google.com  include:amazonses.com ~all”

4. Ladda hem AWS PHP SDK med hjälp av pear:

# pear channel-discover pear.amazonwebservices.com

# pear install aws/sdk

5. Ladda hem Amazon SES PHP Mailer från GitHub: https://github.com/geoloqi/Amazon-SES-Mailer-PHP

6. Testa att skicka enligt ”Usage” som ser ut enligt följande:

<?php   require_once('AmazonSESMailer.php'); // Create a mailer class with your Amazon ID/Secret in the constructor  $mailer = new AmazonSESMailer('your id', 'your secret'); // Then use this object like you would use PHPMailer normally!  $mailer--->AddAddress('[email protected]');
$mailer->SetFrom('[email protected]');
$mailer->Subject = 'Sent from Amazon SES';
$mailer->MsgHtml('This is a test');
$mailer->Send();
?>

7. Begär fullständig access så du kan skicka E-post till vem som helst (utanför sandbox). En verifiering som tar max 24h.

Observera att Amazon SES har en standardgräns på 1000 st E-post om dagen. Du kan dock begära högre quota. Jag tror även att dessa 1000 dagliga E-postbrev om dagen är gratis om du skickar från en Amazon EC2 instans.

4 reaktioner på ”Så skickar du E-post med Amazon SES

  1. Bra guide Jonas!

    Kan även tipsa om att det är busenkelt att få igång Amazon SES tillsammans med WordPress om man skickar ut mycket mail eller bara som du skriver inte orkar pilla med Sendmail.

    Bara att sätta upp ett amazon konto och installera pluginet WP SES – http://wordpress.org/extend/plugins/wp-ses/

  2. Tack för en lättgriplig intro till Amazon SES! Själv använder jag Googles mail-service till GAE eftersom gränssnittet det ger en sådan flexibilitet. Det är superenkelt att låta alla berörda användare få möjlighet att maila via tjänsten direkt från ett webbgränssnitt eller t.ex. en extern sajt via ett JSON-baserat webb-API. Priset är samma som hos Amazon, $0,10 per 1 000 utskick.

    Beskrivning, mail-service: http://code.google.com/appengine/docs/python/mail/

  3. Hej Jonas!

    Mailen som skickas via Amazon SES är som klartext va? Alltså ingen SSL/TLS?

    Känns inte helt säkert att skicka lösenord etc i mail som är okrypterade…

    Simma lugnt!

Lämna ett svar

E-postadressen publiceras inte. Obligatoriska fält är märkta *