Activer reply_by_email

J’ai configuré notre serveur de messagerie pour transférer les e-mails vers notre Discourse via HTTP en utilisant l’API, et cela fonctionne. Je souhaite maintenant activer reply_by_email afin que les utilisateurs puissent répondre directement aux messages.

J’essaie donc d’activer reply_by_email, mais Discourse rejette ma demande :

discourse(prod)> SiteSetting.reply_by_email_address
=> "reply+%{reply_key}@<notre-domaine-valide>.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: Vous devez activer soit le mode manuel, soit le mode de récupération POP3, soit un récupérateur d'e-mails personnalisé avant d'activer la réponse par e-mail. (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>'

Quelqu’un peut-il m’aider ?

Merci !
Hans

Je commencerais par cette partie de la réponse que vous avez reçue : You must enable either manual, POP3 polling or have a custom mail poller enabled before enabling reply by email

Cela donne l’impression que vous n’avez peut-être pas configuré POP3 ou mail-receiver avant d’essayer ceci. (Vous voudrez probablement utiliser mail-receiver.)

Je ne suis même pas sûr où vous auriez pu trouver ces commandes Rails, car ces deux processus vous demanderaient d’utiliser les paramètres du site d’administration :

C’est exact - je n’ai configuré ni l’un ni l’autre, mais j’ai configuré notre serveur de messagerie Postfix pour transférer les e-mails vers Discourse via son API. Je ne suis pas sûr que ce soit une configuration prise en charge, mais j’aimerais vraiment éviter d’exécuter un autre serveur de messagerie (mail-receiver) si je le peux.

Je ne trouve pas le paramètre « Reply by email enabled » dans ma section d’administration :

Est-il possible que mon utilisation de la console Rails ait perturbé les paramètres d’administration ?

J’utilise moi-même mail-receiver, donc une configuration Postfix+API est au-delà de mes capacités, mais notez que l’écran sur lequel vous vous trouvez est une sous-section juste pour « les e-mails qui sont envoyés à vos membres ».

Les paramètres que j’ai mentionnés pour la réponse par e-mail se trouvent dans Admin → Tous les paramètres du site → E-mail :

(Il y a une tonne de paramètres dans Discourse et ils ne sont pas toujours regroupés comme on pourrait s’y attendre.)

Merci, @ToddZ - J’ai maintenant trouvé le réglage, mais je ne peux pas l’activer et le message d’erreur est le même que lorsque j’utilise la console Raills :

D’après la description de ce que vous faites et la description du paramètre manual_polling_enabled pourrait être ce que vous recherchez.

1 « J'aime »

Le paramètre « Sondage manuel activé » se trouve également sous Admin → Tous les paramètres du site → Email.

Et comme je ne parviens apparemment pas à dormir, j’ai fait quelques recherches et j’ai vu très peu de cas de personnes essayant de configurer l’envoi d’e-mails via l’API. Au cas où cela vous serait utile pour la suite, voici ce que j’ai trouvé :

(un tas de liens)

En cherchant, Discobot a fait remonter ces informations peut-être obsolètes :

Vous pouvez utiliser l’API Discourse pour gérer les e-mails entrants sans dépendre du conteneur mail-receiver. Le point de terminaison /admin/email/handle_mail accepte le contenu brut de l’e-mail via POST, vous permettant de pousser les e-mails directement vers Discourse à l’aide d’un script ou d’une intégration personnalisée. Cette méthode contourne la nécessité du sondage SMTP ou du conteneur mail-receiver.

Par exemple, vous pouvez envoyer un e-mail à Discourse en utilisant une commande curl avec le paramètre email contenant le contenu brut de l’e-mail. Cette approche est couramment utilisée dans les configurations de livraison d’e-mails personnalisées, en particulier lors de l’utilisation de services tels qu’AWS Lambda ou d’autres fonctions sans serveur.

Apprenez-en davantage sur le point de terminaison de l’API dans la documentation de l’API Discourse.

(…Je n’ai rien trouvé à ce sujet dans la documentation de l’API.)

2018 : Ce sujet ne semble pas avoir eu de résolution.

2018 : Ce post fait référence à un guide d’e-mail – faisant référence à un langage qui n’existe plus là-bas – et recommande également : « Le moyen le plus simple de faire fonctionner la réponse par e-mail est d’utiliser le modèle de conteneur mail-receiver, plutôt que d’essayer de travailler avec toutes sortes d’API variables des différents fournisseurs. »

2022 : Le paramètre email devait être modifié en email_encoded.

2022 : Une autre recommandation est de simplement utiliser mail-reciever.

2 « J'aime »

@ToddZ Ça a fonctionné, merci beaucoup !

discourse(prod)> SiteSetting.manual_polling_enabled = true
=> true
discourse(prod)> SiteSetting.reply_by_email_enabled = true
=> true
2 « J'aime »