|
@@ -19,67 +19,114 @@ const welcomeEmailTemplate = `
|
|
|
<head>
|
|
|
<meta charset="UTF-8">
|
|
|
<meta name="viewport" content="width=device-width, initial-scale=1.0">
|
|
|
- <title>Bienvenue sur Byom!</title>
|
|
|
+ <title>Bienvenue sur BYOM</title>
|
|
|
<style>
|
|
|
body {
|
|
|
- font-family: Arial, sans-serif;
|
|
|
+ font-family: "Helvetica Neue", Helvetica, Arial, sans-serif;
|
|
|
line-height: 1.6;
|
|
|
- color: #333;
|
|
|
+ color: #000;
|
|
|
+ background-color: #fff;
|
|
|
+ margin: 0;
|
|
|
+ padding: 40px 20px;
|
|
|
}
|
|
|
.container {
|
|
|
- width: 80%;
|
|
|
+ max-width: 600px;
|
|
|
margin: 0 auto;
|
|
|
- padding: 20px;
|
|
|
- border: 1px solid #ddd;
|
|
|
- border-radius: 5px;
|
|
|
- background-color: #f9f9f9;
|
|
|
+ background-color: #fff;
|
|
|
+ border: 2px solid #000;
|
|
|
}
|
|
|
- h1 {
|
|
|
- color: #0056b3;
|
|
|
+ .header {
|
|
|
+ padding: 40px;
|
|
|
+ text-align: left;
|
|
|
+ border-bottom: 2px solid #000;
|
|
|
}
|
|
|
- .info {
|
|
|
- margin-bottom: 20px;
|
|
|
+ .header h1 {
|
|
|
+ margin: 0;
|
|
|
+ font-size: 32px;
|
|
|
+ font-weight: bold;
|
|
|
+ text-transform: uppercase;
|
|
|
+ letter-spacing: -1px;
|
|
|
}
|
|
|
- .info p {
|
|
|
- margin: 5px 0;
|
|
|
+ .content {
|
|
|
+ padding: 40px;
|
|
|
}
|
|
|
- .subdomains {
|
|
|
- margin-bottom: 20px;
|
|
|
+ .section {
|
|
|
+ margin-bottom: 40px;
|
|
|
+ border-bottom: 1px solid #000;
|
|
|
+ padding-bottom: 40px;
|
|
|
}
|
|
|
- .subdomains p {
|
|
|
- margin: 5px 0;
|
|
|
+ .info-grid {
|
|
|
+ display: grid;
|
|
|
+ grid-template-columns: auto 1fr;
|
|
|
+ gap: 10px;
|
|
|
+ margin: 20px 0;
|
|
|
+ }
|
|
|
+ .info-label {
|
|
|
+ font-weight: bold;
|
|
|
+ text-transform: uppercase;
|
|
|
+ font-size: 14px;
|
|
|
+ }
|
|
|
+ .info-value {
|
|
|
+ font-family: monospace;
|
|
|
+ background: #f0f0f0;
|
|
|
+ padding: 4px 8px;
|
|
|
+ border: 1px solid #000;
|
|
|
+ }
|
|
|
+ .urls {
|
|
|
+ margin: 20px 0;
|
|
|
+ padding: 20px;
|
|
|
+ border: 1px solid #000;
|
|
|
}
|
|
|
.footer {
|
|
|
- margin-top: 20px;
|
|
|
- font-size: 0.9em;
|
|
|
- color: #777;
|
|
|
+ padding: 40px;
|
|
|
+ border-top: 2px solid #000;
|
|
|
+ font-size: 14px;
|
|
|
}
|
|
|
</style>
|
|
|
</head>
|
|
|
<body>
|
|
|
<div class="container">
|
|
|
- <h1>Bienvenue sur Byom!</h1>
|
|
|
- <p>Votre application a été configurée avec succès et est prête à être utilisée.</p>
|
|
|
- <div class="info">
|
|
|
- <h2>Informations d'accès :</h2>
|
|
|
- <p><strong>Nom d'utilisateur :</strong> {{.Username}}</p>
|
|
|
- <p><strong>Mot de passe :</strong> {{.Password}}</p>
|
|
|
+ <div class="header">
|
|
|
+ <h1>BYOM</h1>
|
|
|
</div>
|
|
|
- <div class="subdomains">
|
|
|
- <h2>URL de votre application :</h2>
|
|
|
- {{range .Subdomains}}
|
|
|
- <p>{{.}}</p>
|
|
|
+ <div class="content">
|
|
|
+ <div class="section">
|
|
|
+ <h2>Configuration terminée</h2>
|
|
|
+ <p>Votre application est prête à être utilisée.</p>
|
|
|
+ </div>
|
|
|
+
|
|
|
+ <div class="section">
|
|
|
+ <h2>Informations d'accès</h2>
|
|
|
+ <div class="info-grid">
|
|
|
+ <div class="info-label">Utilisateur</div>
|
|
|
+ <div class="info-value">{{.Username}}</div>
|
|
|
+
|
|
|
+ <div class="info-label">Mot de passe</div>
|
|
|
+ <div class="info-value">{{.Password}}</div>
|
|
|
+ </div>
|
|
|
+ </div>
|
|
|
+
|
|
|
+ <div class="section">
|
|
|
+ <h2>URLs d'accès</h2>
|
|
|
+ <div class="urls">
|
|
|
+ {{range .Subdomains}}
|
|
|
+ <p class="info-value">{{.}}</p>
|
|
|
+ {{end}}
|
|
|
+ <p><strong>Application principale:</strong></p>
|
|
|
+ <p class="info-value">{{.WebAppURL}}</p>
|
|
|
+ </div>
|
|
|
+ </div>
|
|
|
+
|
|
|
+ {{if .SetupGuide}}
|
|
|
+ <div class="section">
|
|
|
+ <h2>Guide de démarrage</h2>
|
|
|
+ <p>{{.SetupGuide}}</p>
|
|
|
+ </div>
|
|
|
{{end}}
|
|
|
- <p><strong>Application principale :</strong> {{.WebAppURL}}</p>
|
|
|
- </div>
|
|
|
- <div class="setup-guide">
|
|
|
- <h2>Pour bien commencer :</h2>
|
|
|
- <p>{{.SetupGuide}}</p>
|
|
|
</div>
|
|
|
<div class="footer">
|
|
|
- <p>Pour des raisons de sécurité, nous vous recommandons de changer votre mot de passe lors de votre première connexion.</p>
|
|
|
- <p>Si vous avez besoin d'aide, n'hésitez pas à contacter notre équipe d'assistance.</p>
|
|
|
- <p>Cordialement,<br>Byom</p>
|
|
|
+ <p>Pour des raisons de sécurité, changez votre mot de passe lors de votre première connexion.</p>
|
|
|
+ <p>Support technique: support@byom.fr</p>
|
|
|
</div>
|
|
|
</div>
|
|
|
</body>
|
|
@@ -92,144 +139,87 @@ const verifyEmailTemplate = `
|
|
|
<head>
|
|
|
<meta charset="UTF-8">
|
|
|
<meta name="viewport" content="width=device-width, initial-scale=1.0">
|
|
|
- <title>Vérification de votre email - Byom</title>
|
|
|
+ <title>Vérification Email - BYOM</title>
|
|
|
<style>
|
|
|
body {
|
|
|
- font-family: Arial, sans-serif;
|
|
|
+ font-family: "Helvetica Neue", Helvetica, Arial, sans-serif;
|
|
|
line-height: 1.6;
|
|
|
- color: #333;
|
|
|
- background-color: #f5f5f5;
|
|
|
+ color: #000;
|
|
|
+ background-color: #fff;
|
|
|
margin: 0;
|
|
|
- padding: 20px;
|
|
|
+ padding: 40px 20px;
|
|
|
}
|
|
|
.container {
|
|
|
max-width: 600px;
|
|
|
margin: 0 auto;
|
|
|
- background-color: #ffffff;
|
|
|
- border-radius: 12px;
|
|
|
- box-shadow: 0 4px 6px rgba(0, 0, 0, 0.1);
|
|
|
- overflow: hidden;
|
|
|
+ background-color: #fff;
|
|
|
+ border: 2px solid #000;
|
|
|
}
|
|
|
.header {
|
|
|
- background-color: #0056b3;
|
|
|
- color: white;
|
|
|
- padding: 30px;
|
|
|
- text-align: center;
|
|
|
+ padding: 40px;
|
|
|
+ text-align: left;
|
|
|
+ border-bottom: 2px solid #000;
|
|
|
}
|
|
|
.header h1 {
|
|
|
margin: 0;
|
|
|
- font-size: 28px;
|
|
|
- color: white;
|
|
|
+ font-size: 32px;
|
|
|
+ font-weight: bold;
|
|
|
+ text-transform: uppercase;
|
|
|
+ letter-spacing: -1px;
|
|
|
}
|
|
|
.content {
|
|
|
- padding: 40px 30px;
|
|
|
+ padding: 40px;
|
|
|
+ border-bottom: 2px solid #000;
|
|
|
}
|
|
|
.message {
|
|
|
- text-align: center;
|
|
|
- margin-bottom: 30px;
|
|
|
- font-size: 16px;
|
|
|
- color: #555;
|
|
|
- }
|
|
|
- .button-container {
|
|
|
- text-align: center;
|
|
|
- margin: 30px 0;
|
|
|
+ font-size: 18px;
|
|
|
+ margin-bottom: 40px;
|
|
|
}
|
|
|
.button {
|
|
|
display: inline-block;
|
|
|
- padding: 15px 35px;
|
|
|
- background-color: #0056b3;
|
|
|
- color: white;
|
|
|
+ padding: 16px 32px;
|
|
|
+ background-color: #000;
|
|
|
+ color: #fff;
|
|
|
text-decoration: none;
|
|
|
- border-radius: 50px;
|
|
|
+ text-transform: uppercase;
|
|
|
font-weight: bold;
|
|
|
- font-size: 16px;
|
|
|
- transition: all 0.3s ease;
|
|
|
- box-shadow: 0 2px 4px rgba(0, 86, 179, 0.3);
|
|
|
- }
|
|
|
- .button:hover {
|
|
|
- background-color: #003d80;
|
|
|
- transform: translateY(-2px);
|
|
|
- box-shadow: 0 4px 8px rgba(0, 86, 179, 0.4);
|
|
|
+ letter-spacing: 1px;
|
|
|
+ margin: 20px 0;
|
|
|
}
|
|
|
.verification-link {
|
|
|
- text-align: center;
|
|
|
margin: 20px 0;
|
|
|
- padding: 15px;
|
|
|
- background-color: #f8f9fa;
|
|
|
- border-radius: 8px;
|
|
|
- font-size: 14px;
|
|
|
- color: #666;
|
|
|
+ padding: 20px;
|
|
|
+ background-color: #f0f0f0;
|
|
|
+ border: 1px solid #000;
|
|
|
word-break: break-all;
|
|
|
- }
|
|
|
- .divider {
|
|
|
- height: 1px;
|
|
|
- background-color: #eee;
|
|
|
- margin: 30px 0;
|
|
|
+ font-family: monospace;
|
|
|
}
|
|
|
.footer {
|
|
|
- text-align: center;
|
|
|
- padding: 20px 30px;
|
|
|
- background-color: #f8f9fa;
|
|
|
- color: #666;
|
|
|
+ padding: 40px;
|
|
|
font-size: 14px;
|
|
|
- }
|
|
|
- .logo {
|
|
|
- margin-bottom: 20px;
|
|
|
- }
|
|
|
- .security-notice {
|
|
|
- background-color: #fff3cd;
|
|
|
- border-left: 4px solid #ffc107;
|
|
|
- padding: 15px;
|
|
|
- margin: 20px 0;
|
|
|
- font-size: 14px;
|
|
|
- color: #856404;
|
|
|
- }
|
|
|
- .signature {
|
|
|
- margin-top: 20px;
|
|
|
- color: #0056b3;
|
|
|
- font-weight: bold;
|
|
|
+ color: #666;
|
|
|
}
|
|
|
</style>
|
|
|
</head>
|
|
|
<body>
|
|
|
<div class="container">
|
|
|
<div class="header">
|
|
|
- <div class="logo">
|
|
|
- <!-- Vous pouvez ajouter votre logo ici -->
|
|
|
- <h1>BYOM</h1>
|
|
|
- </div>
|
|
|
- <h2>Vérification de votre email</h2>
|
|
|
+ <h1>BYOM</h1>
|
|
|
</div>
|
|
|
-
|
|
|
<div class="content">
|
|
|
<div class="message">
|
|
|
- <h2>Merci de vous être inscrit!</h2>
|
|
|
- <p>Pour finaliser votre inscription et accéder à toutes les fonctionnalités de Byom, veuillez vérifier votre adresse email.</p>
|
|
|
- </div>
|
|
|
-
|
|
|
- <div class="button-container">
|
|
|
- <a href="{{.VerificationURL}}" class="button">Vérifier mon email</a>
|
|
|
- </div>
|
|
|
-
|
|
|
- <div class="security-notice">
|
|
|
- <strong>🔒 Note de sécurité:</strong>
|
|
|
- <p>Ce lien expirera dans 24 heures pour des raisons de sécurité.</p>
|
|
|
+ <h2>Vérification de votre email</h2>
|
|
|
+ <p>Pour finaliser votre inscription, veuillez vérifier votre adresse email.</p>
|
|
|
</div>
|
|
|
-
|
|
|
+ <a href="{{.VerificationURL}}" class="button">Vérifier mon email</a>
|
|
|
<div class="verification-link">
|
|
|
- <p>Si le bouton ne fonctionne pas, copiez et collez ce lien dans votre navigateur:</p>
|
|
|
- <p>{{.VerificationURL}}</p>
|
|
|
- </div>
|
|
|
-
|
|
|
- <div class="divider"></div>
|
|
|
-
|
|
|
- <div class="footer">
|
|
|
- <p>Si vous n'avez pas créé de compte sur Byom, vous pouvez ignorer cet email en toute sécurité.</p>
|
|
|
- <div class="signature">
|
|
|
- <p>Cordialement,<br>L'équipe Byom</p>
|
|
|
- </div>
|
|
|
+ <p>Si le bouton ne fonctionne pas :</p>
|
|
|
+ <code>{{.VerificationURL}}</code>
|
|
|
</div>
|
|
|
</div>
|
|
|
+ <div class="footer">
|
|
|
+ <p>Si vous n'avez pas créé de compte sur BYOM, ignorez cet email.</p>
|
|
|
+ </div>
|
|
|
</div>
|
|
|
</body>
|
|
|
</html>
|
|
@@ -241,95 +231,66 @@ const workspaceWelcomeTemplate = `
|
|
|
<head>
|
|
|
<meta charset="UTF-8">
|
|
|
<meta name="viewport" content="width=device-width, initial-scale=1.0">
|
|
|
- <title>Votre espace de travail Byom est prêt !</title>
|
|
|
+ <title>Bienvenue sur BYOM</title>
|
|
|
<style>
|
|
|
body {
|
|
|
- font-family: Arial, sans-serif;
|
|
|
+ font-family: "Helvetica Neue", Helvetica, Arial, sans-serif;
|
|
|
line-height: 1.6;
|
|
|
- color: #333;
|
|
|
- background-color: #f5f5f5;
|
|
|
+ color: #000;
|
|
|
+ background-color: #fff;
|
|
|
margin: 0;
|
|
|
- padding: 20px;
|
|
|
+ padding: 40px 20px;
|
|
|
}
|
|
|
.container {
|
|
|
max-width: 600px;
|
|
|
margin: 0 auto;
|
|
|
- background-color: #ffffff;
|
|
|
- border-radius: 12px;
|
|
|
- box-shadow: 0 4px 6px rgba(0, 0, 0, 0.1);
|
|
|
- overflow: hidden;
|
|
|
+ background-color: #fff;
|
|
|
+ border: 2px solid #000;
|
|
|
}
|
|
|
.header {
|
|
|
- background-color: #0056b3;
|
|
|
- color: white;
|
|
|
- padding: 30px;
|
|
|
- text-align: center;
|
|
|
+ padding: 40px;
|
|
|
+ text-align: left;
|
|
|
+ border-bottom: 2px solid #000;
|
|
|
}
|
|
|
.header h1 {
|
|
|
margin: 0;
|
|
|
- font-size: 28px;
|
|
|
- color: white;
|
|
|
+ font-size: 32px;
|
|
|
+ font-weight: bold;
|
|
|
+ text-transform: uppercase;
|
|
|
+ letter-spacing: -1px;
|
|
|
}
|
|
|
.content {
|
|
|
- padding: 40px 30px;
|
|
|
+ padding: 40px;
|
|
|
}
|
|
|
- .welcome-message {
|
|
|
- text-align: center;
|
|
|
- margin-bottom: 30px;
|
|
|
- font-size: 18px;
|
|
|
- color: #333;
|
|
|
- }
|
|
|
- .button-container {
|
|
|
- text-align: center;
|
|
|
- margin: 30px 0;
|
|
|
+ .section {
|
|
|
+ margin-bottom: 40px;
|
|
|
+ border-bottom: 1px solid #000;
|
|
|
+ padding-bottom: 40px;
|
|
|
}
|
|
|
.button {
|
|
|
display: inline-block;
|
|
|
- padding: 15px 35px;
|
|
|
- background-color: #0056b3;
|
|
|
- color: white;
|
|
|
+ padding: 16px 32px;
|
|
|
+ background-color: #000;
|
|
|
+ color: #fff;
|
|
|
text-decoration: none;
|
|
|
- border-radius: 50px;
|
|
|
+ text-transform: uppercase;
|
|
|
font-weight: bold;
|
|
|
- font-size: 16px;
|
|
|
- transition: all 0.3s ease;
|
|
|
- box-shadow: 0 2px 4px rgba(0, 86, 179, 0.3);
|
|
|
- }
|
|
|
- .button:hover {
|
|
|
- background-color: #003d80;
|
|
|
- transform: translateY(-2px);
|
|
|
- box-shadow: 0 4px 8px rgba(0, 86, 179, 0.4);
|
|
|
+ letter-spacing: 1px;
|
|
|
+ margin: 20px 0;
|
|
|
}
|
|
|
.features {
|
|
|
- margin: 30px 0;
|
|
|
- padding: 20px;
|
|
|
- background-color: #f8f9fa;
|
|
|
- border-radius: 8px;
|
|
|
- }
|
|
|
- .features h3 {
|
|
|
- color: #0056b3;
|
|
|
- margin-bottom: 15px;
|
|
|
+ display: grid;
|
|
|
+ grid-template-columns: repeat(2, 1fr);
|
|
|
+ gap: 20px;
|
|
|
+ margin: 40px 0;
|
|
|
}
|
|
|
- .features ul {
|
|
|
- list-style-type: none;
|
|
|
- padding: 0;
|
|
|
- }
|
|
|
- .features li {
|
|
|
- margin: 10px 0;
|
|
|
- padding-left: 25px;
|
|
|
- position: relative;
|
|
|
- }
|
|
|
- .features li:before {
|
|
|
- content: "✓";
|
|
|
- color: #0056b3;
|
|
|
- position: absolute;
|
|
|
- left: 0;
|
|
|
+ .feature {
|
|
|
+ padding: 20px;
|
|
|
+ border: 1px solid #000;
|
|
|
}
|
|
|
.footer {
|
|
|
- text-align: center;
|
|
|
- padding: 20px 30px;
|
|
|
- background-color: #f8f9fa;
|
|
|
- color: #666;
|
|
|
+ padding: 40px;
|
|
|
+ border-top: 2px solid #000;
|
|
|
font-size: 14px;
|
|
|
}
|
|
|
</style>
|
|
@@ -338,34 +299,35 @@ const workspaceWelcomeTemplate = `
|
|
|
<div class="container">
|
|
|
<div class="header">
|
|
|
<h1>BYOM</h1>
|
|
|
- <h2>Votre espace de travail est prêt !</h2>
|
|
|
</div>
|
|
|
-
|
|
|
<div class="content">
|
|
|
- <div class="welcome-message">
|
|
|
- <h2>Félicitations !</h2>
|
|
|
- <p>Votre paiement a été confirmé et votre espace de travail Byom est maintenant prêt à être utilisé.</p>
|
|
|
- </div>
|
|
|
-
|
|
|
- <div class="button-container">
|
|
|
+ <div class="section">
|
|
|
+ <h2>Votre espace est prêt</h2>
|
|
|
+ <p>Votre paiement a été confirmé et votre espace BYOM est maintenant disponible.</p>
|
|
|
<a href="{{.WebAppURL}}" class="button">Accéder à mon espace</a>
|
|
|
</div>
|
|
|
-
|
|
|
<div class="features">
|
|
|
- <h3>Ce qui vous attend :</h3>
|
|
|
- <ul>
|
|
|
- <li>Interface intuitive et personnalisable</li>
|
|
|
- <li>Outils de collaboration avancés</li>
|
|
|
- <li>Support technique dédié</li>
|
|
|
- <li>Sécurité renforcée</li>
|
|
|
- </ul>
|
|
|
- </div>
|
|
|
-
|
|
|
- <div class="footer">
|
|
|
- <p>Si vous avez des questions, notre équipe de support est là pour vous aider.</p>
|
|
|
- <p>Cordialement,<br>L'équipe Byom</p>
|
|
|
+ <div class="feature">
|
|
|
+ <h3>Interface</h3>
|
|
|
+ <p>Design minimaliste et efficace</p>
|
|
|
+ </div>
|
|
|
+ <div class="feature">
|
|
|
+ <h3>Collaboration</h3>
|
|
|
+ <p>Outils de travail en équipe</p>
|
|
|
+ </div>
|
|
|
+ <div class="feature">
|
|
|
+ <h3>Support</h3>
|
|
|
+ <p>Assistance technique dédiée</p>
|
|
|
+ </div>
|
|
|
+ <div class="feature">
|
|
|
+ <h3>Sécurité</h3>
|
|
|
+ <p>Protection des données</p>
|
|
|
+ </div>
|
|
|
</div>
|
|
|
</div>
|
|
|
+ <div class="footer">
|
|
|
+ <p>Support technique: support@byom.fr</p>
|
|
|
+ </div>
|
|
|
</div>
|
|
|
</body>
|
|
|
</html>
|
|
@@ -439,7 +401,7 @@ func (m *Mailer) SendVerifyEmail(to, token, plan string) error {
|
|
|
message.To(to)
|
|
|
message.Subject("Vérification de votre adresse email")
|
|
|
|
|
|
- verificationURL := fmt.Sprintf("http://192.168.1.35:5173/verify-email?token=%s&plan=%s&email=%s",
|
|
|
+ verificationURL := fmt.Sprintf("https://byom.moooffle.com/verify-email?token=%s&plan=%s&email=%s",
|
|
|
token,
|
|
|
plan,
|
|
|
url.QueryEscape(to),
|