Le traduzioni sono generate tramite traduzione automatica. In caso di conflitto tra il contenuto di una traduzione e la versione originale in Inglese, quest'ultima prevarrà.
Integrazione di Amazon SES con Sendmail
Sendmail è stato rilasciato nei primi anni '80 e da allora viene costantemente migliorato. È un agente di trasferimento messaggi flessibile e configurabile (MTA) con un'ampia comunità di utenti. Sendmail è stato acquisito da Proofpoint nel 2013, ma Proofpoint continua a offrire una versione open source di Sendmail. È possibile scaricare la versione open source di Sendmail
La procedura in questa sezione mostra come configurare Sendmail per l'invio di e-mail tramite Amazon. SES Questa procedura è stata testata su un server che esegue Ubuntu 18.04.2. LTS
Nota
Sendmail è un'applicazione di terze parti e non è sviluppata o supportata da Amazon Web Services. Le procedure descritte in questa sezione sono fornite solo a scopo informativo e sono soggette a modifiche senza preavviso.
Prerequisiti
Prima di eseguire la procedura descritta in questa sezione, è necessario completare i seguenti passaggi:
-
Installa il pacchetto Sendmail sul tuo server.
Nota
A seconda del sistema operativo in uso per la distribuzione, potrebbe essere necessario installare i seguenti pacchetti:
sendmail-cf
,m4
ecyrus-sasl-plain
. -
Verifica un'identità da utilizzare come indirizzo di provenienza. Per ulteriori informazioni, consulta Creazione di un'identità dell'indirizzo e-mail.
Se il tuo account si trova nella SES sandbox di Amazon, devi anche verificare gli indirizzi a cui invii e-mail. Per ulteriori informazioni, consulta Richiedi l'accesso alla produzione (uscita dalla SES sandbox di Amazon).
Se utilizzi Amazon SES per inviare e-mail da un'EC2istanza Amazon, devi inoltre completare i seguenti passaggi:
-
Potrebbe essere necessario assegnare un indirizzo IP elastico alla tua EC2 istanza Amazon affinché i provider di posta elettronica riceventi accettino la tua e-mail. Per ulteriori informazioni, consulta gli indirizzi IP di Amazon EC2 Elastic nella Amazon EC2 User Guide.
-
Amazon Elastic Compute Cloud (AmazonEC2) limita il traffico e-mail sulla porta 25 per impostazione predefinita. Per evitare timeout durante l'invio di e-mail tramite l'SMTPendpoint da AmazonEC2, puoi richiedere la rimozione di queste restrizioni. Per ulteriori informazioni, consulta Come faccio a rimuovere la restrizione sulla porta 25 dalla mia EC2 istanza o AWS Lambda funzione Amazon?
nel AWS Knowledge Center. In alternativa, è possibile modificare la procedura descritta in questa sezione per utilizzare la porta 587 anziché la porta 25.
Configurazione di Sendmail
Completa i passaggi in questa sezione per configurare Sendmail per l'invio di e-mail tramite Amazon. SES
Importante
La procedura in questa sezione presuppone che tu voglia utilizzare Amazon SES negli Stati Uniti occidentali (Oregon). Regione AWS Se desideri utilizzare una regione diversa, sostituisci tutte le istanze di email-smtp.us-west-2.amazonaws.com in questa procedura con l'SMTPendpoint della regione desiderata. Per un elenco di SMTP endpoint URLs per i Regioni AWS quali Amazon SES è disponibile, consulta Amazon Simple Email Service (AmazonSES) nel Riferimenti generali di AWS.
Configurazione di Sendmail
-
In un editor di file, apri il file
/etc/mail/authinfo
. Se il file non esiste, procedi alla sua creazione.Aggiungi la riga seguente a/: etc/mail/authinfo
AuthInfo:
email-smtp.us-west-2.amazonaws.com
"U:root" "I:smtpUsername
" "P:smtpPassword
" "M:PLAIN"In questo esempio, apporta le modifiche seguenti:
-
Replace (Sostituisci)
email-smtp.us-west-2.amazonaws.com
con l'SESSMTPendpoint Amazon che desideri utilizzare. -
Replace (Sostituisci)
smtpUsername
con il tuo nome SES SMTP utente Amazon. -
Replace (Sostituisci)
smtpPassword
con la tua SES SMTP password Amazon.
Nota
Le tue credenziali di SMTP accesso sono diverse dall'ID della chiave di AWS accesso e dalla chiave di accesso segreta. Per ulteriori informazioni su come ottenere le credenziali di SMTP accesso, consulta. Ottenere le SES SMTP credenziali Amazon
Al termine, salva
authinfo
. -
-
Nella riga di comando, immetti il comando seguente per generare il file
/etc/mail/authinfo.db
:sudo sh -c 'makemap hash /etc/mail/authinfo.db < /etc/mail/authinfo'
-
Nella riga di comando, digita il seguente comando per aggiungere il supporto per l'inoltro all'SESSMTPendpoint Amazon.
sudo sh -c 'echo "Connect:
email-smtp.us-west-2.amazonaws.com
RELAY" >> /etc/mail/access'Nel comando precedente, sostituisci
email-smtp.us-west-2.amazonaws.com
con l'indirizzo dell'SESSMTPendpoint Amazon che desideri utilizzare. -
Nella riga di comando, digita il seguente comando per rigenerare/etc/mail/access.db:
sudo sh -c 'makemap hash /etc/mail/access.db < /etc/mail/access'
-
Alla riga di comando, digita il comando seguente per creare copie di backup dei file
sendmail.cf
esendmail.mc
:sudo sh -c 'cp /etc/mail/sendmail.cf /etc/mail/sendmail_cf.backup && cp /etc/mail/sendmail.mc /etc/mail/sendmail_mc.backup'
-
Aggiungere le righe seguenti al file/etc/mail/sendmail.mc prima di qualsiasi definizione.
MAILER()
define(`SMART_HOST', `
email-smtp.us-west-2.amazonaws.com
')dnl define(`RELAY_MAILER_ARGS', `TCP $h 25')dnl define(`confAUTH_MECHANISMS', `LOGIN PLAIN')dnl FEATURE(`authinfo', `hash -o /etc/mail/authinfo.db')dnl MASQUERADE_AS(`example.com
')dnl FEATURE(masquerade_envelope)dnl FEATURE(masquerade_entire_domain)dnlNel testo precedente, effettua le seguenti operazioni:
-
Replace (Sostituisci)
email-smtp.us-west-2.amazonaws.com
con l'SESSMTPendpoint Amazon che desideri utilizzare. -
Replace (Sostituisci)
example.com
con il dominio che desideri utilizzare per inviare e-mail.
Al termine, salva il file.
Nota
Amazon EC2 limita le comunicazioni sulla porta 25 per impostazione predefinita. Se utilizzi Sendmail in un'EC2istanza Amazon, devi completare la Richiesta di rimozione delle limitazioni all'invio di e-mail
. -
-
Alla riga di comando, digita il comando seguente per rendere sendmail.cf scrivibile:
sudo chmod 666 /etc/mail/sendmail.cf
-
Alla riga di comando, digita il comando seguente per generare nuovamente sendmail.cf:
sudo sh -c 'm4 /etc/mail/sendmail.mc > /etc/mail/sendmail.cf'
Nota
Se si verificano errori, ad esempio "Command not found" (Comando non trovato) e "No such file or directory" (Nessun file o directory), accertati che i pacchetti
m4
esendmail-cf
siano installati nel sistema. -
Alla riga di comando, digita il comando seguente per ripristinare le autorizzazioni di sendmail.cf alla modalità di sola lettura:
sudo chmod 644 /etc/mail/sendmail.cf
-
Alla riga di comando, digita il comando seguente per riavviare Sendmail:
sudo /etc/init.d/sendmail restart
A seconda della versione di Linux o Sendmail, se l'operazione precedente non funziona, provare quanto segue:
sudo su service sendmail restart
-
Completa la procedura seguente per inviare un messaggio e-mail di prova:
-
Nella riga di comando, immetti il comando seguente:
/usr/sbin/sendmail -vf
sender@example.com
recipient@example.com
Replace (Sostituisci)
sender@example.com
con il tuo indirizzo email From. Replace (Sostituisci)recipient@example.com
con l'indirizzo To. Al termine, premi Enter. -
Inserisci il seguente contenuto del messaggio. Premi Enter al termine di ogni riga.
From:
sender@example.com
To:recipient@example.com
Subject: Amazon SES test email This is a test message sent from Amazon SES using Sendmail.Una volta inserito il contenuto dell'e-mail, premi Ctrl+D per inviare.
-
-
Controlla la presenza dell'e-mail nel client e-mail del destinatario. Se non riesci a trovare l'e-mail, controlla la cartella della posta indesiderata. Se ancora non è possibile individuare l'e-mail, controlla il registro di Sendmail sul server di posta. Il registro si trova spesso in/var/log/mail.log o/var/log/maillog.