메일 서버를 교체한 후 메일을 보내려고 했는데, 이전에는 정상적으로 작동했지만 지금은 메일을 보낼 수 없습니다. 연결은 100% 정상적으로 작동하고 있다는 것을 아래 로그에서 확인할 수 있습니다. 하지만 어떤 이유에서인지 메일 전송이 실패하고 있습니다.
Email address for mail test? ('n' to skip) [community@brohosting.eu]:
Sending mail to community@brohosting.eu. . .
Testing sending to community@brohosting.eu using smtppro.zoho.eu:587, username:info@brohosting.eu with login auth.
SMTP server connection successful.
Sending to community@brohosting.eu. . .
Sending mail failed.
end of file reached
## 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"
- "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:
- "8080:8080" # http
- "15432:5432" # PostgreSQL
# - "8443:8443" # 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
EMBER_CLI_PROD_ASSETS: 1
# 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: community.brohosting.eu
## 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: 'community@brohosting.eu'
## 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: smtppro.zoho.eu
DISCOURSE_SMTP_PORT: 587
DISCOURSE_SMTP_USER_NAME: info@brohosting.eu
DISCOURSE_SMTP_PASSWORD: "XXXXXXXXXXXX"
DISCOURSE_SMTP_ENABLE_START_TLS: true # (optional, default true)
DISCOURSE_SMTP_DOMAIN: brohosting.eu
DISCOURSE_SMTP_AUTHENTICATION: login
DISCOURSE_NOTIFICATION_EMAIL: community@brohosting.eu
## If you added the Lets Encrypt template, uncomment below to get a free SSL certificate
# LETSENCRYPT_ACCOUNT_EMAIL: info@brohosting.eu
## 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
- 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
## 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='info@unconfigured.discourse.org'"
- exec: echo "End of custom commands"
좋은 소식은, 당신이 제안한 대로 smtp 라이브러리를 디버깅하는 데 5일을 쓰지 않았다는 것입니다!
(최근 며칠에 걸쳐 10시간 넘게, 내리기가 되지 않는 드롭다운 메뉴를 삽입하는 코드를 디버깅했습니다. 드롭다운을 삽입하는 코드를 꼼꼼히 살펴보고, 드롭다운에 데이터를 생성하는 코드를 확인했습니다. 다른 드롭다운들이 어떻게 작동하는지 비교해 보기도 했습니다. 그러다 제가 삽입한 css 한 줄이 드롭다운이 펼쳐질 공간을 없애고 있다는 것을 발견했습니다.)
그것이 표준 설치에 권장 메일 제공업체 목록이 포함된 이유입니다. 이러한 권장 사항에서 벗어나려면, 이로 인해 발생하는 추가적인 기술적 복잡성도 함께 수용해야 합니다. 모든 메일 서버가 동일한 방식으로 동작하는 것은 아니며, 이를 해결하는 것은 Discourse의 역할이 아닙니다.
위 내용을 요약하면, Zoho를 잘못 설정한 것입니다. Discourse는 해당 설정을 확인할 수 없으며, 올바른 정보를 제공하고 있다고 가정합니다. ./discourse-setup을 다시 실행했다면, 다시 발송 주소를 묻고, 이 잘못된 설정으로 인해 이를 다시 잘못 입력하게 되었을 것입니다.
사용자들에게 많은 문제를 예방해 줄 수는 있지만, 그들 자신으로부터의 실수를 막아주는 것은 드뭅니다. 다음에는 더 가능성이 높은 측면에 집중하고, 외부 시스템의 세부 사항을 다시 확인한 후에, 수천만 명의 사용자에게 서비스를 제공하고 있는 코드에 문제가 있다고 주장하는 것이 좋습니다. 이렇게 하면 훨씬 더 빠르게 답변을 얻을 수 있을 것입니다.