Mise à jour : J’ai testé la branche main actuelle
J’ai construit la branche main actuelle localement et j’ai trouvé un autre problème.
L’ancienne image release de Docker Hub exécute toujours l’ancien code de rejet rapide et échoue lors de la commande RCPT avec :
450 4.7.1 Recipient address rejected: Internal error, API request failed
Cependant, la branche main actuelle a déjà supprimé l’implémentation de smtp_should_reject / rejet rapide. Après la construction de main, Postfix échoue plutôt avec :
warning: connect to private/policy: No such file or directory
451 4.3.5 Recipient address rejected: Server configuration problem
J’ai retracé ce problème à deux références restantes dans le Dockerfile :
check_policy_service unix:private/policy
Le service de politique lui-même a été supprimé, mais smtpd_recipient_restrictions référence toujours son socket.
J’ai supprimé unix:private/policy de smtpd_recipient_restrictions, reconstruit l’image, et les e-mails SMTP entrants ont alors été acceptés avec succès.
Après le passage à une clé API globale, la livraison vers Discourse a également réussi :
dsn=2.0.0, status=sent (delivered via discourse service)
Il semble donc y avoir deux problèmes distincts :
- L’image publiée
discourse/mail-receiver:releaseest obsolète et contient toujours l’ancienne implémentation de rejet rapide. - La branche
mainactuelle a supprimé cette implémentation, mais leDockerfileconfigure toujours Postfix pour utiliserunix:private/policy.
Il pourrait y avoir également un problème distinct avec les clés API granulaires : une clé limitée uniquement à receive emails a renvoyé une erreur HTTP 404 depuis /admin/email/handle_mail, tandis qu’une clé API globale a renvoyé une réponse HTTP 200.
Je peux soumettre une PR pour les deux références obsolètes de private/policy dans le Dockerfile si cela peut être utile.