Marvin Pascale

[B.Log]

15 Giugno 2020

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: