Google Cloud collabora con Mailgun per fornire un servizio email che include API programmatica, conservazione dei log, personalizzazione dell'email, analisi e convalida delle email.
Le seguenti istruzioni mostrano come configurare Mailgun come inoltro email con Postfix.
Prima di iniziare
Registrati e crea un nuovo account Mailgun su Google Cloud Marketplace.
Recupera le tue credenziali. Le istruzioni richiedono che tu conoscere il nome utente, la password e il nome host di Mailgun. Recupera il tuo nome utente e la tua password dal pannello di controllo di Mailgun, nella sezione Domini.
A seconda di come è configurato il dominio in Mailgun, il nome host SMTP è
smtp.mailgun.org
osmtp.eu.mailgun.org
.Configura le tue regole firewall per consentire il traffico in uscita sulla porta TCP
2525
.
Configurazione di Mailgun come inoltro di posta con Postfix
La configurazione di Mailgun come inoltro di posta consente all'agente di trasferimento della posta Postfix di inoltrare le email destinate alla consegna remota.
Connettiti all'istanza tramite SSH.
gcloud compute ssh [INSTANCE_NAME]
dove
[INSTANCE_NAME]
è il nome dell'istanza VM da cui vuoi inviare email.Diventa un super user e imposta un umask sicuro.
user@test-instance:~$ sudo su -
root@test-instance:~# umask 077
Installare Postfix Mail Transport Agent.
Debian
root@test-instance:~# apt update && apt -y install postfix libsasl2-modules
CentOS
root@test-instance:~# yum install postfix cyrus-sasl-plain cyrus-sasl-md5 -y
Quando richiesto, seleziona la configurazione
Local Only
e accetta le scelte predefinite per i nomi di dominio.Modificare le opzioni di configurazione di Postfix. Le opzioni di configurazione di Postfix sono impostate nel file
main.cf
. Apri il file con l'editor di testo che preferisci.root@test-instance:~# vi /etc/postfix/main.cf
Se esistono, commenta le righe seguenti.
# default_transport = error # relay_transport = error
Aggiungi il servizio SMTP Mailgun aggiungendo la seguente riga alla fine del file.
relayhost = [smtp.mailgun.org]:2525
Per applicare il supporto SSL/TLS e configurare l'autenticazione SMTP per queste richieste, aggiungi le seguenti righe alla fine del file. Un modulo SASL (Access and Security Layer) semplice gestisce l'autenticazione nella configurazione di Postfix.
smtp_tls_security_level = encrypt smtp_sasl_auth_enable = yes smtp_sasl_password_maps = hash:/etc/postfix/sasl_passwd smtp_sasl_security_options = noanonymous
Salva le modifiche e chiudi il file.
Genera la mappa delle password SASL.
Crea un nuovo file di password pronto per l'inserimento standard.
root@test-instance:~# cat > /etc/postfix/sasl_passwd << EOF
Al prompt, inserisci i dettagli del servizio, sostituendo
YOUR_SMTP_LOGIN
eYOUR_SMTP_PASSWORD
con le tue credenziali. Consulta la guida di Mailgun per istruzioni su come visualizzare o modificare le credenziali per dominio.> [smtp.mailgun.org]:2525 YOUR_SMTP_LOGIN:YOUR_SMTP_PASSWORD
Chiudi e salva il file digitando il delimitatore
EOF
.> EOF
Usa l'utilità
postmap
per generare un file.db
.root@test-instance:~# postmap /etc/postfix/sasl_passwd
root@test-instance:~# ls -l /etc/postfix/sasl_passwd* -rw------- 1 root root 68 Jun 1 10:50 /etc/postfix/sasl_passwd -rw------- 1 root root 12288 Jun 1 10:51 /etc/postfix/sasl_passwd.db
Quindi, rimuovi il file che contiene le tue credenziali perché non è più necessario.
root@test-instance:~# rm /etc/postfix/sasl_passwd
Imposta le autorizzazioni per il tuo file
.db
.root@test-instance:~# chmod 600 /etc/postfix/sasl_passwd.db
root@test-instance:~# ls -la /etc/postfix/sasl_passwd.db -rw------- 1 root root 12288 Aug 31 18:51 /etc/postfix/sasl_passwd.db
Infine, ricarica la configurazione per caricare i parametri modificati.
Debian
root@test-wheezy:~# /etc/init.d/postfix restart
CentOS
[root@test-centos ~]# postfix reload
Testa la configurazione. Installa il pacchetto
mailx
omailutils
e testa la configurazione.Debian
root@test-wheezy:~# apt -y install mailutils
CentOS
[root@test-centos ~]# yum install mailx -y
Invia un messaggio di prova.
root@test-instance:~# echo 'Test passed.' | mail -s 'Test-Email' [email protected]
Nei log di sistema cerca una riga di stato contenente
status
e il codice di risposta del server riuscito(250)
.Debian
root@test-wheezy:~# tail -n 5 /var/log/syslog
CentOS
[root@test-centos ~]# tail -n 5 /var/log/maillog
Per esempi dettagliati e informazioni su altri argomenti, tra cui i messaggi di monitoraggio e di routing, leggi la documentazione di Mailgun.
Esplora le architetture di riferimento, i diagrammi e le best practice su Google Cloud. Visita il nostro Cloud Architecture Center.