Activer la réception et la réponse aux e-mails

J’utilise NetCore Cloud comme fournisseur de messagerie, mais je ne peux pas activer la réception d’e-mails ni répondre aux e-mails. Avez-vous une idée de la façon dont je peux y parvenir en utilisant NeCore Cloud Email ?

1 « J'aime »

Je travaille sur ce sujet avec @Abdelrahman_MoHamed - ce que nous pensons être notre problème principal/blocage est que nous essayons de configurer netcore pour envoyer des e-mails de réponse (entrant) à discourse pour traitement.

Ce que nous n’arrivons pas à comprendre, c’est comment faire parvenir ces données (l’e-mail entrant analysé) à discourse pour traitement. Où se trouve l’écran de configuration que nous regardons dans netcore :

Nous pensons que nous devrions entrer une URL similaire à celle-ci :

https://forum.mamapedia.com/admin/email/handle_mail

Cependant, nous sommes confus car lorsque nous examinons la configuration des webhooks, il semble s’agir de requêtes POST…

De plus, nous supposons que nous devrions utiliser les webhooks pour atteindre notre objectif.

Salut la communauté Discourse,

Je travaille sur la configuration de la fonctionnalité de réponse par e-mail pour mon instance Discourse et j’ai besoin de clarifications et de conseils.

Ma configuration actuelle
• J’utilise Netcore comme fournisseur de messagerie.

• Pour les e-mails entrants, j’ai configuré une règle dans Netcore pour capturer tous les e-mails correspondant au format : reply+*@mydiscourse.com.

• Netcore prend en charge le transfert de ces e-mails vers :

  1. Une autre adresse e-mail
  2. Un webhook

Ce que j’ai essayé
J’ai tenté de transférer ces e-mails vers le point de terminaison Discourse suivant :

https://mydiscourse.com/admin/email/handle_mail

Malheureusement, cela a entraîné un statut 404 Not Found.

Mes questions

  1. Qui gère les e-mails entrants dans cette configuration ? Doivent-ils être traités directement par Discourse, ou le fournisseur de messagerie doit-il les transférer dans un format spécifique pour que Discourse les gère ?

  2. J’ai remarqué une option appelée Réception directe d’e-mails à l’aide de mail-receiver. Serait-ce une meilleure approche pour ma configuration ?

Je veux m’assurer que les e-mails entrants sont correctement traités pour activer la fonctionnalité de réponse par e-mail. Pourriez-vous s’il vous plaît me guider sur la bonne façon de configurer cela avec Netcore, ou m’orienter vers la documentation pertinente ?

Merci d’avance pour votre soutien !

1 « J'aime »

Un point ici, netcore est ce qui était auparavant connu sous le nom de « pepipost » - donc si cela vous dit quelque chose, cela pourrait nous aider à nous orienter dans la bonne direction.

Merci d’avance !

Le moyen le plus simple est Configurer la réception d’e-mails entrants en livraison directe pour les sites auto-hébergés avec Mail-Receiver

Je suis à peu près sûr que le point de terminaison que vous utilisez est destiné à la gestion des rejets, mais je pourrais me tromper.

Merci pour votre réponse. En utilisant cette configuration, nous aurons un point de terminaison que nous pourrons utiliser dans le fournisseur d’e-mails pour y publier les données ?

@pfaffman très utile, merci. Donc, en mettant de côté netcore (alias pepipost), il semble que vous disiez que si nous voulons :

  • l’envoi d’e-mails
  • la gestion des rejets
  • la gestion des réponses

Indépendamment du fait que nous utilisions mailgun, sengrid, etc., nous devons Configurer la réception directe d’e-mails pour les sites auto-hébergés avec Mail-Receiver - est-ce correct ? Vous dites que c’est la manière la « plus simple », donc je suis curieux, existe-t-il d’autres moyens ?

Encore une fois, j’apprécie vraiment la réponse, nous sommes bloqués sur ce point depuis quelques jours…

De plus, en publiant dans la communauté générale ici, nous cherchons une confirmation que Configurer la réception directe des e-mails entrants pour les sites auto-hébergés avec Mail-Receiver est nécessaire pour une gestion complète des e-mails dans les environnements auto-hébergés.

Si quelqu’un d’autre peut confirmer que c’est bien requis, cela serait très utile.

Il est également possible de configurer une boîte aux lettres pop3 que Discourse interrogera. Le récepteur de courrier est plus simple et permet d’utiliser des adresses arbitraires pour les boîtes aux lettres de groupe ou de catégorie.

1 « J'aime »

Merci @pfaffman - encore une fois très utile. Nous allons donc continuer avec le récepteur de courrier, nous sommes sur une installation multisite. Une fois que nous aurons terminé, en supposant que tout se passe bien, nous reviendrons ici.

Salut @pfaffman , merci encore pour ton aide.

J’ai essayé de configurer le conteneur de réception d’e-mails de Discourse pour mon forum, mais j’ai rencontré un problème lié au rejet des e-mails lors des tests. Voici les détails du problème :

  • Domaine du forum : test.mamapedia.com (transmis par Cloudflare)

  • Domaine du récepteur d’e-mails : reply.mamapedia.com

  • Détails de l’erreur :
    Lors de la tentative de test du récepteur d’e-mails avec Telnet, je reçois l’erreur suivante :

    telnet reply.mamapedia.com 25
    Trying 34.122.3.90...
    Connected to reply.mamapedia.com.
    Escape character is '^]'.
    220 ESMTP server
    MAIL FROM: <abdohamoda636@gmail.com>
    250 2.1.0 Ok
    RCPT TO: <test@reply.mamapedia.com>
    554 5.7.1 <test@reply.mamapedia.com>: Recipient address rejected: Mail to this address is not accepted. Check the address and try to send again.
    
    

    Journaux du récepteur d’e-mails : Les journaux du conteneur de réception d’e-mails affichent le message de rejet suivant :

    Dec 17 17:19:12 test-discourse-20241125-173103-mail-receiver postfix/smtpd[139]: NOQUEUE: reject: RCPT from 90.3.122.34.bc.googleusercontent.com[34.122.3.90]: 554 5.7.1 <test@reply.mamapedia.com>: Recipient address rejected: Mail to this address is not accepted. Check the address and try to send again?; from=<abdohamoda636@gmail.com> to=<test@reply.mamapedia.com> proto=SMTP
    Dec 17 17:19:12 test-discourse-20241125-173103-mail-receiver postfix/smtpd[139]: using backwards-compatible default setting smtpd_relay_before_recipient_restrictions=no to reject recipient "test@reply.mamapedia.com" from client "90.3.122.34.bc.googleusercontent.com[34.122.3.90]"
    
    

    Observations :

    • Le message d’erreur dans les journaux indique que l’adresse du destinataire “test@reply.mamapedia.com” est rejetée.
    • Le problème semble être lié à la configuration de postfix ou à une sorte de restriction qui empêche l’acceptation de l’e-mail.

    Ce que j’ai essayé :

    1. J’ai vérifié que les enregistrements DNS (MX) pour reply.mamapedia.com sont correctement configurés.
    2. J’ai revérifié la configuration du conteneur de réception d’e-mails et confirmé que le domaine reply.mamapedia.com est correctement défini.

    Fichier de configuration du récepteur d’e-mails

    env:
      LC_ALL: en_US.UTF-8
      LANG: en_US.UTF-8
      LANGUAGE: en_US.UTF-8
    
      ## Où les e-mails vers votre forum doivent être envoyés. En général, il est tout à fait acceptable
      ## d'utiliser le même domaine que le forum lui-même ici.
      MAIL_DOMAIN: reply.mamapedia.com
    # décommentez ces lignes (et le volume ci-dessous !) pour prendre en charge TLS
      POSTCONF_smtpd_tls_key_file:  /letsencrypt/reply.mamapedia.com.key
      POSTCONF_smtpd_tls_cert_file:  /letsencrypt/fullchain.cer
      POSTCONF_smtpd_tls_security_level: may
    
    
      ## L'URL de base de cette instance Discourse.
      ## Ce sera l'URL de votre site Discourse. Par exemple,
      ## https://test.mamapedia.com. Si vous utilisez une configuration en sous-dossier,
      ## assurez-vous d'en tenir compte (par exemple, https://example.com/forum).
      DISCOURSE_BASE_URL: 'https://test.mamapedia.com'
    
      ## La clé API principale de votre forum Discourse. Vous pouvez l'obtenir dans
      ## l'onglet "API" de votre panneau d'administration.
      DISCOURSE_API_KEY:  '#############'
    
      ## Le nom d'utilisateur à utiliser pour le traitement des e-mails entrants. Sauf si vous avez
      ## renommé l'utilisateur `system`, vous devriez laisser ceci tel quel.
      DISCOURSE_API_USERNAME: system
    
    volumes:
      - volume:
          host: /var/discourse/shared/mail-receiver/postfix-spool
          guest: /var/spool/postfix
    # décommentez pour prendre en charge TLS
      - volume:
          host: /var/discourse/shared/standalone/letsencrypt
          guest: /letsencrypt
    
    
    

    Enregistrements DNS Cloudflare

    image

    image

    L'image montre une page web avec un champ intitulé "A", un champ pour saisir du texte, une adresse IP, une icône de nuage indiquant "Proxied" et un bouton "Auto", avec un bouton "Edit" sur la droite. (Légendé par l'IA)

    J’apprécierais toute aide ou éclaircissement que vous pourriez apporter.

1 « J'aime »

Je ne sais pas, mais de telles erreurs sont toujours un problème de DNS. Et à chaque fois que Cloudflare est impliqué aussi. La dernière fois, il y a assez longtemps, j’ai rencontré cette erreur d’évasion, c’était un délai d’attente à cause d’un serveur mal configuré.

2 « J'aime »

J’ai ce message lorsque j’essaie d’envoyer un message via telnet, mais cela fonctionne lorsque je réponds aux notifications avec mes fournisseurs de messagerie habituels.

Je vous suggère d’activer la fonctionnalité de réponse par e-mail et de l’essayer dans le monde réel pour voir comment cela se passe.

3 « J'aime »

Merci, @Canapin , vous avez peut-être raison, j’essaierai de répondre à tous les e-mails et je verrai, en espérant que cela fonctionne.

Je posterai les mises à jour.

1 « J'aime »

Au cas où cela aiderait, voici le contenu de mon fichier mail-receiver.yml fonctionnel.

J’utilise Cloudflare SSL, donc puisque Cloudflare fournit le TLS, j’ai laissé toutes les lignes TLS commentées.


## ceci est le modèle de conteneur du récepteur de courrier
##
## Après avoir apporté des modifications à ce fichier, VOUS DEVEZ reconstruire
## /var/discourse/launcher rebuild mail-receiver
##
## SOYEZ *TRÈS* PRUDENT LORS DE L'ÉDITION !
## LES FICHIERS YAML SONT EXTRÊMEMENT SENSIBLES AUX ERREURS D'ESPACEMENT OU D'ALIGNEMENT !
## visitez http://www.yamllint.com/ pour valider ce fichier si nécessaire

base_image: discourse/mail-receiver:release
update_pups: false

expose:
  - "25:25"   # SMTP

env:
  LC_ALL: en_US.UTF-8
  LANG: en_US.UTF-8
  LANGUAGE: en_US.UTF-8

  ## Où les e-mails vers votre forum doivent être envoyés. En général, il est tout à fait acceptable
  ## d'utiliser le même domaine que le forum lui-même ici.
  MAIL_DOMAIN: mydiscourseinstance.com
# décommentez ceci (et le volume ci-dessous !) pour prendre en charge le TLS
#  POSTCONF_smtpd_tls_key_file:  /letsencrypt/discourse.example.com/discourse.example.com.key
#  POSTCONF_smtpd_tls_cert_file:  /letsencrypt/discourse.example.com/fullchain.cer
#  POSTCONF_smtpd_tls_security_level: may


  ## L'URL de base pour cette instance Discourse.
  ## Ce sera l'URL de votre site Discourse. Par exemple,
  ## https://discourse.example.com. Si vous utilisez une configuration en sous-dossier,
  ## assurez-vous d'en tenir compte (par exemple, https://example.com/forum).
  DISCOURSE_BASE_URL: 'https://mydiscourseinstance.com'

  ## La clé API principale de votre forum Discourse. Vous pouvez l'obtenir à partir de
  ## l'onglet "API" de votre panneau d'administration.
  DISCOURSE_API_KEY: xxxxxxxxxxxxxxxx

  ## Le nom d'utilisateur à utiliser pour le traitement des e-mails entrants. Sauf si vous avez
  ## renommé l'utilisateur `system`, vous devriez le laisser tel quel.
  DISCOURSE_API_USERNAME: system

volumes:
  - volume:
      host: /var/discourse/shared/mail-receiver/postfix-spool
      guest: /var/spool/postfix
# décommentez pour prendre en charge le TLS
#  - volume:
#      host: /var/discourse/shared/standalone/letsencrypt
#      guest: /letsencrypt

Merci à tous pour vos précieuses suggestions et votre soutien ! @pfaffman , @Jagster , @Canapin et @denvergeeks — j’apprécie votre aide. Je voulais vous informer que cela fonctionne maintenant ! J’ai supprimé toutes mes anciennes configurations, mis à niveau Docker vers la dernière version et me suis assuré que l’enregistrement MX requis était correctement ajouté. Telnet ne fonctionne toujours pas, mais je peux maintenant recevoir des réponses avec succès. Merci encore de m’avoir guidé à travers cela !

2 « J'aime »

Je suis content que cela fonctionne finalement. - Je suis curieux de savoir ce qui, dans la configuration de postfix, rejette les e-mails telnet (ils pourraient être rejetés pour de nombreuses raisons, mais la raison donnée semble erronée).

C’est exact. Il n’accepte que les e-mails que Discourse acceptera.

This topic was automatically closed 30 days after the last reply. New replies are no longer allowed.