From 41bf69565f158305acf8e8d8270e4a9fc8aad8d0 Mon Sep 17 00:00:00 2001
From: Makhtar DIAGNE <makhtar.diagne@teamdlab.com>
Date: Mon, 4 May 2020 09:32:09 +0200
Subject: [PATCH] [TECH] Use smtp4dev in our dev environment

---
 README.md                                     | 34 ++++++++++++-------
 .../config/cas-server-application-dev.yml     | 10 +++---
 .../config/cas-server-application-recette.yml |  6 ++--
 tools/docker/mail/start.sh                    |  9 +++++
 tools/docker/mail/stop.sh                     |  9 +++++
 5 files changed, 48 insertions(+), 20 deletions(-)
 create mode 100755 tools/docker/mail/start.sh
 create mode 100755 tools/docker/mail/stop.sh

diff --git a/README.md b/README.md
index 1742600c..76754a91 100644
--- a/README.md
+++ b/README.md
@@ -209,16 +209,23 @@ Autre possibilité, Ansible version 2.7.0 doit être installé pour lancer le sc
 ├── tools
 │   ├── docker
 │   │   ├── mongo: './restart_dev.sh'
+
+### 2 - Démarrage du docker smpt4dev
+
+```
+├── tools
+│   ├── docker
+│   │   ├── mail: './start.sh'
 ```
 
-### 2 - Lancement de l'application SpringBoot Security-Internal
+### 3 - Lancement de l'application SpringBoot Security-Internal
 
 ```
 │   ├── api-security
 │   │   ├── security-internal: 'mvn clean spring-boot:run' ou './run.sh'
 ```
 
-### 3 - Lancement de l'application SpringBoot IAM-Internal
+### 4 - Lancement de l'application SpringBoot IAM-Internal
 
 ```
 ├── api
@@ -226,7 +233,7 @@ Autre possibilité, Ansible version 2.7.0 doit être installé pour lancer le sc
 │   │   ├── iam-internal: 'mvn clean spring-boot:run' ou './run.sh'
 ```
 
-### 4 - Lancement de l'application SpringBoot IAM-External
+### 5 - Lancement de l'application SpringBoot IAM-External
 
 ```
 ├── api
@@ -235,7 +242,7 @@ Autre possibilité, Ansible version 2.7.0 doit être installé pour lancer le sc
                         ou './run.sh'
 ```
 
-### 5 - Lancement de l'application CAS Server. La surcharge faite sur CAS nous empêche de lancer avec le plugin spring-boot
+### 6 - Lancement de l'application CAS Server. La surcharge faite sur CAS nous empêche de lancer avec le plugin spring-boot
 
 **CAS-Server dépend de security-internal, iam-internal & iam-external**
 
@@ -246,28 +253,28 @@ Autre possibilité, Ansible version 2.7.0 doit être installé pour lancer le sc
 
 ## Scénario 1 : utilisation en dev
 
-### 6a - Lancement de l'application SpringBoot correspondant au back de UI-Portal
+### 7a - Lancement de l'application SpringBoot correspondant au back de UI-Portal
 
 ```
 └── ui
     └── ui-portal: 'mvn clean spring-boot:run'
 ```
 
-### 6b - Lancement de l'application Angular UI-Portal
+### 7b - Lancement de l'application Angular UI-Portal
 
 ```
 └── ui
     ├── ui-frontend: 'npm run start:portal'
 ```
 
-### 7a - Lancement de l'application SpringBoot correspondant au back de UI-Identity
+### 8a - Lancement de l'application SpringBoot correspondant au back de UI-Identity
 
 ```
 └── ui
     └── ui-identity: 'mvn clean spring-boot:run'
 ```
 
-### 7b - Lancement de l'application Angular UI-Identity
+### 8b - Lancement de l'application Angular UI-Identity
 
 ```
 └── ui
@@ -278,21 +285,21 @@ Autre possibilité, Ansible version 2.7.0 doit être installé pour lancer le sc
 **Attention les JAR doivent contenir les pages et scripts de la partie UI Frontend généré avec ng build.**
 
 
-### 6 - Lancement de l'application SpringBoot correspondant au back de UI-Portal
+### 7 - Lancement de l'application SpringBoot correspondant au back de UI-Portal
 
 ```
 └── ui
     └── ui-portal: './run.sh'
 ```
 
-### 7 - Lancement de l'application SpringBoot correspondant au back de UI-Identity
+### 8 - Lancement de l'application SpringBoot correspondant au back de UI-Identity
 
 ```
 └── ui
     └── ui-identity : './run.sh'
 ```
 
-### 8. Les certificats sont auso-signés, il faut accepter les certificats dans le navigateur pour :
+### 9. Les certificats sont auso-signés, il faut accepter les certificats dans le navigateur pour :
 
 **Attention : sans cette étape, le logout sur toutes les applications par CAS ne fonctionne pas**
 
@@ -308,5 +315,8 @@ Ui-Back
 
 * https://dev.vitamui.com:9001/
 
-### 9. Se connecter sur le portail via
+### 10. Se connecter sur le portail via
 * https://dev.vitamui.com:4200
+
+### 11. Se connecter sur la page de réception des mails smpt4dev via
+* http://localhost:3000/
diff --git a/cas/cas-server/src/main/config/cas-server-application-dev.yml b/cas/cas-server/src/main/config/cas-server-application-dev.yml
index 93b33fe0..e074d862 100644
--- a/cas/cas-server/src/main/config/cas-server-application-dev.yml
+++ b/cas/cas-server/src/main/config/cas-server-application-dev.yml
@@ -87,13 +87,13 @@ cas.authn.mfa.globalPrincipalAttributeValueRegex: 'true'
 cas.authn.mfa.simple.mail.text: xxx
 
 
-spring.mail.host: smtp.gmail.com
-spring.mail.port: 587
+spring.mail.host: localhost
+spring.mail.port: 2525
 spring.mail.username: no-reply@vitamui.com
-spring.mail.password: f3CT953iDzGT7xj9
+spring.mail.password: password
 spring.mail.testConnection: false
-spring.mail.properties.mail.smtp.auth: true
-spring.mail.properties.mail.smtp.starttls.enable: true
+spring.mail.properties.mail.smtp.auth: false
+spring.mail.properties.mail.smtp.starttls.enable: false
 
 
 cas.authn.throttle.failure.threshold: 2
diff --git a/cas/cas-server/src/main/config/cas-server-application-recette.yml b/cas/cas-server/src/main/config/cas-server-application-recette.yml
index c7dfd4f0..776ab8b0 100644
--- a/cas/cas-server/src/main/config/cas-server-application-recette.yml
+++ b/cas/cas-server/src/main/config/cas-server-application-recette.yml
@@ -88,10 +88,10 @@ cas.authn.mfa.globalPrincipalAttributeNameTriggers: computedOtp
 cas.authn.mfa.globalPrincipalAttributeValueRegex: 'true'
 
 
-spring.mail.host: smtp.gmail.com
-spring.mail.port: 587
+spring.mail.host: localhost
+spring.mail.port: 2525
 spring.mail.username: no-reply@vitamui.com
-spring.mail.password: f3CT953iDzGT7xj9
+spring.mail.password: password
 spring.mail.testConnection: false
 spring.mail.properties.mail.smtp.auth: true
 spring.mail.properties.mail.smtp.starttls.enable: true
diff --git a/tools/docker/mail/start.sh b/tools/docker/mail/start.sh
new file mode 100755
index 00000000..69623291
--- /dev/null
+++ b/tools/docker/mail/start.sh
@@ -0,0 +1,9 @@
+#!/bin/bash
+
+#########################
+
+docker run --name vitamui-mail -d -p 3000:80 -p 2525:25 rnwood/smtp4dev:latest
+
+sleep 2
+
+echo "vitamui-mail is started"
diff --git a/tools/docker/mail/stop.sh b/tools/docker/mail/stop.sh
new file mode 100755
index 00000000..ca6a3b47
--- /dev/null
+++ b/tools/docker/mail/stop.sh
@@ -0,0 +1,9 @@
+#!/bin/bash
+
+#########################
+
+docker stop vitamui-mail
+
+sleep 2
+
+echo "vitamui-mail is stopped"
-- 
GitLab