Discourse - SMTP from OVH

Hi,

I’m using SMTP server from OVH. I created login, password and opened discourse-setup file. After all, I do rebuild, but Discourse still don’t send mails. I saw topic on meta, but change configuration still don’t help.

Can anyone help?
Thanks!

Sorry for my English

Use one of the recommended email services.

My guess is that the domain name you are using is not approved by the mail host. By defaul Discourse will send from the host name of the site. Mail server is probably set for example.com and Discourse is using forum.example.com. There is a line at the bottom of the configuration file to change it.

Where? :thinking:

Yeah, mail serwer is smtp.example.com and I use forum.example.com

I managed to succeed with OVH, you have to add some things.

With a pro mail server (fr - uk)

  DISCOURSE_SMTP_ADDRESS: pro1.mail.ovh.net
  DISCOURSE_SMTP_PORT: 587
  DISCOURSE_SMTP_USER_NAME: email@forum.com
  DISCOURSE_SMTP_PASSWORD: "password"
  DISCOURSE_SMTP_ENABLE_START_TLS: true           # (optional, default true)
  DISCOURSE_SMTP_AUTHENTICATION: login  # (you need to add this line)

If you have a classic web hosting alongside the forum

  DISCOURSE_SMTP_ADDRESS: ssl0.ovh.net
  DISCOURSE_SMTP_PORT: 587
  DISCOURSE_SMTP_USER_NAME: email@forum.com
  DISCOURSE_SMTP_PASSWORD: "password"
  #DISCOURSE_SMTP_ENABLE_START_TLS: true           # (optional, default true)

But if you have a dedicated smtp server, can’t help, sorry

It should work

It don’t work :face_with_thermometer:

What offer did you use with OVH to access a webmail account?

If you only have a vps, they don’t provide a smtp account

This is free webmail. I have this with domain.

Your forum is in https? The port can change if it’s not the case

Yes

Should I change port? Whose port?

No, my examples are with forum on https.

You should contact OVH or check your guide in the webmail to know what smtp you have to put

Кто-нибудь добился успеха с OVH Email-Pro и Discourse?
Я пробовал следующее:

DISCOURSE_SMTP_ADDRESS: pro2.mail.ovh.net
DISCOURSE_SMTP_PORT: 587
DISCOURSE_SMTP_USER_NAME: admin@mydomain.com
DISCOURSE_SMTP_PASSWORD: mypassword
DISCOURSE_SMTP_ENABLE_START_TLS: true           # (опционально, по умолчанию true)
DISCOURSE_SMTP_AUTHENTICATION: login  # (нужно добавить эту строку)

Но получаю ошибку:
504 5.7.4 Нераспознанный тип аутентификации

при тестировании через ./discourse-doctor.

У меня платный аккаунт OVH Email-Pro.

Я уже теряю веру в то, что когда-нибудь смогу установить работающий Discourse. Я пробовал множество бесплатных почтовых аккаунтов, но Discourse так и не смог отправлять письма с ними. Даже пробовал свой собственный Postfix, но безрезультатно.

Работает ли это только с Mailgun? :frowning:

Отлично работает с SendGrid.

Да, у меня до сих пор есть форум, работающий с аккаунтом OVH Email-Pro. Всё отлично работает со следующими настройками:

  ## TODO: SMTP-сервер, используемый для проверки новых аккаунтов и отправки уведомлений
  DISCOURSE_SMTP_ADDRESS: pro1.mail.ovh.net
  DISCOURSE_SMTP_PORT: 587
  DISCOURSE_SMTP_USER_NAME: postmaster@*******
  DISCOURSE_SMTP_PASSWORD: "*********"
  DISCOURSE_SMTP_ENABLE_START_TLS: true           # (опционально, по умолчанию true)
  DISCOURSE_SMTP_AUTHENTICATION: login

Возможно, настройки изменились для почтового сервера pro2, но я сомневаюсь. Вы можете попробовать отключить START TLS или указать другой порт — я уверен, что всё ещё можно настроить.

Если вы хотите быстро провести несколько тестов, вам не нужно каждый раз пересобирать приложение. Вы можете выполнить:

./launcher destroy app
./launcher start app

чтобы обновить настройки электронной почты.

Попытался переключиться на pro1.ovh… но получаю ту же ошибку :frowning: Не понимаю, что может быть не так… Я уже начинаю злиться, потому что перепробовал столько разных аккаунтов, столько раз переустанавливал систему, но прогресса нет…

Это уже большая помощь. Большое спасибо за это. Переустановка занимает пару минут, и изменение даже одного параметра означало ожидание в течение нескольких минут. Теперь этот способ намного быстрее.

Спасибо. У меня заканчиваются варианты и идеи. Возможно, я попробую это, просто чтобы проверить, способен ли мой Discourse работать с любым SMTP-сервером. Я начинаю в этом сомневаться, так как у меня он не работает с OVH, но у кого-то другого — работает…

Ещё один вопрос: не могли бы вы попробовать выполнить telnet к вашему почтовому серверу OVH?

Думаю, это может быть связано с аутентификацией, ожидаемой моим почтовым сервером OVH.

Я попробовал следующее:

    telnet pro2.mail.ovh.net 587

Получил:

    220 pro2.mail.ovh.net Microsoft ESMTP MAIL Service ready at Sun, 17 Jan 2021 15:50:55 +0100
    EHLO mydomain-assigned-to-my-emailpro.pl
    250-pro2.mail.ovh.net Hello [185.56.211.110]
    250-SIZE 104857600
    250-PIPELINING
    250-DSN
    250-ENHANCEDSTATUSCODES
    250-STARTTLS
    250-**AUTH GSSAPI NTLM**
    250-8BITMIME
    250-BINARYMIME
    250 CHUNKING

Это заставляет меня думать, что в моём почтовом аккаунте OVH используется тип аутентификации, который Discourse не может распознать.

Что вы получаете при попытке telnet к вашему серверу? Видите ли вы AUTH LOGIN или, возможно, AUTH PLAIN?

РЕДАКТИРОВАНИЕ: и ещё один вопрос: у вас авторитетный или неавторитетный аккаунт Email Pro? Это тоже может иметь значение, думаю. У меня неавторитетный, так как я не смог настроить мой почтовый сервер OVH в авторитетном режиме.

К сожалению, я мало чем могу помочь, так как не управляю аккаунтом OVH для этого форума; я отвечаю только за серверную часть и Discourse. Этот аккаунт был создан несколько лет назад, и, скорее всего, с тех пор в настройках почтовых ящиков что-то изменилось. Для новых пользователей это может оказаться немного сложнее.

Однако, поскольку у меня есть доступ к серверу, я выполнил команду. Не знаю, поможет ли это, но вот что у меня получилось:

root@vps00000:~# telnet pro2.mail.ovh.net 587
Trying 37.59.xxx.xxx...
Connected to pro2.mail.ovh.net.
Escape character is '^]'.
220 pro2.mail.ovh.net Microsoft ESMTP MAIL Service ready at Sun, 17 Jan 2021 17:32:23 +0100
451 4.7.0 Timeout waiting for client input
Connection closed by foreign host.

(Может показаться, что я много знаю о почтовых системах, но на самом деле я новичок; я просто перепробовал кучу вариантов и сумел заставить это работать на нескольких форумах ^^)

Насчёт OVH я не знаю, извините.

Однако я устанавливал Discourse на наши собственные выделенные серверы под Ubuntu, на инстансы Linode, а также на macOS, и никогда не сталкивался с проблемами при отправке почты через SMTP.

Тем не менее, проблемы с отправкой почты через SMTP внутри Docker-контейнера могут возникать, но это вопрос конфигурации Docker, а не самой платформы Discourse.

Спасибо большое, Стивен, за попытку.
Однако, когда вы пробовали использовать telnet, я вижу, что вы не ввели ключевую команду для получения всех поддерживаемых функций сервера: EHLO.
Не могли бы вы попробовать снова подключиться к этому серверу через telnet и после установления соединения ввести:

EHLO pro1.mail.ovh.net + клавиша Enter?

Тогда сервер ответит несколькими строками, начинающимися с 250…, и одна из них будет содержать AUTH, перечисляя поддерживаемые типы аутентификации. На самом деле, я думаю, что это скорее особенность сервера, чем пользователя, потому что, когда я пробовал это, сервер отвечал ещё до того, как я ввёл свои учётные данные. Но мне всё же интересно увидеть, что получится у вас. Если окажется, что у вас тот же результат, что и у меня, то мне предстоит настоящая загадка: понять, почему это работает у вас и не работает у меня, хотя аутентификация OVH Email Pro не поддерживается в Discourse? :thinking:

Ещё один момент: вы ввели pro2, а не pro1, хотя изначально указали, что ваш почтовый сервер — pro1. Я знаю, что могу сделать то же самое, но не уверен — возможно, это работает иначе в зависимости от геолокации IP? Я тоже новичок в этом.

Заранее спасибо!