Abilitazione di reply_by_email

Ho configurato il nostro server di posta per inoltrare le email al nostro Discourse tramite HTTP tramite l’API, e questo funziona. Ora voglio abilitare reply_by_email in modo che gli utenti possano rispondere direttamente ai messaggi.

Sto quindi cercando di abilitare reply_by_email, ma Discourse rifiuta la mia richiesta:

discourse(prod)> SiteSetting.reply_by_email_address
=> "reply+%{reply_key}@<il-nostro-dominio-valido>.de"
discourse(prod)> SiteSetting.email_in
=> true
discourse(prod)> SiteSetting.reply_by_email_enabled = true
lib/site_settings/type_supervisor.rb:271:in `validate_value': reply_by_email_enabled: Devi abilitare il polling manuale, POP3 o avere un mail poller personalizzato abilitato prima di abilitare la risposta via email. (Discourse::InvalidParameters)
    from lib/site_settings/type_supervisor.rb:177:in `to_db_value'
    from lib/site_setting_extension.rb:623:in `add_override!'
    from lib/site_setting_extension.rb:990:in `block in setup_methods'
    from (discourse):15:in `<main>'

Qualcuno può aiutarmi?

Grazie!
Hans

Inizierei con questa parte della risposta che hai ricevuto: Devi abilitare il polling manuale, POP3 o avere un'impostazione personalizzata per il polling delle email prima di abilitare la risposta via email

Questo fa pensare che forse non hai configurato POP3 o mail-receiver prima di provare questo. (Probabilmente vorrai usare mail-reciever.)

Non sono nemmeno sicuro di dove tu possa aver trovato quei comandi Rails, perché entrambi i processi ti avrebbero fatto usare le impostazioni del sito Admin:

È corretto: non ho configurato nessuno dei due, ma ho configurato il nostro server di posta Postfix per inoltrare le email a Discourse tramite la sua API. Non sono sicuro se questa sia una configurazione supportata, ma mi piacerebbe davvero evitare di eseguire un altro server di posta (mail-receiver) se possibile.

Non trovo l’impostazione “Reply by email enabled” nella mia sezione admin:

È possibile che il mio utilizzo della console rails abbia compromesso le impostazioni di amministrazione?

Uso mail-receiver io stesso, quindi una configurazione Postfix+API è al di là delle mie capacità, ma tieni presente che la schermata che stai visualizzando è una sottosezione solo per “le email inviate ai tuoi membri.”

Le impostazioni che ho menzionato per la risposta via email si trovano in Admin → Tutte le impostazioni del sito → Email:

(Ci sono un sacco di impostazioni in Discourse e non sono sempre raggruppate come ci si potrebbe aspettare.)

Grazie, @ToddZ - Ho trovato l’impostazione, ma non riesco ad abilitarla e il messaggio di errore è lo stesso di quando uso la console Rails:

In base alla descrizione di ciò che fai e alla descrizione dell’impostazione manual_polling_enabled potrebbe essere ciò che stai cercando

1 Mi Piace

L’impostazione “Polling manuale abilitato” si trova anche in Amministrazione → Tutte le impostazioni del sito → Email.

E poiché apparentemente non riesco a dormire, ho fatto qualche ricerca e ho visto pochissimi casi di persone che cercavano di configurare l’invio di email tramite API. Nel caso possa esserti utile mentre procedi, ecco cosa ho trovato:

(un sacco di link)

Mentre cercavo, Discobot ha fatto riaffiorare queste informazioni forse obsolete:

È possibile utilizzare l’API di Discourse per gestire le email in arrivo senza fare affidamento sul container mail-receiver. L’endpoint /admin/email/handle_mail accetta il contenuto grezzo dell’email tramite POST, consentendo di inviare email direttamente a Discourse utilizzando uno script o un’integrazione personalizzata. Questo metodo aggira la necessità di polling SMTP o del container mail-receiver.

Ad esempio, è possibile inviare un’email a Discourse utilizzando un comando curl con il parametro email contenente il contenuto grezzo dell’email. Questo approccio è comunemente utilizzato nelle configurazioni di consegna email personalizzate, specialmente quando si utilizzano servizi come AWS Lambda o altre funzioni serverless.

Ulteriori informazioni sull’endpoint API sono disponibili nella documentazione API di Discourse.

(…Non ho trovato nulla al riguardo nella documentazione API.)

2018: Questo argomento non sembrava avere una risoluzione.

2018: Questo post fa riferimento a una guida email - facendo riferimento a un linguaggio che non esiste più lì - e raccomanda anche: “Il modo più semplice per far funzionare la risposta via email è utilizzare il template del container mail-receiver, piuttosto che cercare di lavorare con tutti i tipi di API variabili dei diversi provider.”

2022: Il parametro email doveva essere modificato in email_encoded.

2022: Un’altra raccomandazione di usare semplicemente mail-reciever.

2 Mi Piace

@ToddZ Ha funzionato, grazie mille!

discourse(prod)> SiteSetting.manual_polling_enabled = true
=> true
discourse(prod)> SiteSetting.reply_by_email_enabled = true
=> true
2 Mi Piace