Discourse/mail-receiver:образ Docker release, похоже, устарел

Обновление: я протестировал текущую ветку main

Я собрал текущую ветку main локально и обнаружил ещё одну проблему.

Старый образ release на Docker Hub по-прежнему использует старый код быстрого отклонения и во время RCPT выдаёт ошибку:

450 4.7.1 Recipient address rejected: Internal error, API request failed

Однако в текущей ветке main реализация smtp_should_reject / быстрого отклонения уже удалена. После сборки main Postfix вместо этого выдаёт ошибку:

warning: connect to private/policy: No such file or directory
451 4.3.5 Recipient address rejected: Server configuration problem

Я выяснил, что это связано с двумя оставшимися ссылками в Dockerfile:

check_policy_service unix:private/policy

Сам сервис политики был удалён, но smtpd_recipient_restrictions по-прежнему ссылается на его сокет.

Я удалил unix:private/policy из smtpd_recipient_restrictions, пересобрал образ, и входящая SMTP-почта успешно принималась.

После переключения на глобальный API-ключ доставка в Discourse также прошла успешно:

dsn=2.0.0, status=sent (delivered via discourse service)

Похоже, что есть две отдельные проблемы:

  1. Опубликованный образ discourse/mail-receiver:release устарел и по-прежнему содержит старую реализацию быстрого отклонения.
  2. В текущей ветке main эта реализация была удалена, но в Dockerfile Postfix по-прежнему настроен на использование unix:private/policy.

Возможно, также есть отдельная проблема с гранулярными API-ключами: ключ, ограниченный только функцией receive emails, возвращал HTTP 404 с /admin/email/handle_mail, тогда как глобальный API-ключ возвращал HTTP 200.

Я могу отправить PR для исправления двух устаревших ссылок на private/policy в Dockerfile, если это поможет.

2 лайка