Я пытаюсь настроить исходящую почту на самостоятельно размещённом экземпляре Discourse, но пока безрезультатно. Даже с поддержкой Namecheap нам не удалось это сделать. Надеюсь, кто-то здесь подскажет, чего мне не хватает.
Настройка
Хостинг: Droplet от DigitalOcean, Discourse установлен официальным методом Docker (/var/discourse).
Домен: управляется через Cloudflare (проксируемые A-записи для сайта, DNS-только для MX/почтовых записей).
Провайдер почты: Namecheap Private Email.
Версия Discourse: последняя ветка tests-passed.
Что работает
Я могу получать почту на свой ящик hello@domain.com без проблем.
DNS-записи MX, SPF, DKIM и DMARC настроены и проверены.
Входящая почта через Gmail → hello@domain.com работает.
Что не работает
Исходящая почта (письма активации, тестовые письма из Discourse) никогда не доставляется.
Поддержка Namecheap подтвердила, что мои учётные данные и настройки верны, но не смогла объяснить, почему это не работает с сервера.
Текущая конфигурация app.yml
DISCOURSE_SMTP_ADDRESS: mail dot privateemail dot com
DISCOURSE_SMTP_PORT: 587
DISCOURSE_SMTP_USER_NAME: hello at domain dot com
DISCOURSE_SMTP_PASSWORD: “PASSWORD”
DISCOURSE_SMTP_ENABLE_START_TLS: true
DISCOURSE_SMTP_DOMAIN: domain dot com
DISCOURSE_NOTIFICATION_EMAIL: hello at domain dot com DISCOURSE_SMTP_AUTHENTICATION: login
Для отправки транзакционной почты рекомендуется использовать такие сервисы, как Mailgun, Brevo или Amazon SES. Это оптимальный способ отправки писем с вашего форума.
«Мы с радостью рассмотрим возможность того, чтобы наша команда безопасности более детально изучила вопрос разблокировки SMTP-портов для вас. Чтобы мы могли лучше понять ваши потребности и продвинуться в рассмотрении вашего запроса, пожалуйста, предоставьте следующую информацию о ваших бизнес-требованиях:
Какой тип писем вы планируете отправлять (например, транзакционные, рассылки и т. д.)?
Планируете ли вы размещать собственную почтовую систему или воспользоваться сторонним сервисом отправки писем?
По возможности, пожалуйста, объясните необходимость использования конкретных портов и укажите, почему нельзя использовать нестандартные порты или API.
Как только мы получим от вас ответ, мы передадим ваш запрос соответствующей команде со всеми предоставленными деталями».
В таком случае вам стоит перейти на использование транзакционного почтового сервиса, такого как Mailgun (100 писем бесплатно в день) или Brevo (300 писем бесплатно в день). После этого вы можете изменить порт на 2525 в вашем файле app.yml, так как он не заблокирован.
Мы понимаем, что у вас есть необходимость в приложении или бизнес-потребность в открытии портов 25, 465 и 587. Однако в соответствии с нашей текущей политикой мы не можем удовлетворить запросы на снятие ограничений на эти порты.
Мы рекомендуем использовать альтернативные порты, если ваше приложение это позволяет, например порт 2525. Также вы можете использовать REST API с SendGrid, который позволяет отправлять электронные письма через HTTP-запросы вместо традиционного протокола SMTP, если это подходит для вас, или воспользоваться другим сторонним сервисом отправки.
Пожалуйста, не стесняйтесь обращаться к нам, если у вас возникнут дополнительные вопросы. Мы всегда готовы помочь!
@Ethsim2 спасибо, я думаю, всё понятно. Как и Linode, они закрыли всё для борьбы со спамом; только Linode открывает порты по запросу, но это нормально.