Come posso risolvere i problemi di connettività SMTP o di timeout con Amazon SES?

4 minuti di lettura
0

Il mio Amazon Simple Email Service (Amazon SES) Simple Mail Transfer Protocol (SMTP) sta scadendo. Come posso risolvere gli errori di connettività SMTP o di timeout con Amazon SES?

Descrizione breve

Le connessioni in timeout indicano in genere che il client non è in grado di stabilire una connessione TCP con l'endpoint pubblico di Amazon SES. Per risolvere gli errori di connettività SMTP o di timeout con Amazon SES, risolvi innanzitutto i problemi di connessione TCP dell'applicazione. Se la connessione TCP ha esito positivo, risolvi i problemi relativi alle negoziazioni SSL/TLS.

Importante: Per impostazione predefinita, Amazon Elastic Compute Cloud (Amazon EC2) limita il traffico in uscita di Amazon Virtual Private Cloud (Amazon VPC) sulla porta 25 per tutte le istanze Amazon EC2. Per le applicazioni che richiedono traffico sulla porta SMTP 25, puoi richiedere di rimuovere questa restrizione.

Risoluzione

Risoluzione dei problemi relativi alla connessione TCP dell'applicazione

1.    Esegui i seguenti comandi telnet, netcat (nc) o Test-NetConnection. Sostituisci email-smtp.us-east-1.amazonaws.com con l'endpoint SMTP Amazon SES che stai utilizzando:

telnet email-smtp.us-east-1.amazonaws.com 587
telnet email-smtp.us-east-1.amazonaws.com 25
telnet email-smtp.us-east-1.amazonaws.com 465

nc -vz email-smtp.us-east-1.amazonaws.com 587
nc -vz email-smtp.us-east-1.amazonaws.com 25
nc -vz email-smtp.us-east-1.amazonaws.com 465

-oppure-

In PowerShell, esegui il seguente comando per connetterti al server SMTP Amazon SES:

Test-NetConnection -Port 587 -ComputerName email-smtp.us-west-2.amazonaws.com

2.    Annota l'output. Se la connessione ha esito positivo, vai alla sezione Risoluzione dei problemi relativi alle negoziazioni SSL/TLS. Se la connessione non riesce, vai al passaggio 3.

Connessione riuscita

Il comando telnet restituisce un output simile al seguente:

Trying 35.170.126.22...
Connected to email-smtp.us-east-1.amazonaws.com.
Escape character is '^]'.
220 email-smtp.amazonaws.com ESMTP SimpleEmailService-d-A12BCD3EF example0mJncW410pSau

Il comando PowerShell restituisce un output simile al seguente:

ComputerName     : email-smtp.us-west-2.amazonaws.com
RemoteAddress    : 198.51.100.126
RemotePort       : 587
InterfaceAlias   : Ethernet
SourceAddress    : 203.0.113.46
TcpTestSucceeded : True

Connessione non riuscita (timeout)

Il comando telnet restituisce un output simile al seguente:

Trying 18.232.32.150...
telnet: connect to address 18.232.32.150: Connection timed out

Il comando PowerShell restituisce un output simile al seguente:

WARNING: Ping to 52.39.11.136 failed with status: TimedOut

ComputerName           : email-smtp.us-west-2.amazonaws.com
RemoteAddress          : 35.155.47.104
RemotePort             : 587
InterfaceAlias         : Ethernet 2
SourceAddress          : 10.0.0.140
PingSucceeded          : False
PingReplyDetails (RTT) : 0 ms
TcpTestSucceeded       : False

3.    In caso di connessioni non riuscite, verifica che le regole, i percorsi e le liste di controllo degli accessi (ACL) locali del firewall consentano il traffico sulla porta SMTP che stai utilizzando. Inoltre, verifica che la tua applicazione di invio abbia accesso a Internet.

Ad esempio, se utilizzi un'istanza EC2 per inviare e-mail e connetterti all'endpoint SMTP, verifica quanto segue:

Risoluzione dei problemi relativi alle negoziazioni SSL/TLS

Se la tua connessione TCP è riuscita ma hai ancora problemi di connettività o di timeout, controlla se ci sono problemi con SSL/TLS.

1.    Da un'istanza Linux EC2, esegui il comando openssl. Per le istanze Windows di Amazon EC2, consulta Verifica la tua connessione all'interfaccia SMTP di Amazon SES utilizzando la linea di comando e scegli la scheda PowerShell.

openssl s_client -crlf -connect email-smtp.us-east-1.amazonaws.com:465
openssl s_client -crlf -starttls smtp -connect email-smtp.us-east-1.amazonaws.com:587

Nota: Sostituisci email-smtp.us-east-1.amazonaws.com con l'endpoint SMTP Amazon SES che stai utilizzando. La modifica della posizione dell'autorità di certificazione (CA) predefinita potrebbe causare problemi quando si eseguono i comandi precedenti. Quando installi OpenSSL, assicurati di identificare la posizione del file del pacchetto CA predefinito.

2.    Annota l'output. Le risposte previste sono SMTP 220 e SMTP 250.

3.    Se non ottieni l'output previsto, controlla quanto segue:

  • Verifica che l'archivio certificati SSL/TLS sia configurato correttamente.
  • Verifica che la tua richiesta di invio abbia il percorso corretto per il certificato.
  • Verifica che il certificato Amazon SES sia installato sul tuo server.

Nota: Puoi verificare se sono installati i certificati corretti. Per istruzioni, consulta Informazioni sulla migrazione di Amazon Trust Services e consulta la sezione Informazioni sui certificati.


Informazioni correlate

Utilizzo dell'interfaccia SMTP di Amazon SES per inviare e-mail