AWS SES con Postfix
Amazon Simple Email Service (SES)
Amazon Simple Email Service (SES) è un servizio di posta elettronica gestito che ti consente di inviare e ricevere email utilizzando indirizzi e domini di posta elettronica di proprietà dell’utente. In genere SES viene utilizzato per inviare e-mail senza ospitare un mail transfer agent (MTA). Possiamo usare le API su vari linguaggi di programmazione (Python, PHP, node, etc) ma esiste un’interessante possibilità ed è quella di configurare Postfix per inviare le e-mail tramite SES.
Per poter procedere su questa strada occorre ovviamente avere un account AWS e aver aggiunto e autorizzato il dominio (segui questa guida ).
Installazione e configurazione di Postfix
Prerequisiti e preparazione
Come prima cosa occorre verificare se il software sendmail sia installato e nel caso disinstallarlo.
A questo punto si può procedere con l’installazione di Postfix.
NB: durante la configurazione guidata scegli “No configuration” o “Satellite system”.
Nel secondo caso occorre indicare l’smtp server che sarà simile a:
[email-smtp.eu-central-1.amazonaws.com]:587
Procediamo con l’installazione di SASL
Simple Authentication and Security Layer (SASL) è un metodo per aggiungere autenticazione e sicurezza ai protocolli connection-based. Su RHEL il pacchetto si chiama cyrus-sasl-plain mentre su Debian si chiama libsasl2-modules.
Configuriamo Postfix
Configurare Postfix impostando il relayhost secondo la region di AWS (ES: email-smtp.eu-central-1.amazonaws.com).
# postconf -e "relayhost = email-smtp.eu-central-1.amazonaws.com:587" \
"smtp_sasl_auth_enable = yes" \
"smtp_sasl_security_options = noanonymous" \
"smtp_sasl_password_maps = hash:/etc/postfix/sasl_passwd" \
"smtp_use_tls = yes" \
"smtp_tls_security_level = encrypt" \
"smtp_tls_note_starttls_offer = yes"
All’interno del file /etc/postfix/sasl_passwd inserire le credenziali prese dalla console AWS.
email-smtp.eu-central-1.amazonaws.com:587 SMTP_USER:SMTP_PASSWORD
NB: ricordati di rendere il file accessibile solo a root:
( # chmod -v 0600 /etc/postfix/sasl_passwd)
Concludiamo la configurazione su RHEL
# postmap hash:/etc/postfix/sasl_passwd
# postconf -e 'smtp_tls_CAfile = /etc/ssl/certs/ca-bundle.crt'
# postfix reload
Mentre su Debian
# postmap hash:/etc/postfix/sasl_passwd
# postconf -e 'smtp_tls_CAfile = /etc/ssl/certs/ca-certificates.crt'
# postfix reload
Test
Dopo aver riavviato Postfix eseguire un invio di test utilizzando il comando sendmail.
# sendmail -f [email protected] [email protected]
From: Mittente <[email protected]>
Subject: Amazon SES Test
This message was sent using Amazon SES.
Mittente
.
Le opinioni in quanto tali sono opinabili e nulla ti vieta di approfondire l’argomento.
Risorse: