Привет!
Я новичок в администрировании Discourse. Пытаюсь настроить отправку почты, но что бы я ни пробовал, всё не работает.
Я редактирую файл app.yml, а затем запускаю ./launcher rebuild app.
Использую следующие настройки:
discourse_smtp_address: "smtp.gmail.com"
discourse_smtp_port:587
discourse_smtp_domain: mydomainname.com
discourse_smtp_user_name = 'myemailaddress@gmail.com'
discourse_smtp_password = 'mypassword'
discourse_smtp_enable_start_tls = true
discourse_smtp_authentication = login
или
DISCOURSE_SMTP_ADDRESS: smtp.123-reg.co.uk
DISCOURSE_SMTP_PORT: 465
DISCOURSE_SMTP_USER_NAME: myemail@mydomainname.co.uk
DISCOURSE_SMTP_AUTHENTICATION: YES
DISCOURSE_SMTP_PASSWORD: mypassword
DISCOURSE_SMTP_ENABLE_START_TLS: Yes
Ни эти, ни многочисленные другие вариации не работают.
Я запускаю ./discourse-doctor.
Получаю либо
net::readtimeout
либо сообщение о том, что команда _c неизвестна.
Можно ли попросить кого-нибудь помочь мне не сойти с ума и подсказать, что я делаю не так?
Я могу подключиться к SMTP-серверу через telnet с хоста.
Заранее спасибо.
Richie
(Richie Rich)
2
И успешно отправить письмо?
Честно говоря, я ещё не дошёл до этого этапа.
Сейчас я использую:
DISCOURSE_SMTP_ADDRESS: smtp.123-reg.co.uk
DISCOURSE_SMTP_PORT: 465
DISCOURSE_SMTP_USER_NAME: myemail@mydomain.co.uk
DISCOURSE_SMTP_AUTHENTICATION: YES
DISCOURSE_SMTP_PASSWORD: myPasswordwithCharacter#
DISCOURSE_SMTP_ENABLE_START_TLS: YES
Получаю ошибку:
Net::SMTPAuthenticationError
В веб-почту я могу войти с тем же паролем без проблем.
Да, telnet smtp на порту 25 работает с 123-reg.
Пересобрал приложение
Теперь в ./doctor-discourse есть следующее:
Тестирование отправки на myemail@mydomain.co.uk через smtp.123-reg.co.uk:465, имя пользователя: myemail@mydomain.co.uk с аутентификацией true.
======================================== ОШИБКА ========================================
НЕОЖИДАННАЯ ОШИБКА
неопределенный метод `to_sym’ для true:TrueClass
Возможно, вы имели в виду? to_s
pfaffman
(Jay Pfaffman)
6
Звучит как ошибка, хотя маловероятно, что в коде отправки почты может быть баг.
Посмотрите Устранение неполадок с электронной почтой при новой установке Discourse, чтобы попробовать другие варианты (например, как провести тест без запуска discourse-doctor).
Ага. Вот оно. «YES» не является допустимым значением для smtp_validation:
Должно быть plain, login или cram_md5.
Это находится в app/services/email_settings_validator.rb, если кто-то захочет найти это на GitHub.