Discourse - OVHからのSMTP

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.

「いいね!」 1

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

「いいね!」 1

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

「いいね!」 1

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  # (この行を追加する必要があります)

しかし、./discourse-doctor でテストすると、次のエラーが表示されます:
504 5.7.4 認識されない認証タイプ

有料の 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 メールサーバーでは設定が変更されている可能性もありますが、そうは思いません。enable start tls を false に設定したり、別のポートを試したりしてみてください。おそらくまだ可能です。

素早くテストを行いたい場合は、アプリを毎回再構築する必要はありません。以下のコマンドを実行してください。

./launcher destroy app
./launcher start app

これでメール設定を更新できます。

「いいね!」 1

pro1.ovh に切り替えてみましたが、同じエラーが発生します :frowning: 何が問題なのか見当もつきません…もう怒りっぽくなってきました。これまでに何度も異なるアカウントを試したり、インストールを何度も再構築したりして、一向に進まないからです。

これはすでに大きな助けになりました。本当にありがとうございます。再構築には数分かかり、オプションを一つ変更するだけでも数分待たされていましたが、この方法ならはるかに速く進められます。

「いいね!」 1

ありがとうございます。選択肢やアイデアが尽きかけています。もしかしたら、自分の Discourse がどの SMTP サーバーとも連携できるのかを確認するために、これを使ってみようと思います。OVH では動作しないのに、他の人では動作するということで、次第に疑問に思い始めています。

もう一つ質問です。OVH のメールサーバーに対して telnet を実行してみてください。
私の 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 LOGINAUTH PLAIN は表示されますか?

追記: もう一つ質問です。あなたは権限あり(authoritative)のメールプロアカウントですか、それとも権限なし(non-authoritative)ですか?これも関係するかもしれません。私は権限なしのアカウントを使用しており、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 メールの問題に直面したことはありません。

ただし、Docker コンテナ内での SMTP メールの動作に問題が発生する場合がありますが、これは Discourse の問題というよりも Docker の設定に関する問題です。

Steven さん、ご対応いただきありがとうございます。

ただ、telnet を試された際、サポートされているサーバー機能をすべて取得するために重要なコマンド EHLO を入力されていないようです。

改めてこのサーバーに telnet で接続し、接続後に以下のように入力してみてください。

EHLO pro1.mail.ovh.net + Enter キー

そうすると、サーバーは 250 で始まる数行で応答し、その中に AUTH を含む行があり、サポートされている認証方式がリストされます。実はこれはユーザーの問題というよりサーバー側の問題ではないかと考えています。なぜなら、私が試した際にはユーザー名を入力する前に応答が返ってきたからです。それでも、どのような応答が返ってくるか確認できれば幸いです。もし私と同じ応答が返ってくる場合、OVH Email Pro の認証が Discourse でサポートされていないにもかかわらず、なぜあなたでは動作し、私では動作しないのか、本当に謎を解く必要がありますね :thinking:

また、pro2 と入力されていますが、当初はメールサーバーが pro1 であると示されていました。私でも同じことが可能ですが、IP の地理的位置情報に基づいて動作が異なるのかもしれません。私もこの分野の初心者です。

どうぞよろしくお願いいたします。