Problemi del server SMTP di Outlook (SMTPSyntaxError)

Ciao a tutti!

Ho lavorato e ho cercato di avviare un’istanza self-hosted di Discourse su un server CentOS. Per la maggior parte, le cose sembrano andare bene, poiché ho configurato l’hostname e altre cose, e il container Docker si avvia e riesco ad accedere alla mia istanza Discourse all’interno della mia rete locale su http://discourse.foo.co.

Tuttavia, è qui che sono un po’ bloccato poiché non riesco a creare il mio primo utente poiché le impostazioni SMTP che sto utilizzando sembrano non funzionare e continuano a generare un Net::SMTPSyntaxError, non importa cosa provo.

Le mie impostazioni SMTP in app.yml sono:

## TODO: Elenco di email separate da virgole che saranno rese admin e developer
## alla prima registrazione, ad esempio 'user1@example.com,user2@example.com'
  DISCOURSE_DEVELOPER_EMAILS: 'brian@foo.co'

  ## TODO: Il server di posta SMTP utilizzato per convalidare i nuovi account e inviare notifiche
  # SONO RICHIESTI INDIRIZZO, nome utente e password SMTP
  # ATTENZIONE: il carattere '#' nella password SMTP può causare problemi!
  DISCOURSE_SMTP_ADDRESS: foo.mail.protection.outlook.com
  DISCOURSE_SMTP_PORT: 25
  DISCOURSE_SMTP_USER_NAME: user@foo.co
  DISCOURSE_SMTP_PASSWORD: una password che contiene alcuni caratteri speciali '@' e '/'. La password non contiene il carattere speciale '#'.
  DISCOURSE_SMTP_AUTHENTICATION: login
  DISCOURSE_SMTP_ENABLE_START_TLS: true         # (opzionale, predefinito true)
  #DISCOURSE_SMTP_DOMAIN: discourse.example.com    # (richiesto da alcuni provider)
  DISCOURSE_NOTIFICATION_EMAIL: 'community@foo.co'    # (indirizzo da cui inviare le notifiche)

Ho cercato ovunque nei forum di Discourse, tuttavia la ricerca di ‘SMTPSyntaxError’ non mi restituisce alcun risultato. Su Google, non riesco a trovare soluzioni che aiutino.

Le stesse impostazioni SMTP, quando inserite nei nostri server Bamboo e Jira, funzionano perfettamente e sono in grado di inviare email senza problemi.

Ho anche utilizzato strumenti di test online come https://dnschecker.org/smtp-test-tool.php ed è in grado di inviare email di prova perfettamente. Ad esempio, inserendo gli stessi dettagli mostrati sopra, invia un’email di prova con i seguenti contenuti con successo alla mia casella di posta.

Host SMTP: foo.mail.protection.outlook.com.
Porta: 25
Usa crittografia TLS esplicita: No
Usa crittografia TLS/SSL implicita:
Usa autenticazione: No
Email da: test@foo.co
Email a: brian@foo.co

Qualsiasi aiuto sarebbe apprezzato, grazie,
Brian

Ti consiglio di scaricare il traffico che va dal tuo container al server SMTP in modo da poter vedere esattamente cosa sta succedendo sulla rete.

Puoi attivare un’e-mail eseguendo all’interno del container:

rake 'emails:test[your.email.address@your.domain]'

e dovresti vedere ad esempio:

root@michael-discourse-docker-app:/var/www/discourse# rake 'emails:test[michael@contoso.com]'
Testing sending to michael@contoso.com using mail.contoso.net:587, username:michael with plain auth.
SMTP server connection successful.
Sending to michael@contoso.com. . .
Mail accepted by SMTP server.
Message-ID: e7adb5c4-f404-4800-b070-631b06ff5335@mx1.contoso.com

Il che potrebbe anche darti alcuni indizi.

3 Mi Piace

Ciao Michael,

Grazie per il tuo suggerimento, ma sembra che dia lo stesso errore che si verifica quando uso ./discourse-doctor.

root@discourse-app:/var/www/discourse# rake 'emails:test[brian.lui@foo.co]'
Testing sending to brian.lui@foo.co using foo.mail.protection.outlook.com:25, username:user@foo.co with login auth.
======================================== ERROR ========================================
                                    UNEXPECTED ERROR

Net::SMTPSyntaxError

====================================== SOLUTION =======================================
This is not a common error. No recommended solution exists!

Please report the exact error message above to https://meta.discourse.org/
(And a solution, if you find one!)
=======================================================================================

Brian

Quando eseguo il comando all’interno del container (come ho visto nella guida alla risoluzione dei problemi SMTP di Discourse):

openssl s_client -connect foo.mail.protection.outlook.com:25 -starttls smtp

Tutto sembra normale ma invece di un 250 DSN, vedo un 250 SMTPUTF8. Quindi, quando provo a inserire il comando EHLO "i am here", non succede nulla e alla fine scade il tempo di attesa:

451 4.7.0 Timeout waiting for client input [YT1PEPF00001E8C.CANPRD01.PROD.OUTLOOK.COM 2024-02-23T17:51:16.770Z 08DC342D15BDD245]\nread:errno=0

Ottengo lo stesso risultato.

Non ho davvero suggerimenti se non che questo sembra essere un problema con il server di posta stesso piuttosto che con Discourse.

Non mi aspetterei che questo server venga utilizzato per l’invio di posta. Sei sicuro che sia corretto?

Vedo che altre persone hanno utilizzato un server di invio diverso e lo hanno fatto funzionare:

2 Mi Piace