#acumos
#acumos
Вопрос:
Согласно документации, новые пользователи должны получать электронное письмо с подтверждением от Acumos при регистрации. В нашем недавно развернутом экземпляре Acumos это не так. Я подтвердил это с помощью mail -s «Test mail setup» xxxxx@gmail.com (Команда CLI) с виртуальной машины сервера Ubuntu 16.04, на которой была установлена Acumos, работает. Есть какие-либо намеки на то, в чем может быть проблема?
Я также пытался использовать функцию «Забыли пароль», чтобы проверить, запускает ли это отправку и получение электронного письма, но это тоже не сработало. Тем не менее, новым пользователям разрешается входить в систему.
Обновить:
После получения комментариев я добавил предлагаемые записи для почты (smtp) в AIO / docker / acumos / portal-be.yml. Затем я воссоздал службу portal-be с помощью команды bash docker-compose.sh up -d —создать портал-be-service из папки AIO. Команда docker-compose восстановила образ Docker (с новой конфигурацией) и запускает его снова. Теперь я могу получать электронные письма с портала Acumos 🙂
"portal": {
"feature": {
"publishSelfRequestEnabled": "false",
"validateModel": "false",
"email_service": "smtp",
….
"spring": {
"mail" : {
"host" : "smtphost.tele.no",
"port" : 25,
"username" : "arneme",
"password" : "xxxxxxxx", # Real password removed and substituted with xxxxxxxx (do not want to disclose password on stackoverflow)
"debug" : "true",
"smtp" : {
"starttls" : {
"enable" : "true"
},
"auth" : "false"
},
"transport" : {
"protocol" : "smtp"
},
"template" : {
"folder" : {
"path" : "/fmtemplates/"
}
}
}
},
Комментарии:
1. Вы настроили «email_service»: «почта»? Пожалуйста, используйте «smtp» в качестве значения этого ключа вместо этого, я должен был быть более ясным.
2. ОК, изменен на smtp, но по-прежнему не может получать электронные письма. Сообщения об ошибках, связанных с электронной почтой, отсутствуют ни в отладке портала, ни в журналах ошибок (/var/acumos/logs), ни в журнале контейнера (docker регистрирует acumos_portal-be-servicexxxx). Я изменил запись выше, чтобы отразить новую настройку
3. Есть два места для настройки: вы указываете порталу название службы электронной почты, которое в данном случае должно быть «smtp», и есть еще один целый блок со всей конфигурацией для этой службы электронной почты, в котором исправлено использование ключа «mail». Пожалуйста, посмотрите мой ответ.
Ответ №1:
Процесс отправки электронной почты с напоминанием о регистрации зависит от некоторых значений конфигурации среды Spring для портала-BE и учетной записи внешней почтовой службы, с которой будут отправляться электронные письма. После установки этих значений вам потребуется перезапустить службу Portal-BE, например, с помощью «sudo docker-compose.sh up -d —build portal-be-service» (при условии, что вы используете набор инструментов AIO и находитесь в папке AIO / docker). Эта часть инструментов AIO развивается, поэтому приведенная выше команда может немного отличаться для используемой вами версии, например «sudo docker-compose.sh $AIO_ROOT up -d —build portal-be-service», где $AIO_ROOT — это путь к папке AIO.
Я не проверял свои собственные почтовые службы, но я знаю, что это работает, поскольку оно правильно настроено в нашей внутренней среде разработки. Переменные env задаются в шаблонах docker / kubernetes для портала-BE в параметре SPRING_APPLICATION_JSON env. Поддерживаемые почтовые службы — «mailjet» и «smtp». Следующий пример предназначен для mailjet (https://www.mailjet.com /).
SPRING_APPLICATION_JSON: '{
"portal" : {
"feature" : {
"email_service" : "mailjet",
"mailjet" : {
"api" : {
"key" : "<your API key>"
},
"secret" : {
"key" : "<your secret key>"
},
"address" : {
"from" : "<your send-from email address>"
}
},
Следующий пример предназначен для SMTP:
SPRING_APPLICATION_JSON: '{
"spring" : {
"mail" : {
"host" : "Provide the hostname",
"port" : 25,
"username" : "username",
"password" : "password",
"debug" : "true",
"smtp" : {
"starttls" : {
"enable" : "true"
},
"auth" : "false"
},
"transport" : {
"protocol" : "smtp"
},
"template" : {
"folder" : {
"path" : "/fmtemplates/"
}
}
}
},
Ответ №2:
Я полагаю, что критическим элементом конфигурации здесь является элемент «email_service» в блоке portal-be. Если служба электронной почты не настроена, то, вероятно, она не будет работать. В наших тестовых лабораториях используется сервис типа «mailjet», и если вы заглянете глубже в эту конфигурацию docker-compose, вы увидите ключи конфигурации mailjet.
"portal" : {
"feature" : {
"email_service" : "",
...
Обновление 1: Наш портал-be expert предоставил сведения о конфигурации, чтобы вы могли использовать «smtp» в качестве значения email_service, например:
"portal" : {
"feature" : {
"email_service" : "smtp",
...
И вам нужно будет правильно его настроить. Я цитирую:
Вот пример настройки свойства smtp
"spring" : {
"mail" : {
"host" : "PROVIDE YOUR HOSTNAME",
"port" : 25,
"username" : "PROVIDE YOUR USERNAME",
"password" : "PROVIDE YOUR PASSWORD",
"debug" : "true",
"smtp" : {
"starttls" : {
"enable" : "true"
},
"auth" : "false"
},
"transport" : {
"protocol" : "smtp"
},
"template" : {
"folder" : {
"path" : "/fmtemplates/"
}
}
}
},
Этот фрагмент конфигурации должен быть включен в больший блок, установленный в переменной среды SPRING_APPLICATION_JSON конфигурацией развертывания, будь то docker-compose или K8S.
Обновление 2: пытаюсь исправить ваши записи, вот какими они должны быть. Первое:
"portal": {
"feature": {
"publishSelfRequestEnabled": "false",
"validateModel": "false",
"email_service": "smtp",
Второе:
"spring": {
"mail" : {
"host" : "smtphost.tele.no",
"port" : 25,
"username" : "arneme",
....
Ответ №3:
Наконец-то удалось правильно настроить почтовую службу в файле portal-be.yml. Пример конфигурации в «Обновлении» соответствует тому, каким он должен быть. Я поместил последнюю часть в раздел «портал» вместо раздела «весна».
Спасибо за любую помощь!
Комментарии:
1. привет, Арне, может быть, я могу предложить тебе принять один из наших ответов, а не твою записку с благодарностью нам за ответы?
2. Да, таков был мой план, но stackoverflow по какой-то причине не позволит мне сделать это до сегодняшнего дня.