Discourse 설치 후 이메일 인증 문제

안녕하세요,

Docker를 사용하여 VPS에 Discourse를 설치했는데, 이메일 인증이라는 매우 중요한 기능을 제외하고는 모든 것이 정상적으로 작동하는 것 같습니다. 제가 겪고 있는 문제는 다음과 같습니다:

도메인(forum.askseotools.com)에 Discourse를 성공적으로 설정한 후, 관리자 계정을 생성했습니다. 그러나 이메일 주소를 입력하여 인증을 시도했을 때, 인증 이메일을 전혀 받지 못했습니다.

Ubuntu 20.04 LTS 64 Bit 환경에서 aapanel을 사용하여 Discourse를 실행하고 있습니다.
app.yml 파일을 확인해 주세요.

## this is the all-in-one, standalone Discourse Docker container template
##
## After making changes to this file, you MUST rebuild
## /var/discourse/launcher rebuild app
##
## BE *VERY* CAREFUL WHEN EDITING!
## YAML FILES ARE SUPER SUPER SENSITIVE TO MISTAKES IN WHITESPACE OR ALIGNMENT!
## visit http://www.yamllint.com/ to validate this file as needed

templates:
  - "templates/postgres.template.yml"
  - "templates/redis.template.yml"
  - "templates/web.template.yml"
  ## Uncomment the next line to enable the IPv6 listener
  #- "templates/web.ipv6.template.yml"
  - "templates/web.ratelimited.template.yml"
  ## Uncomment these two lines if you wish to add Lets Encrypt (https)
  #- "templates/web.ssl.template.yml"
  #- "templates/web.letsencrypt.ssl.template.yml"

## which TCP/IP ports should this container expose?
## If you want Discourse to share a port with another webserver like Apache or nginx,
## see https://meta.discourse.org/t/17247 for details
expose:
  - "3001:80"   # http
  #- "443:443" # https

params:
  db_default_text_search_config: "pg_catalog.english"

  ## Set db_shared_buffers to a max of 25% of the total memory.
  ## will be set automatically by bootstrap based on detected RAM, or you can override
  #db_shared_buffers: "256MB"

  ## can improve sorting performance, but adds memory usage per-connection
  #db_work_mem: "40MB"

  ## Which Git revision should this container use? (default: tests-passed)
  #version: tests-passed

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

  ## How many concurrent web requests are supported? Depends on memory and CPU cores.
  ## will be set automatically by bootstrap based on detected CPUs, or you can override
  #UNICORN_WORKERS: 3

  ## TODO: The domain name this Discourse instance will respond to
  ## Required. Discourse will not work with a bare IP number.
  DISCOURSE_HOSTNAME: 'forum.askseotools.com'

  ## Uncomment if you want the container to be started with the same
  ## hostname (-h option) as specified above (default "$hostname-$config")
  #DOCKER_USE_HOSTNAME: true

  ## TODO: List of comma delimited emails that will be made admin and developer
  ## on initial signup example 'user1@example.com,user2@example.com'
  DISCOURSE_DEVELOPER_EMAILS: 'ianasystems@gmail.com,ianasystems@gmail.com'

  ## TODO: The SMTP mail server used to validate new accounts and send notifications
  # SMTP ADDRESS, username, and password are required
  # WARNING the char '#' in SMTP password can cause problems!
  DISCOURSE_SMTP_ADDRESS: mail.askseotools.com
  DISCOURSE_SMTP_PORT: 587
  DISCOURSE_SMTP_USER_NAME: forum@askseotools.com
  DISCOURSE_SMTP_PASSWORD: 
  #DISCOURSE_SMTP_ENABLE_START_TLS: true           # (optional, default true)
  #DISCOURSE_SMTP_DOMAIN: discourse.example.com    # (required by some providers)
  #DISCOURSE_NOTIFICATION_EMAIL: noreply@discourse.example.com    # (address to send notifications from)

  ## If you added the Lets Encrypt template, uncomment below to get a free SSL certificate
  #LETSENCRYPT_ACCOUNT_EMAIL: me@example.com

  ## The http or https CDN address for this Discourse instance (configured to pull)
  ## see https://meta.discourse.org/t/14857 for details
  #DISCOURSE_CDN_URL: https://discourse-cdn.example.com
  
  ## The maxmind geolocation IP address key for IP address lookup
  ## see https://meta.discourse.org/t/-/137387/23 for details
  #DISCOURSE_MAXMIND_LICENSE_KEY: 1234567890123456

## The Docker container is stateless; all data is stored in /shared
volumes:
  - volume:
      host: /var/discourse/shared/standalone
      guest: /shared
  - volume:
      host: /var/discourse/shared/standalone/log/var-log
      guest: /var/log

## Plugins go here
## see https://meta.discourse.org/t/19157 for details
hooks:
  after_code:
    - exec:
        cd: $home/plugins
        cmd:
          - git clone https://github.com/discourse/docker_manager.git

## Any custom commands to run after building
run:
  - exec: echo "Beginning of custom commands"
  ## If you want to set the 'From' email address for your first registration, uncomment and change:
  ## After getting the first signup email, re-comment the line. It only needs to run once.
  - exec: rails r "SiteSetting.notification_email='forum@askseotools.com'"
  - exec: echo "End of custom commands"

수정해 주세요.

감사합니다.

이 섹션은 제가 보기에는 심각하게 잘못 설정되어 있습니다.

SMTP 비밀번호, 알림 이메일 또는 SMTP 도메인이 없습니다. 이메일이 정상적으로 작동하려면 이 세 가지를 모두 설정해야 하며, 다른 이메일 제공업체에서 블랙리스트에 등록되지 않았는지 확인하기 위해 SMTP 서버도 점검해야 할 수 있습니다.

자체 호스팅 SMTP는 올바르게 설정하고 유지 관리하지 않을 경우 이메일이 거부되는 가장 쉬운 방법입니다.

새로운 Discourse 설치에서 이메일 문제 해결하기를 참조하세요.

신속한 답변 감사합니다. 조언에 감사드립니다.

여기서 지원 요청을 위해 공유하기 전에 app.yml 파일의 SMTP 비밀번호를 조정했습니다.

#DISCOURSE_SMTP_DOMAIN과 #DISCOURSE_NOTIFICATION_EMAIL의 주석 처리된 줄을 설정하도록 처리하겠습니다.

SMTP 설정에 대해 자체 호스팅 SMTP로 테스트를 수행했으며, 정상적으로 작동하고 있습니다. aapanel의 메일 앱을 통해 Gmail에서 이메일을 성공적으로 보내고 받았습니다.

추가로 처리해야 할 사항이 있거나 더 많은 정보가 필요하면 알려주세요.

다시 한번 도움을 주셔서 감사합니다.

확인해 주세요.

./discourse-doctor

보여주신 오류 메시지가 제안하는 대로입니다.

SMTP 서버의 인증서가 손상된 것 같습니다.

네,
맞습니다.

어떻게 수정해야 하나요? 알려주시면 감사하겠습니다.

감사합니다.

메일 서버를 관리하는 사람들에게 문제를 해결해 달라고 요청하세요.

SSL 인증서 문제에 대한 관심을 가져주셔서 진심으로 감사드립니다, Pfaffman. SSL 인증서 문제를 해결했으며, 이제 이메일 인증이 정상적으로 작동하고 있습니다. 이메일 인증을 아무 문제 없이 받고 있습니다.