Configurer la réception des e-mails en livraison directe pour sites auto-hébergés avec Mail-Receiver

Bonjour ! J’ai un problème étrange où j’ai configuré ceci en suivant le guide, et ça fonctionne très bien ! Cependant, quelque chose s’est mal passé avec l’e-mail sortant, ce qui, je pensais, ne serait pas affecté par tout cela. Sidekiq donne l’erreur suivante pour chaque tentative d’e-mail (tous bloqués dans la liste des tentatives) depuis que j’ai activé mail-receiver :

Jobs::HandledExceptionWrapper: Wrapped OpenSSL::SSL::SSLError: SSL_read: unexpected eof while reading

Mes recherches me font penser que cela est lié au TLS d’une manière ou d’une autre. J’avais décommenté les lignes liées au TLS dans le fichier .yml, mais les re-commenter n’a pas non plus résolu le problème. J’ai essayé les instructions du guide pour résoudre les conflits Postfix, mais apparemment je n’ai pas Postfix ? (Le répertoire /etc/postfix du guide n’existe pas sur mon instance, et il ne reconnaît pas non plus postfix comme un service.) Et selon les résultats de netstat, seul docker-proxy utilise le port 25.

Nous utilisons Gmail comme service SMTP sortant, et en fait, nous utilisions Gmail pour le polling POP3 entrant avant cela. J’ai supprimé un tas d’enregistrements MX pointant vers Google, mais le guide disait de le faire.

Voici mon mail-receiver.yml, avec certains détails bien sûr masqués :

## ceci est le modèle de conteneur de réception d'e-mails
##
## Après avoir apporté des modifications à ce fichier, vous DEVEZ reconstruire
## /var/discourse/launcher rebuild mail-receiver
##
## SOYEZ *TRÈS* PRUDENT LORS DE LA MODIFICATION !
## 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: discourse.[mydomain].org
# décommentez ceci (et le volume ci-dessous !) pour prendre en charge TLS
  POSTCONF_smtpd_tls_key_file:  /letsencrypt/discourse.[mydomain].org/discourse.[mydomain].org.key
  POSTCONF_smtpd_tls_cert_file:  /letsencrypt/discourse.[mydomain].org/fullchain.cer
  POSTCONF_smtpd_tls_security_level: may


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

  ## La clé API principale de votre forum Discourse. Vous pouvez l'obtenir
  ## dans l'onglet "API" de votre panneau d'administration.
  DISCOURSE_API_KEY: [myapikey]

  ## 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 TLS
  - volume:
      host: /var/discourse/shared/standalone/letsencrypt
      guest: /letsencrypt

La technologie des e-mails est un peu en dehors de mon expertise, donc j’apprécie tout conseil, même s’il s’agit de signaler que j’ai manqué quelque chose de stupide lors de la configuration. Merci !

1 « J'aime »