SMTP per gruppo: errore numero versione errato ssl

Ciao,

Sto cercando di implementare SMTP per i gruppi ma continuo a ricevere il seguente messaggio di errore.

image

Eppure sto usando lo stesso server smtp che usa l’istanza e ricevo lo stesso messaggio di errore anche se uso le stesse credenziali specificate nel mio file app.yml… Non capisco perché si comporti diversamente: le email vengono inviate perfettamente con le credenziali predefinite.

Nei log del mio server SMTP vedo una connessione proveniente dal server Discourse, poi ho il seguente messaggio

smtp bad-input result=“500 5.5.1 Invalid command: Pipelining not supported”
smtp disconnected reason=“io-error: Connection reset by peer”

1 Mi Piace

Sospetto che Discourse stia tentando di connettersi al server SMTP con TLS invece di STARTTLS.

Puoi fare uno screenshot delle impostazioni pertinenti?

Si prega di oscurare nomi host e nomi utente specifici, ma lasciare le informazioni sulla porta e altre impostazioni.

1 Mi Piace

La configurazione è piuttosto classica: porta 587 usuale e starttls è vero (valore predefinito)

configurazione generale:

per il gruppo smtp:

Ho eseguito alcuni tcpdump per vedere cosa sta succedendo e sto notando 3 comportamenti diversi. Per i primi due casi, è esattamente come descritto in questo thread.

  1. Uso normale

Gli utenti creano argomenti, rispondono, ecc. altri utenti ricevono notifiche via email come previsto
Inoltre, utilizzando l’invio di test email tramite l’interfaccia di amministrazione: nessun problema, viene inviata e ricevuta correttamente

con tcpdump possiamo vedere che c’è una sequenza corretta, che si connette tramite STARTTLS, ecc.

  1. Discourse-doctor e rake

utilizzando discourse-doctor o rake emails:test
L’email non viene inviata e ricevo un errore: 503 5.5.1 Invalid command: Command not supported

  1. group smtp

Quando si testa il group smtp, vedo un pacchetto “DATA fragment” proveniente da Discourse immediatamente dopo l’handshake tcp, al quale il server smtp risponde con 220 xxxxxxx ESMTP OpenSMTPD seguito da un messaggio 500 5.5.1 Invalid command: Pipelining not supported

1 Mi Piace

587 supporterà STARTTLS ma non TLS (al momento della connessione).

Dovremmo modificare le opzioni qui per consentire STARTTLS.

Se deselezioni “Usa SSL per SMTP”, funziona?

Purtroppo, no, non funziona.
deselezionando “Usa SSL per SMTP” ottengo il seguente messaggio di errore:

image

Il che è strano perché so che le mie credenziali sono corrette.

Guardando con tcpdump, si comporta come ho spiegato per il caso “Discourse-doctor e rake”.
Gli scambi tra Discourse e il server smtp assomigliano a quanto segue

< 220 [redacted] ESMTP ready
> EHLO [redacted]
< 250-[redacted]
< 250-PIPELINING
< 250-SIZE 36700160
< 250-ENHANCEDSTATUSCODES
< 250-8BITMIME
< 250 STARTTLS
> AUTH PLAIN [redacted]
< 500 5.5.1 Invalid command : commande not supported

È come se Discourse non stesse cercando di avviare STARTTLS; è esattamente come descritto nel post a cui ho fatto riferimento nel mio post precedente.

Sto riscontrando lo stesso problema mentre tento di configurare Discourse SMTP per funzionare con un indirizzo email ImprovMX.

Qualche idea @supermathie?