Invio di email con Mailgun


Google Cloud collabora con Mailgun per fornire un servizio email con un'API programmatica, conservazione dei log, personalizzazione email, analisi e convalida email.

Le istruzioni riportate di seguito mostrano come configurare Mailgun come inoltro email con Postfix.

Prima di iniziare

  1. Registrati e crea un nuovo account Mailgun su Google Cloud Marketplace.

  2. Ricevi le tue credenziali. Le istruzioni richiedono di conoscere il nome utente, la password e il nome host SMTP di Mailgun. Recupera il nome utente e la 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 o smtp.eu.mailgun.org.

  3. Configura le regole del firewall per consentire il traffico in uscita sulla porta TCP 2525.

Configurare Mailgun come inoltro della posta con Postfix

La configurazione di Mailgun come relay per la posta consente all'agente di trasferimento della posta Postfix di inoltrare le email destinate alla consegna remota.

  1. Connettiti all'istanza tramite SSH.

    gcloud compute ssh [INSTANCE_NAME]
    

    dove [INSTANCE_NAME] è il nome dell'istanza VM da cui vuoi inviare email.

  2. Diventa un superutente e imposta un'umask sicura.

    user@test-instance:~$ sudo su -
    
    root@test-instance:~# umask 077
    
  3. Installa l'agente di trasporto della posta Postfix.

    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
    

  4. Quando richiesto, seleziona la configurazione Local Only e accetta le scelte predefinite per i nomi di dominio.

  5. Modifica 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
    
  6. Se esistono, commenta le seguenti righe.

    # default_transport = error
    # relay_transport = error
    
  7. Aggiungi il servizio SMTP di Mailgun aggiungendo la seguente riga alla fine del file.

    relayhost = [smtp.mailgun.org]:2525
    
  8. Per applicare il supporto SSL/TLS e configurare l'autenticazione SMTP per queste richieste, aggiungi le seguenti righe alla fine del file. Un modulo di livello di sicurezza e accesso semplice (SASL) 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
    
  9. Salva le modifiche e chiudi il file.

  10. Genera la mappa delle password SASL.

    1. Crea un nuovo file di password pronto per l'input standard.

      root@test-instance:~# cat > /etc/postfix/sasl_passwd << EOF
      
    2. Quando richiesto, inserisci i dettagli del servizio, sostituendo YOUR_SMTP_LOGIN e YOUR_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
      
    3. Chiudi e salva il file digitando il delimitatore EOF.

      > EOF
      
  11. Utilizza 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
    
  12. Dopodiché rimuovi il file contenente le tue credenziali perché non è più necessario.

    root@test-instance:~# rm /etc/postfix/sasl_passwd
    
  13. Imposta le autorizzazioni per il 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
    
  14. Infine, ricarica la configurazione per caricare i parametri modificati.

    Debian

    root@test-wheezy:~# /etc/init.d/postfix restart
    

    CentOS

    [root@test-centos ~]# postfix reload
    

  15. Testa la configurazione. Installa il pacchetto mailx o mailutils 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@EXAMPLE.COM
    

    Cerca nei log di sistema una riga di stato contenente status e il codice di risposta del server corretta (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 il monitoraggio e il routing dei messaggi, consulta la documentazione di Mailgun.

Esplora architetture di riferimento, diagrammi e best practice su Google Cloud. Consulta il nostro Cloud Architecture Center.