メール送信に問題があります

こんにちは。

メールサーバーを切り替えた後にメールを送信しようとしていますが、以前は正常に動作していましたが、現在はメールを送信できません。問題は、接続は完全に機能していることです。しかし、何らかの理由でメールを送信できません。

メールテスト用のメールアドレス? ('n'でスキップ) [community@brohosting.eu]:
community@brohosting.euにメールを送信しています。 . .
smtppro.zoho.eu:587、ユーザー名:info@brohosting.eu、ログイン認証を使用してcommunity@brohosting.euへの送信をテストしています。
SMTPサーバー接続に成功しました。
community@brohosting.euに送信しています。 . .
メール送信に失敗しました。
ファイルの終わりに到達しました

何か提案はありますか?

VPSホスティングプロバイダーがSMTPポートをアンロックしているか確認してください(接続は確認されたように見えますが…)。メールサービスのログも確認して、リクエストの証拠を探してください。

「いいね!」 1

それはいつものように私のRaspberry Piで動作しています。しかし、接続は良好です。Zohoに確認します。

「ファイルの終端」というメッセージは以前にも見ましたが、解決策を覚えていません。ここで検索すると見つかるかもしれません。

そもそも、接続が成功した場合に何かを変更する必要があるのでしょうか。

また、はい、そのようなトピックをいくつか見つけました。あなたも返信したスレッドもありましたが、廃止された465ポートにフォールバックするつもりはありません。明らかに、問題はDiscourseまたはそのメール送信ライブラリにあります。

編集済みの app.yml を共有していただけますか?SMTP セクションに何か不足しているか、設定が間違っていると思われるのですが。

「いいね!」 1

接続が成功した場合、どのように設定が誤っている可能性があるのでしょうか?

## これはオールインワンのスタンドアロン Discourse Docker コンテナテンプレートです
##
## このファイルを変更した後は、必ず再構築してください
## /var/discourse/launcher rebuild app
##
## 編集は *非常に注意深く* 行ってください!
## YAML ファイルは、空白や配置の間違いに非常に敏感です!
## 必要に応じてこのファイルを検証するには、http://www.yamllint.com/ を参照してください

templates:
  - "templates/postgres.template.yml"
  - "templates/redis.template.yml"
  - "templates/web.template.yml"
  - "templates/web.ratelimited.template.yml"
## HTTPS を追加したい場合は、これらの 2 行のコメントを解除してください
#  - "templates/web.ssl.template.yml"
#  - "templates/web.letsencrypt.ssl.template.yml"

## このコンテナはどの TCP/IP ポートを公開しますか?
## Discourse を Apache や nginx のような他のウェブサーバーとポートを共有したい場合は、
## 詳細については https://meta.discourse.org/t/17247 を参照してください
expose:
  - "8080:8080"   # http
  - "15432:5432" # PostgreSQL
#  - "8443:8443" # https

params:
  db_default_text_search_config: "pg_catalog.english"

  ## db_shared_buffers を合計メモリの最大 25% に設定します。
  ## メモリ検出に基づいてブートストラップによって自動的に設定されるか、上書きできます
  #db_shared_buffers: "256MB"

  ## ソートパフォーマンスを向上させる可能性がありますが、接続ごとのメモリ使用量が増加します
  #db_work_mem: "40MB"

  ## このコンテナが使用する Git リビジョンは? (デフォルト: tests-passed)
  #version: tests-passed

env:
  LC_ALL: en_US.UTF-8
  LANG: en_US.UTF-8
  LANGUAGE: en_US.UTF-8
  EMBER_CLI_PROD_ASSETS: 1
  # DISCOURSE_DEFAULT_LOCALE: en

  ## 同時に処理できるウェブリクエスト数は?メモリと CPU コアに依存します。
  ## CPU 検出に基づいてブートストラップによって自動的に設定されるか、上書きできます
  #UNICORN_WORKERS: 3

  ## TODO: この Discourse インスタンスが応答するドメイン名
  ## 必須。Discourse は IP アドレスのみでは機能しません。
  DISCOURSE_HOSTNAME: community.brohosting.eu

  ## 指定されたホスト名 (-h オプション) と同じホスト名でコンテナを起動したい場合は、コメントを解除してください (デフォルトは "$hostname-$config")
  #DOCKER_USE_HOSTNAME: true

  ## TODO: 初期サインアップ時に管理者および開発者になるメールアドレスのカンマ区切りリスト
  ## 例: 'user1@example.com,user2@example.com'
  DISCOURSE_DEVELOPER_EMAILS: 'community@brohosting.eu'

  ## TODO: 新規アカウントの検証と通知の送信に使用される SMTP メールサーバー
  # SMTP アドレス、ユーザー名、パスワードが必要です
  # 注意: SMTP パスワードの '#' 文字は問題を引き起こす可能性があります!
  DISCOURSE_SMTP_ADDRESS: smtppro.zoho.eu
  DISCOURSE_SMTP_PORT: 587
  DISCOURSE_SMTP_USER_NAME: info@brohosting.eu
  DISCOURSE_SMTP_PASSWORD: "XXXXXXXXXXXX"
  DISCOURSE_SMTP_ENABLE_START_TLS: true           # (オプション、デフォルトは true)
  DISCOURSE_SMTP_DOMAIN: brohosting.eu
  DISCOURSE_SMTP_AUTHENTICATION: login
  DISCOURSE_NOTIFICATION_EMAIL: community@brohosting.eu

  ## Lets Encrypt テンプレートを追加した場合、無料 SSL 証明書を取得するには以下をコメント解除してください
#  LETSENCRYPT_ACCOUNT_EMAIL: info@brohosting.eu

  ## この Discourse インスタンスの HTTP または HTTPS CDN アドレス (プル用に設定)
  ## 詳細については https://meta.discourse.org/t/14857 を参照してください
  #DISCOURSE_CDN_URL: https://discourse-cdn.example.com

  ## IP アドレス検索用の MaxMind geolocation IP アドレスキー
  ## 詳細については https://meta.discourse.org/t/-/137387/23 を参照してください
  #DISCOURSE_MAXMIND_LICENSE_KEY: 1234567890123456
## Docker コンテナはステートレスです。すべてのデータは /shared に保存されます
volumes:
  - volume:
      host: /var/discourse/shared/standalone
      guest: /shared
  - volume:
      host: /var/discourse/shared/standalone/log/var-log
      guest: /var/log

## プラグインはここに配置します
## 詳細については https://meta.discourse.org/t/19157 を参照してください
hooks:
  after_code:
    - exec:
        cd: $home/plugins
        cmd:
          - git clone https://github.com/discourse/docker_manager.git
          - git clone https://github.com/discourse/discourse-chat.git
          - git clone https://github.com/discourse/discourse-reactions.git
          - git clone https://github.com/discourse/discourse-solved.git
          - git clone https://github.com/discourse/discourse-voting.git
          - git clone https://github.com/discourse/discourse-chat-integration.git


## ビルド後に実行するカスタムコマンド
run:
  - exec: echo "カスタムコマンドの開始"
  ## 最初のサインアップの「差出人」メールアドレスを設定したい場合は、コメントを解除して変更してください:
  ## 最初のサインアップメールを受け取ったら、行を再度コメントアウトしてください。一度だけ実行する必要があります。
  #- exec: rails r "SiteSetting.notification_email='info@unconfigured.discourse.org'"
  - exec: echo "カスタムコマンドの終了"

info@brohosting.eucommunity@brohosting.eu としてメールを送信するための適切な設定になっていますか?

これは、SMTPプロバイダー側で確認する必要があります。

「いいね!」 4

何か試してみて、皆さんに知らせます。

Bhanuさん、ありがとうございます。これにはあまり注意を払っていませんでした。Zohoの設定は、これらのオプションを隠しすぎているので嫌いです。

「いいね!」 1

良いニュースは、あなたが提案したようにSMTPライブラリのデバッグに5日間費やさなかったことです!

(私は最近、プルダウンメニューがプルダウンしないコードをデバッグするのに、数日かけて十数時間費やしました。プルダウンメニューを挿入したコーヒーを熟読しました。プルダウンメニューのデータを生成したコーヒーを調べました。他のプルダウンメニューの動作と比較しました。その後、プルダウンメニューがプルダウンするためのスペースがないようにした、挿入したCSSの1行を見つけました。)

うまく動作してよかったです!

「いいね!」 3

つまり、少なくともチェックして、より良いエラーを出力できるはずです。これは本当に混乱を招くものです。

そのため、標準のインストールには推奨されるメールプロバイダーのリストが含まれています。これらの推奨事項から逸脱したい場合は、それがもたらす追加の技術的な複雑さも受け入れることになります。すべてのメールサーバーが同じように動作するわけではなく、Discourseがそれに対処する場所ではありません。

上記の要約は、Zohoの設定を誤ったということです。Discourseはそこでの設定を確認できず、正しい情報を提供していると想定します。もし./discourse-setupを再実行していれば、送信アドレスを再度尋ねられ、この設定ミスにより誤ったアドレスを入力していたでしょう。

ユーザーを多くの問題から救うことはできますが、ユーザー自身から救うことはめったにありません。次回は、より可能性の高い側面に焦点を当て、外部システムの詳細を再確認してから、数千万人のユーザーにサービスを提供するために使用されているコードに問題があることを主張することをお勧めします。そうすれば、はるかに早く答えにたどり着くでしょう。

おっしゃる通りですが、これもメールのトラブルシューティングガイドに記載することもできます。たとえこれがDiscourseの設定前に行うべき、非常にわかりやすい手順だとしてもです。

いずれにしても、上記の皆様の助けに感謝します。

それは素晴らしいでしょう。

しかし、「ファイルの終端に達しました」が、常に「使用した送信アドレスのメールサービスの設定に失敗した」という意味になるのか、あるいは問題を解決するために行ったことなど、必ずしもそうとは限りません。

Discourse がメールサーバーに正常に接続した後でも、間違いを犯す可能性はたくさんあります。より良いエラーメッセージが必要な場合は、Zoho に提供してもらうようにしてください。単に接続を切断するのではなく。

「いいね!」 1

This topic was automatically closed 30 days after the last reply. New replies are no longer allowed.