Электронное письмо с подтверждением, когда регистрируется новый пользователь Acumos, не получено

#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 по какой-то причине не позволит мне сделать это до сегодняшнего дня.