Come posso risolvere i problemi di connettività SMTP o di timeout con Amazon SES?
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:
- Le regole outbound (uscita) del gruppo di sicurezza devono consentire il traffico verso il server SMTP sulla porta TCP 25, 587 o 465.
- Le regole ACL outbound (uscita) della rete devono consentire il traffico verso il server SMTP sulla porta TCP 25, 587 o 465.
- Le regole ACL inbound (ingresso) della rete devono consentire il traffico dal server SMTP sulle porte TCP 1024-65535.
- L'istanza EC2 deve disporre di connettività internet.
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
Video correlati
Contenuto pertinente
- AWS UFFICIALEAggiornata 3 anni fa
- AWS UFFICIALEAggiornata 2 anni fa
- AWS UFFICIALEAggiornata 3 anni fa
- Come posso risolvere i timeout di connessione quando mi connetto al servizio ospitato in Amazon EKS?AWS UFFICIALEAggiornata un anno fa