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>'
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 :
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 :
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 :
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.
(…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. »