Nous supprimons le support IMAP dans Discourse. Consultez ce post pour plus de détails IMAP support for group inboxes - #39 by martin . ![]()
Nous sommes ravis de présenter une version alpha du support IMAP pour les boîtes de réception de groupes. Cette fonctionnalité permet d’entrer les identifiants et paramètres IMAP par groupe pour synchroniser les boîtes de réception de groupes avec une boîte de réception email. ![]()
![]()
![]()
Il s’agit d’une fonctionnalité de stade alpha, elle n’est donc pas 100 % complète et polie. Elle est très probablement cassée, nous ne la maintenons pas actuellement ni ne l’utilisons en production. À utiliser à vos propres risques !
![]()
Avantages
- Votre groupe peut démarrer immédiatement avec les boîtes de réception Discourse, car tous vos emails existants seront synchronisés !

- Votre groupe peut faire synchroniser ses messages entre Discourse et votre fournisseur de messagerie afin qu’il n’y ait pas de point de défaillance unique. Les personnes peuvent répondre depuis le compte email ou depuis Discourse, et tout sera synchronisé

- Vous n’aurez plus besoin de configurer des règles de transfert compliquées de votre fournisseur de messagerie vers votre boîte de réception entrante Discourse.

- Les étiquettes email seront synchronisées avec les balises Discourse pour que tout soit bien organisé

- Vous répondrez aux personnes qui envoient des emails à votre groupe depuis l’adresse email que vous avez configurée, même si vous répondez depuis Discourse. Finis les confusions !

Fonctionnalités
- Tous les emails entrants et sortants seront synchronisés entre le serveur IMAP et Discourse, avec la création des sujets et des réponses appropriées basées sur les emails analysés. Les réponses peuvent être créées depuis Discourse ou depuis le serveur IMAP et tout sera synchronisé !
- Les emails peuvent être répondus depuis la boîte de réception de groupe Discourse OU depuis le compte email.
- Les balises appliquées au sujet Discourse seront créées sous forme d’étiquettes et appliquées à l’email sur le serveur IMAP (cela dépend du fournisseur).
- Les emails archivés sur le serveur IMAP seront archivés dans la boîte de réception du groupe.
- Les sujets de messages privés de groupe archivés sur Discourse seront archivés sur le serveur IMAP.
- Les emails supprimés sur le serveur IMAP supprimeront le sujet dans la boîte de réception du groupe.
- Les sujets de messages privés de groupe supprimés sur Discourse seront supprimés sur le serveur IMAP.
- Les emails envoyés par des groupes avec cette fonctionnalité activée auront leur adresse de réponse définie sur le même nom d’utilisateur email configuré dans les paramètres IMAP.
Pour commencer
Tout d’abord, il y a quelques paramètres de site que vous devez configurer avant de pouvoir mettre en place cette fonctionnalité sur un groupe.
enable imapetenable smtpdoivent tous deux être activés. IMAP est utilisé pour la synchronisation avec votre serveur de messagerie, et SMTP est utilisé pour envoyer des emails depuis votre serveur de messagerie.tagging enabledetallow staff to tag pms- Les deux doivent être activés, car la synchronisation des étiquettes applique des balises aux messages privés.enable imap write- Doit être activé si vous souhaitez que les modifications effectuées dans Discourse se reflètent sur votre serveur de messagerie (par exemple, balises, archivage de sujets et suppression de sujets).enable imap idle- Nous permet de recevoir des mises à jour en direct depuis votre serveur de messagerie SI votre serveur de messagerie prend en charge IDLE. Cela accélère considérablement la réflexion des changements de votre fournisseur de messagerie vers Discourse. Vous devriez l’activer (Gmail le prend en charge, par exemple). Si vous voulez tous les détails techniques, vous pouvez lire à ce sujet dans la RFC pour IDLE.imap polling period mins- SiIDLEn’est pas pris en charge, c’est le nombre de minutes que nous attendons avant de vérifier le serveur IMAP pour les changements. C’est aussi le temps que nous attendons entre l’envoi des changements au serveur IMAP depuis Discourse sienable imap writeest activé. Le minimum est de 1 minute.
Ces paramètres peuvent être laissés par défaut et ajustés si vous rencontrez des problèmes de synchronisation :
imap polling old emails- Le nombre maximum d’anciens emails (traités) à mettre à jour à chaque interrogation d’une boîte IMAP (0 pour tous).imap polling new emails- Le nombre maximum de nouveaux emails (non traités) à mettre à jour à chaque interrogation d’une boîte IMAP.imap batch import email- Le nombre minimum de nouveaux emails qui déclenchent le mode d’importation (désactive les alertes de publication).
Si vous souhaitez que les étiquettes/balises soient synchronisées avec le serveur IMAP, vous devez activer les paramètres de site tagging enabled et allow staff to tag pms.
Ensuite, vous devez accéder au groupe que vous souhaitez synchroniser avec votre serveur IMAP et remplir les paramètres.
Ces paramètres seront spécifiques au fournisseur, consultez ci-dessous pour plus de détails. Une fois que vous avez saisi les paramètres et les identifiants, cliquez sur “Enregistrer les modifications” et nous validerons les identifiants contre les serveurs du fournisseur IMAP. En cas de succès, la liste des boîtes de réception sera remplie et vous devrez choisir celle que vous souhaitez synchroniser (les conseils à ce sujet sont également spécifiques au fournisseur) :
Si la validation des identifiants n’a pas réussi, un message d’erreur s’affichera sur la page. Pour être clair, le serveur SMTP saisi sera utilisé pour envoyer des emails au nom du compte saisi sous nom d’utilisateur et mot de passe, et non le serveur SMTP principal de Discourse configuré pour les emails en masse.
Enfin, dans votre fichier app.yml, vous devrez ajouter DISCOURSE_ENABLE_EMAIL_SYNC_DEMON: true dans la section env et exécuter ./launcher rebuild. Cela permettra au processus d’arrière-plan de démarrer et de commencer à synchroniser les emails ! ![]()
Informations spécifiques au fournisseur
Gmail
Vous devez générer un mot de passe d’application, sinon vous devez activer “Accès aux applications moins sécurisées” que Google éliminera de toute façon à un moment donné. Utilisez ce mot de passe à la place de votre mot de passe de compte Gmail dans les paramètres IMAP. Consultez Sign in with app passwords - Gmail Help pour plus de détails. 
- Assurez-vous d’utiliser ces paramètres pour SMTP et IMAP :
- Port IMAP : 987
- Port SMTP : 587
- Serveur IMAP : imap.gmail.com
- Serveur SMTP : smtp.gmail.com
- Utilisez SSL pour SMTP et IMAP
- Il est fortement recommandé (bientôt une fonctionnalité d’interface utilisateur) de ne sélectionner que la boîte de réception “[Gmail]/All Mail” pour la synchronisation.
- Nous ne supprimons pas immédiatement les emails dans Gmail, nous les déplaçons simplement vers la corbeille lorsque le sujet est supprimé dans Discourse. La fonctionnalité de suppression “30 jours” dans Gmail prendra le relais à partir de là.
- Les balises appliquées aux sujets Discourse créeront des étiquettes dans Gmail et les appliqueront aux fils de discussion. Les étiquettes dans Gmail sont également des boîtes de réception IMAP !
Limitations
Il s’agit d’une fonctionnalité de stade alpha, elle n’est donc pas 100 % complète et polie. Par conséquent, les limitations suivantes s’appliquent actuellement :
- Seul Gmail est actuellement pris en charge en tant que fournisseur IMAP. Nous disposons d’une fonctionnalité IMAP générique, mais elle n’est pas garantie de fonctionner. Outlook Online est notre prochain grand objectif de prise en charge.
- La résurrection des emails supprimés de la corbeille de Gmail et la réflexion de l’état dans Discourse est actuellement instable.
Changer la boîte de réception de synchronisation après que des emails ont déjà été synchronisés n’est pas recommandé et peut entraîner de nombreux problèmes étranges. 
- Une seule boîte de réception peut être synchronisée par groupe.
- La communication de groupe à groupe est un territoire inexploré et ne fonctionnera pas bien (par exemple, envoyer un email à team@yoursite.com depuis support@yoursite.com si chacun de ces emails est configuré pour un groupe différent).
Il peut également y avoir d’autres pièges subtils et des aspérités, car il s’agit d’une fonctionnalité alpha.
Retour d’information & Feuille de route
Nous aimerions recevoir des retours de toute personne utilisant cette fonctionnalité avec Gmail. Je serai celui qui travaillera à corriger les bugs/problèmes. Le débogage est un peu difficile pour le moment, mais je travaille là-dessus !
Les prochaines choses sur lesquelles je vais travailler :
- Améliorer le débogage pour faciliter la visualisation des journaux IMAP et identifier les problèmes.
- Améliorer l’interface de messagerie de groupe pour limiter les boîtes de réception pouvant être sélectionnées dans Gmail et décourager/interdire le changement de boîtes de réception.
- Validation pour empêcher l’utilisation des mêmes détails IMAP pour plusieurs groupes.
- Éventuellement, des améliorations sur la façon dont les paramètres IMAP de groupe sont stockés et une meilleure expérience utilisateur pour valider les identifiants.
- Prise en charge d’Outlook.
Actuellement, tandis que nous réglons les problèmes, cette fonctionnalité n’est pas disponible pour nos clients hébergés.
Remerciements spéciaux 
@dan et @j.jaffeux sont les principaux contributeurs de cette énorme fonctionnalité qui a été travaillée pendant longtemps. Sans leur travail incroyable, je n’aurais pas été capable d’amener la fonctionnalité à ce stade et de faire cette annonce
.

