Un dels problemes que ens podem trobar al treballar amb les instàncies de Amazon AWS és que alguns destinataris etiquetin els missatges enviats des de la instància com a SPAM. Això es degut al tractament que Amazon AWS fa dels seus rangs d’IP.
Per solucionar el problema es pot utilitzar Amazon Simple Email Service (Amazon SES). Amazon SES és un servei d’enviament massiu de missatges de correu electrònic. Amazon SES permet enviar fins a 2000 missatges en 24 hores gratuïts, sempre que aquest s’enviïn des d’una instància d’Amazon AWS. Quantitat suficient per a la majoria d’aplicacions.
A http://docs.amazonwebservices.com/ses/latest/DeveloperGuide/ hi ha tota la documentació necessària per utilitzar el servei.
Per integrar el servidor Postfix amb Amazon SES es pot utilizar un conjunt d’scripts que es poden descarregar des del l’enllaç següent:
http://aws-catalog-download-files.s3.amazonaws.com/AmazonSES-2011-02-02.zip
Avanç de d’instal·lar el scripts hem d’instal·lar els paquets següent en cas d’Ubuntu.
apt-get install ncftp
apt-get install libio-all-lwp-perl
perl -MCPAN -e 'install LWP::Protocol::https'
Instal·lar scripts AmazonSES:
cd /opt/AmazonSES
wget http://aws-catalog-download-files.s3.amazonaws.com/AmazonSES-2011-02-02.zip
mv bin/* .
tar xvzf AmazonSES-2011-02-02.zip
Generar el fitxer amb les credencials de la compte d’Amazon AWS
AWSAccessKeyId=xxxxxxxxxxxxxxxxxxxxxx
AWSSecretKey=xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx
---- aws-credentials
Canviar els permisos del fitxer aws-credentials
Per poder enviar a través de Amazon SES cal verificar l’adreça origen a Amazon. En cas contrari, Amazon SES denegará els enviaments. També cal actualitzar els registres SPF del domini des d’on s’enviaran els emails.
Verificar adreça
./ses-verify-email-address.pl -k aws-credentials -v sender@domain.com
Afegir el el registr TXT del domini els registres següents:
spf2.0/pra include:amazonses.com ?all
Integració amb Postfix
La integració de Postfix amb Amazon SES permet que tots els missatges enviats des de la intància siguin enviats a través de Amazon SES i no siguin rebutjats pels filtres antispam dels destinataris. D’aquesta manera no cal modificar les aplicacions que s’executen a la instància perquè utilitzin directament Amazon SES, sinó que poden seguir enviant a través del servidor SMTP local.
Per integrar Amazon SES a Postfix cal definir un nou mailer a Postfix:
Editar /etc/postfix/master.cf i afegir les linies següents:
# Amazon SES mailer
#
aws-email unix - n n - - pipe
flags=R user=mail argv=/opt/AmazonSES/ses-send-email.pl -r -k /opt/AmazonSES/aws-credentials -e https://email.us-east-1.amazonaws.com -f ${sender} ${recipient}
Editar /etc/postfix/main.cf i afegir o modificar el parametre default_transport
# Amazon SES
#
default_transport = aws-email
Donar accés a perl a la llibreria SES.pm
Finalment cal reiniciar postfix.
