Salta al contenuto

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

5 minuti di lettura
0

Il Simple Mail Transfer Protocol (SMTP) del mio Amazon Simple Email Service (Amazon SES) sta scadendo.

Breve descrizione

Si verificano problemi di timeout della connessione quando il client non riesce a stabilire una connessione TCP all'endpoint pubblico di Amazon SES. Per risolvere gli errori di connettività SMTP o di timeout con Amazon SES, risolvi prima di tutto i problemi di connessione TCP dell'applicazione. Se la connessione TCP ha esito positivo, risolvi i problemi relativi alle negoziazioni SSL/TLS.

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 domandare di rimuovere questa restrizione. Oppure utilizza le connessioni SMTP sulla porta 587 (STARTTLS) e sulla porta 465 (TLS Wrapper) che non hanno le stesse restrizioni predefinite della porta 25.

Risoluzione

Risolvi i problemi relativi alla connessione TCP dell'applicazione

Completa i seguenti passaggi:

  1. Esegui questo comando telnet:

    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

    Nota: sostituisci email-smtp.us-east-1.amazonaws.com con l'endpoint SMTP di Amazon SES che stai utilizzando.
    -oppure-

    Esegui questi comandi netcat (nc):

    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 Windows PowerShell, esegui questo comando per connetterti al server SMTP di 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 Risolvi i problemi relativi alle negoziazioni SSL/TLS. Se la connessione ha esito negativo, vai al passaggio 3. Se la connessione ha esito positivo, 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

    Se la connessione si interrompe, 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

    Se la connessione ha esito positivo, il comando Test-NetConnection 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

    Se la connessione scade, il comando Test-NetConnection 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 connessione con esito negativo, verifica che le regole, le route e le liste di controllo degli accessi (ACL) locali del firewall consentano il traffico sulla porta SMTP che stai utilizzando. Inoltre, verifica che l'applicazione mittente abbia accesso a Internet.

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

Risolvi i problemi relativi alle negoziazioni SSL/TLS

Se la connessione TCP ha esito positivo ma continui a riscontrare problemi di connettività o timeout, completa i seguenti passaggi per verificare eventuali problemi relativi alle negoziazioni SSL/TLS:

  1. Connettiti al server SMTP di Amazon SES.
    Per un'istanza EC2 Linux, esegui questo comando:

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

    Nota: sostituisci email-smtp.us-east-1.amazonaws.com con l'endpoint SMTP di Amazon SES che stai utilizzando.
    Per un'istanza EC2 Windows, consulta la scheda PowerShell in Verifica della connessione all'interfaccia SMTP di Amazon SES utilizzando la riga di comando.

  2. Per verificare eventuali problemi relativi al protocollo SSL, esegui questo comando:

    openssl s_client -crlf -quiet -connect email-smtp.us-west-2.amazonaws.com:465

    Se la connessione ha esito positivo, ricevi una risposta SMTP 220 simile alla seguente:

    depth=2 C = US, O = Amazon, CN = Amazon Root CA 1  
    verify return:1  
    depth=1 C = US, O = Amazon, OU = Server CA 1B, CN = Amazon  
    verify return:1  
    depth=0 CN = email-smtp.us-west-2.amazonaws.com  
    verify return:1  
    220 email-smtp.amazonaws.com ESMTP SimpleEmailService-d-VCSHDP1YZ A1b2C3d4E5f6G7h8I9j0
  3. Per verificare eventuali problemi relativi al protocollo TLS, esegui questo comando:

    openssl s_client -crlf -quiet -starttls smtp -connect email-smtp.us-west-2.amazonaws.com:587

    Se la connessione ha esito positivo, ricevi una risposta SMTP 250 simile alla seguente:

    depth=2 C = US, O = Amazon, CN = Amazon Root CA 1  
    verify return:1  
    depth=1 C = US, O = Amazon, OU = Server CA 1B, CN = Amazon  
    verify return:1  
    depth=0 CN = email-smtp.us-west-2.amazonaws.com  
    verify return:1  
    250 Ok
  4. Se non ricevi una risposta SMTP 220 per SSL o SMTP 250 per TLS, verifica quanto segue:
    L'archivio dei certificati SSL/TLS è stato configurato correttamente.
    L’applicazione mittente ha il percorso corretto per il certificato.
    Hai installato il certificato Amazon SES sul server.

Nota: per verificare se hai installato i certificati corretti, consulta la sezione About the certificates (Informazioni sui certificati) in About the Amazon Trust Services Migration (Informazioni sulla migrazione di Amazon Trust Services).

Informazioni correlate

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