inscription utilisateur complète
This commit is contained in:
		@@ -10,7 +10,14 @@ mmctl = "docker exec -i mattermostServ bin/mmctl"
 | 
				
			|||||||
class Mattermost:
 | 
					class Mattermost:
 | 
				
			||||||
 | 
					
 | 
				
			||||||
    def __init__(self):
 | 
					    def __init__(self):
 | 
				
			||||||
 | 
					        pass
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					    def __enter__(self):
 | 
				
			||||||
        self.authenticate()
 | 
					        self.authenticate()
 | 
				
			||||||
 | 
					        return self
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					    def __exit__(self, tp, e, traceback):
 | 
				
			||||||
 | 
					        self.logout()
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					
 | 
				
			||||||
    def authenticate(self):
 | 
					    def authenticate(self):
 | 
				
			||||||
@@ -19,6 +26,11 @@ class Mattermost:
 | 
				
			|||||||
         subprocess.run(cmd, shell=True, stderr=subprocess.STDOUT, check=True)
 | 
					         subprocess.run(cmd, shell=True, stderr=subprocess.STDOUT, check=True)
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					    def logout(self):
 | 
				
			||||||
 | 
					         # Authentification sur MM
 | 
				
			||||||
 | 
					         cmd = f"{mmctl} auth clean"
 | 
				
			||||||
 | 
					         subprocess.run(cmd, shell=True, stderr=subprocess.STDOUT, check=True)
 | 
				
			||||||
 | 
					
 | 
				
			||||||
    def post_message(self, message, equipe="kaz", canal="creation-comptes"):
 | 
					    def post_message(self, message, equipe="kaz", canal="creation-comptes"):
 | 
				
			||||||
        """
 | 
					        """
 | 
				
			||||||
        Envoyer un message dans une Equipe/Canal de MM
 | 
					        Envoyer un message dans une Equipe/Canal de MM
 | 
				
			||||||
 
 | 
				
			|||||||
@@ -1,4 +1,5 @@
 | 
				
			|||||||
import subprocess
 | 
					import subprocess
 | 
				
			||||||
 | 
					from email_validator import validate_email, EmailNotValidError
 | 
				
			||||||
 | 
					
 | 
				
			||||||
from .config import getDockersConfig, getSecretConfig
 | 
					from .config import getDockersConfig, getSecretConfig
 | 
				
			||||||
 | 
					
 | 
				
			||||||
@@ -7,7 +8,9 @@ sympa_pass = getSecretConfig("sympaServ", "SOAP_PASSWORD")
 | 
				
			|||||||
sympa_listmaster = getSecretConfig("sympaServ", "ADMINEMAIL")
 | 
					sympa_listmaster = getSecretConfig("sympaServ", "ADMINEMAIL")
 | 
				
			||||||
sympa_url = f"https://{getDockersConfig('sympaHost')}.{getDockersConfig('domain')}"
 | 
					sympa_url = f"https://{getDockersConfig('sympaHost')}.{getDockersConfig('domain')}"
 | 
				
			||||||
sympa_soap = "docker exec -i sympaServ /usr/lib/sympa/bin/sympa_soap_client.pl"
 | 
					sympa_soap = "docker exec -i sympaServ /usr/lib/sympa/bin/sympa_soap_client.pl"
 | 
				
			||||||
sympa_liste_info = f"info@{getDockersConfig('domain_sympa')}"
 | 
					sympa_domain = getDockersConfig('domain_sympa')
 | 
				
			||||||
 | 
					sympa_liste_info = "infos"
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					
 | 
				
			||||||
# docker exec -i sympaServ /usr/lib/sympa/bin/sympa_soap_client.pl --soap_url=${httpProto}://${URL_LISTE}/sympasoap --trusted_application=${sympa_SOAP_USER} --trusted_application_password=${sympa_SOAP_PASSWORD} --proxy_vars=\"USER_EMAIL=${LISTMASTER}\" --service=add --service_parameters=\"${NL_LIST},${EMAIL_SOUHAITE}\""  | tee -a "${CMD_SYMPA}"
 | 
					# docker exec -i sympaServ /usr/lib/sympa/bin/sympa_soap_client.pl --soap_url=${httpProto}://${URL_LISTE}/sympasoap --trusted_application=${sympa_SOAP_USER} --trusted_application_password=${sympa_SOAP_PASSWORD} --proxy_vars=\"USER_EMAIL=${LISTMASTER}\" --service=add --service_parameters=\"${NL_LIST},${EMAIL_SOUHAITE}\""  | tee -a "${CMD_SYMPA}"
 | 
				
			||||||
 | 
					
 | 
				
			||||||
@@ -23,14 +26,14 @@ class Sympa:
 | 
				
			|||||||
        """
 | 
					        """
 | 
				
			||||||
        Ajouter un email dans une liste sympa
 | 
					        Ajouter un email dans une liste sympa
 | 
				
			||||||
        """
 | 
					        """
 | 
				
			||||||
        output = self._execute_sympa_command(email, liste, 'add')
 | 
					        output = self._execute_sympa_command(email, f"{liste}@{sympa_domain}", 'add')
 | 
				
			||||||
        return output
 | 
					        return output
 | 
				
			||||||
 | 
					
 | 
				
			||||||
    def delete_email_from_list(self, email, liste=sympa_liste_info):
 | 
					    def delete_email_from_list(self, email, liste=sympa_liste_info):
 | 
				
			||||||
        """
 | 
					        """
 | 
				
			||||||
        Supprimer un email dans une liste sympa
 | 
					        Supprimer un email dans une liste sympa
 | 
				
			||||||
        """
 | 
					        """
 | 
				
			||||||
        output = self._execute_sympa_command(email, liste, 'del')
 | 
					        output = self._execute_sympa_command(email, f"{liste}@{sympa_domain}", 'del')
 | 
				
			||||||
        return output
 | 
					        return output
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 
 | 
				
			|||||||
							
								
								
									
										8
									
								
								bin/lib/template.py
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										8
									
								
								bin/lib/template.py
									
									
									
									
									
										Normal file
									
								
							@@ -0,0 +1,8 @@
 | 
				
			|||||||
 | 
					import jinja2
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					templateLoader = jinja2.FileSystemLoader(searchpath="../templates")
 | 
				
			||||||
 | 
					templateEnv = jinja2.Environment(loader=templateLoader)
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					def render_template(filename, args):
 | 
				
			||||||
 | 
					    template = templateEnv.get_template(filename)
 | 
				
			||||||
 | 
					    return template.render(args)
 | 
				
			||||||
@@ -3,14 +3,27 @@ from glob import glob
 | 
				
			|||||||
import tempfile
 | 
					import tempfile
 | 
				
			||||||
import subprocess
 | 
					import subprocess
 | 
				
			||||||
import re
 | 
					import re
 | 
				
			||||||
 | 
					from email.mime.text import MIMEText
 | 
				
			||||||
 | 
					from email.mime.multipart import MIMEMultipart
 | 
				
			||||||
 | 
					import smtplib
 | 
				
			||||||
 | 
					
 | 
				
			||||||
from .paheko import Paheko
 | 
					from .paheko import Paheko
 | 
				
			||||||
from .ldap import Ldap
 | 
					from .ldap import Ldap
 | 
				
			||||||
from .mattermost import Mattermost
 | 
					from .mattermost import Mattermost
 | 
				
			||||||
 | 
					from .sympa import Sympa
 | 
				
			||||||
 | 
					from .template import render_template
 | 
				
			||||||
 | 
					from .config import getDockersConfig, getSecretConfig
 | 
				
			||||||
 | 
					
 | 
				
			||||||
DEFAULT_FILE = "/kaz/tmp/createUser.txt"
 | 
					DEFAULT_FILE = "/kaz/tmp/createUser.txt"
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					webmail_url = f"https://webmail.{getDockersConfig('domain')}"
 | 
				
			||||||
 | 
					mattermost_url = f"https://agora.{getDockersConfig('domain')}"
 | 
				
			||||||
 | 
					mdp_url = f"https://mdp.{getDockersConfig('domain')}"
 | 
				
			||||||
 | 
					sympa_url = f"https://listes.{getDockersConfig('domain')}"
 | 
				
			||||||
 | 
					site_url = f"https://{getDockersConfig('domain')}"
 | 
				
			||||||
 | 
					cloud_url = f"https://cloud.{getDockersConfig('domain')}"
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					
 | 
				
			||||||
def _generate_password(self):
 | 
					def _generate_password(self):
 | 
				
			||||||
    cmd="apg -n 1 -m 10 -M NCL -d"
 | 
					    cmd="apg -n 1 -m 10 -M NCL -d"
 | 
				
			||||||
    output = subprocess.check_output(cmd, shell=True, stderr=subprocess.STDOUT)
 | 
					    output = subprocess.check_output(cmd, shell=True, stderr=subprocess.STDOUT)
 | 
				
			||||||
@@ -81,36 +94,45 @@ def create_user(email, email_secours, admin_orga, nom_orga, quota_disque, nom, p
 | 
				
			|||||||
          mm.add_user_to_team(email, nom_orga)
 | 
					          mm.add_user_to_team(email, nom_orga)
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					
 | 
				
			||||||
    # #on inscrit email et email_secours à la nl sympa_liste_info
 | 
					    #on inscrit email et email_secours à la nl sympa_liste_info
 | 
				
			||||||
    # res, status_code = self.sympa_user_resource.post(email,sympa_liste_info)
 | 
					    sympa = Sympa()
 | 
				
			||||||
    # if status_code != 200: raise ValueError(f"ERREUR 9 sur Sympa: {email} : {res}, on arrête tout ")
 | 
					    sympa.add_email_to_list(email)
 | 
				
			||||||
    # res, status_code = self.sympa_user_resource.post(email_secours,sympa_liste_info)
 | 
					    sympa.add_email_to_list(email_secours)
 | 
				
			||||||
    # if status_code != 200: raise ValueError(f"ERREUR 10 sur Sympa: {email_secours} : {res}, on arrête tout ")
 | 
					
 | 
				
			||||||
    #
 | 
					    #on construit/envoie le mail
 | 
				
			||||||
    # #on construit/envoie le mail
 | 
					    context = {
 | 
				
			||||||
    # context = {
 | 
					        'ADMIN_ORGA': admin_orga,
 | 
				
			||||||
    # 'ADMIN_ORGA': tab['admin_orga'],
 | 
					        'NOM': f"{prenom} {nom}",
 | 
				
			||||||
    # 'NOM': tab['nom'],
 | 
					        'EMAIL_SOUHAITE': email,
 | 
				
			||||||
    # 'EMAIL_SOUHAITE': email,
 | 
					        'PASSWORD': password,
 | 
				
			||||||
    # 'PASSWORD': password,
 | 
					        'QUOTA': quota_disque,
 | 
				
			||||||
    # 'QUOTA': tab['quota_disque'],
 | 
					        'URL_WEBMAIL': webmail_url,
 | 
				
			||||||
    # 'URL_WEBMAIL': webmail_url,
 | 
					        'URL_AGORA': mattermost_url,
 | 
				
			||||||
    # 'URL_AGORA': mattermost_url,
 | 
					        'URL_MDP': mdp_url,
 | 
				
			||||||
    # 'URL_MDP': mdp_url,
 | 
					        'URL_LISTE': sympa_url,
 | 
				
			||||||
    # 'URL_LISTE': sympa_url,
 | 
					        'URL_SITE': site_url,
 | 
				
			||||||
    # 'URL_SITE': site_url,
 | 
					        'URL_CLOUD': cloud_url,
 | 
				
			||||||
    # 'URL_CLOUD': cloud_url
 | 
					    }
 | 
				
			||||||
    # }
 | 
					
 | 
				
			||||||
    # subject="KAZ: confirmation d'inscription !"
 | 
					    html = render_template("email_inscription.html", context)
 | 
				
			||||||
    # sender=app.config['MAIL_USERNAME']
 | 
					    raw = render_template("email_inscription.txt", context)
 | 
				
			||||||
    # reply_to = app.config['MAIL_REPLY_TO']
 | 
					
 | 
				
			||||||
    # msg = Message(subject=subject, sender=sender, reply_to=reply_to, recipients=[email,email_secours])
 | 
					    message = MIMEMultipart()
 | 
				
			||||||
    # msg.html = render_template('email_inscription.html', **context)
 | 
					    message["Subject"] = "KAZ: confirmation d'inscription !"
 | 
				
			||||||
    # mail.send(msg)
 | 
					    message["From"] = f"contact@{getDockersConfig('domain')}"
 | 
				
			||||||
 | 
					    message["To"] = f"{email}, {email_secours}"
 | 
				
			||||||
 | 
					    message.attach(MIMEText(raw, "plain"))
 | 
				
			||||||
 | 
					    message.attach(MIMEText(html, "html"))
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					    with smtplib.SMTP(f"mail.{getDockersConfig('domain')}", 25) as server:
 | 
				
			||||||
 | 
					        server.sendmail(f"contact@{getDockersConfig('domain')}", [email,email_secours], message.as_string())
 | 
				
			||||||
 | 
					
 | 
				
			||||||
    #on met le flag paheko action à Aucune
 | 
					    #on met le flag paheko action à Aucune
 | 
				
			||||||
    # paheko = Paheko()
 | 
					    paheko = Paheko()
 | 
				
			||||||
    # paheko.set_user(email, "action_auto", "Aucune")
 | 
					    try:
 | 
				
			||||||
 | 
					        paheko.set_user(email, "action_auto", "Aucune")
 | 
				
			||||||
 | 
					    except:
 | 
				
			||||||
 | 
					        print(f"Erreur paheko pour remettre action_auto = Aucune pour {email}")
 | 
				
			||||||
 | 
					
 | 
				
			||||||
    #on post sur MM pour dire ok
 | 
					    #on post sur MM pour dire ok
 | 
				
			||||||
    with Mattermost() as mm:
 | 
					    with Mattermost() as mm:
 | 
				
			||||||
 
 | 
				
			|||||||
							
								
								
									
										82
									
								
								bin/templates/email.css
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										82
									
								
								bin/templates/email.css
									
									
									
									
									
										Normal file
									
								
							@@ -0,0 +1,82 @@
 | 
				
			|||||||
 | 
					body {
 | 
				
			||||||
 | 
					    font-family: Arial, sans-serif;
 | 
				
			||||||
 | 
					    background-color: #f4f4f4;
 | 
				
			||||||
 | 
					    margin: 0;
 | 
				
			||||||
 | 
					    padding: 0;
 | 
				
			||||||
 | 
					}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					.email-content {
 | 
				
			||||||
 | 
					    background-color: #f0f0f0; /* Light gray background */
 | 
				
			||||||
 | 
					    margin: 20px auto;
 | 
				
			||||||
 | 
					    padding: 20px;
 | 
				
			||||||
 | 
					    border: 1px solid #dddddd;
 | 
				
			||||||
 | 
					    max-width: 600px;
 | 
				
			||||||
 | 
					    width: 90%; /* This makes the content take 90% width of its container */
 | 
				
			||||||
 | 
					    text-align: left; /* Remove text justification */
 | 
				
			||||||
 | 
					}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					header {
 | 
				
			||||||
 | 
					    background-color: #E16969;
 | 
				
			||||||
 | 
					    color: white;
 | 
				
			||||||
 | 
					    text-align: center;
 | 
				
			||||||
 | 
					    height: 50px; /* Fixed height for header */
 | 
				
			||||||
 | 
					    line-height: 50px; /* Vertically center the text */
 | 
				
			||||||
 | 
					    width: 100%; /* Make header full width */
 | 
				
			||||||
 | 
					}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					footer {
 | 
				
			||||||
 | 
					    background-color: #E16969;
 | 
				
			||||||
 | 
					    color: white;
 | 
				
			||||||
 | 
					    text-align: center;
 | 
				
			||||||
 | 
					    height: 50px; /* Fixed height for footer */
 | 
				
			||||||
 | 
					    line-height: 50px; /* Vertically center the text */
 | 
				
			||||||
 | 
					    width: 100%; /* Make footer full width */
 | 
				
			||||||
 | 
					}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					.header-container {
 | 
				
			||||||
 | 
					    position: relative; /* Pour positionner le logo et le texte dans le header */
 | 
				
			||||||
 | 
					    height: 50px; /* Hauteur maximale du header */
 | 
				
			||||||
 | 
					}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					.logo {
 | 
				
			||||||
 | 
					    position: absolute; /* Pour positionner le logo */
 | 
				
			||||||
 | 
					    max-height: 100%; /* Taille maximale du logo égale à la hauteur du header */
 | 
				
			||||||
 | 
					    top: 0; /* Aligner le logo en haut */
 | 
				
			||||||
 | 
					    left: 0; /* Aligner le logo à gauche */
 | 
				
			||||||
 | 
					    margin-right: 10px; /* Marge à droite du logo */
 | 
				
			||||||
 | 
					}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					.header-container h1, .footer-container p {
 | 
				
			||||||
 | 
					    margin: 0;
 | 
				
			||||||
 | 
					    font-size: 24px;
 | 
				
			||||||
 | 
					}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					.footer-container p {
 | 
				
			||||||
 | 
					    font-size: 12px;
 | 
				
			||||||
 | 
					}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					.footer-container a {
 | 
				
			||||||
 | 
					    color: #FFFFFF; /* White color for links in footer */
 | 
				
			||||||
 | 
					    text-decoration: none;
 | 
				
			||||||
 | 
					}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					.footer-container a:hover {
 | 
				
			||||||
 | 
					    text-decoration: underline; /* Optional: add underline on hover */
 | 
				
			||||||
 | 
					}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					a {
 | 
				
			||||||
 | 
					    color: #E16969; /* Same color as header/footer background for all other links */
 | 
				
			||||||
 | 
					    text-decoration: none;
 | 
				
			||||||
 | 
					}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					a:hover {
 | 
				
			||||||
 | 
					    text-decoration: underline; /* Optional: add underline on hover */
 | 
				
			||||||
 | 
					}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					h2 {
 | 
				
			||||||
 | 
					    color: #E16969;
 | 
				
			||||||
 | 
					}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					p {
 | 
				
			||||||
 | 
					    line-height: 1.6;
 | 
				
			||||||
 | 
					}
 | 
				
			||||||
							
								
								
									
										9
									
								
								bin/templates/email_footer.html
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										9
									
								
								bin/templates/email_footer.html
									
									
									
									
									
										Normal file
									
								
							@@ -0,0 +1,9 @@
 | 
				
			|||||||
 | 
					<footer>
 | 
				
			||||||
 | 
					    <div class="footer-container">
 | 
				
			||||||
 | 
					        <p>
 | 
				
			||||||
 | 
					            Ici, on prend soin de vos données et on ne les vend pas !
 | 
				
			||||||
 | 
					            <br>
 | 
				
			||||||
 | 
					            <a href="https://kaz.bzh">https://kaz.bzh</a>
 | 
				
			||||||
 | 
					        </p>
 | 
				
			||||||
 | 
					    </div>
 | 
				
			||||||
 | 
					</footer>
 | 
				
			||||||
							
								
								
									
										6
									
								
								bin/templates/email_header.html
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										6
									
								
								bin/templates/email_header.html
									
									
									
									
									
										Normal file
									
								
							@@ -0,0 +1,6 @@
 | 
				
			|||||||
 | 
					<header>
 | 
				
			||||||
 | 
					    <div class="header-container">
 | 
				
			||||||
 | 
					        <img class="logo" src="https://kaz-cloud.kaz.bzh/apps/theming/image/logo?v=33" alt="KAZ Logo">
 | 
				
			||||||
 | 
					        <h1>Kaz : Le numérique sobre, libre, éthique et local</h1>
 | 
				
			||||||
 | 
					    </div>
 | 
				
			||||||
 | 
					</header>
 | 
				
			||||||
							
								
								
									
										94
									
								
								bin/templates/email_inscription.html
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										94
									
								
								bin/templates/email_inscription.html
									
									
									
									
									
										Normal file
									
								
							@@ -0,0 +1,94 @@
 | 
				
			|||||||
 | 
					<!DOCTYPE html>
 | 
				
			||||||
 | 
					<html lang="fr">
 | 
				
			||||||
 | 
					<head>
 | 
				
			||||||
 | 
					    <meta charset="UTF-8">
 | 
				
			||||||
 | 
					    <meta name="viewport" content="width=device-width, initial-scale=1.0">
 | 
				
			||||||
 | 
					    <title>Email d'inscription'</title>
 | 
				
			||||||
 | 
					    <style>
 | 
				
			||||||
 | 
					        {% include 'email.css' %}
 | 
				
			||||||
 | 
					    </style>
 | 
				
			||||||
 | 
					</head>
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					<body>
 | 
				
			||||||
 | 
					{% include 'email_header.html' %}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					<div class="email-content">
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					<p>
 | 
				
			||||||
 | 
					Bonjour {{NOM}}!<br><br>
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					Bienvenue chez KAZ!<br><br>
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					Vous disposez de :
 | 
				
			||||||
 | 
					<ul>
 | 
				
			||||||
 | 
					<li>une messagerie classique : <a href={{URL_WEBMAIL}}>{{URL_WEBMAIL}}</a></li>
 | 
				
			||||||
 | 
					<li>une messagerie instantanée pour discuter au sein d'équipes : <a href={{URL_AGORA}}>{{URL_AGORA}}</a></li>
 | 
				
			||||||
 | 
					</ul>
 | 
				
			||||||
 | 
					Votre email et identifiant pour ces services : {{EMAIL_SOUHAITE}}<br>
 | 
				
			||||||
 | 
					Le mot de passe : <b>{{PASSWORD}}</b><br><br>
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					Pour changer votre mot de passe de messagerie, c'est ici: <a href={{URL_MDP}}>{{URL_MDP}}</a><br>
 | 
				
			||||||
 | 
					Si vous avez perdu votre mot de passe, c'est ici: <a href={{URL_MDP}}/?action=sendtoken>{{URL_MDP}}/?action=sendtoken</a><br><br>
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					Vous pouvez accéder à votre messagerie classique:
 | 
				
			||||||
 | 
					<ul>
 | 
				
			||||||
 | 
					<li>soit depuis votre webmail : <a href={{URL_WEBMAIL}}>{{URL_WEBMAIL}}</a></li>
 | 
				
			||||||
 | 
					<li>soit depuis votre bureau virtuel : <a href={{URL_CLOUD}}>{{URL_CLOUD}}</a></li>
 | 
				
			||||||
 | 
					<li>soit depuis un client de messagerie comme thunderbird<br>
 | 
				
			||||||
 | 
					</ul>
 | 
				
			||||||
 | 
					</p>
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					{% if ADMIN_ORGA == '1' %}
 | 
				
			||||||
 | 
					<p>
 | 
				
			||||||
 | 
					En tant qu'association/famille/société. Vous avez la possibilité d'ouvrir, quand vous le voulez, des services kaz, il vous suffit de nous le demander.<br><br>
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					Pourquoi n'ouvrons-nous pas tous les services tout de suite ? parce que nous aimons la sobriété et que nous préservons notre espace disque ;)<br>
 | 
				
			||||||
 | 
					A quoi sert d'avoir un site web si on ne l'utilise pas, n'est-ce pas ?<br><br>
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					Par retour de mail, dites-nous de quoi vous avez besoin tout de suite entre:
 | 
				
			||||||
 | 
					<ul>
 | 
				
			||||||
 | 
					<li>une comptabilité : un service de gestion adhérents/clients</li>
 | 
				
			||||||
 | 
					<li>un site web de type WordPress</li>
 | 
				
			||||||
 | 
					<li>un cloud : bureau virtuel pour stocker des fichiers/calendriers/contacts et partager avec vos connaissances</li>
 | 
				
			||||||
 | 
					</ul>
 | 
				
			||||||
 | 
					Une fois que vous aurez répondu à ce mail, votre demande sera traitée manuellement.
 | 
				
			||||||
 | 
					</p>
 | 
				
			||||||
 | 
					{% endif %}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					<p>
 | 
				
			||||||
 | 
					Vous avez quelques docs intéressantes sur le wiki de kaz:
 | 
				
			||||||
 | 
					<ul>
 | 
				
			||||||
 | 
					<li>Migrer son site internet wordpress vers kaz : <a href="https://wiki.kaz.bzh/wordpress/start#migrer_son_site_wordpress_vers_kaz">https://wiki.kaz.bzh/wordpress/start#migrer_son_site_wordpress_vers_kaz</a></li>
 | 
				
			||||||
 | 
					<li>Migrer sa messagerie vers kaz : <a href="https://wiki.kaz.bzh/messagerie/gmail/start">https://wiki.kaz.bzh/messagerie/gmail/start</a></li>
 | 
				
			||||||
 | 
					<li>Démarrer simplement avec son cloud : <a href="https://wiki.kaz.bzh/nextcloud/start">https://wiki.kaz.bzh/messagerie/gmail/start</a></li>
 | 
				
			||||||
 | 
					</ul>
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					Votre quota est de {{QUOTA}}GB. Si vous souhaitez plus de place pour vos fichiers ou la messagerie, faites-nous signe !<br><br>
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					Pour accéder à la messagerie instantanée et communiquer avec les membres de votre équipe ou ceux de kaz : <a href={{URL_AGORA}}/login>{{URL_AGORA}}/login</a><br>
 | 
				
			||||||
 | 
					</p>
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					{% if ADMIN_ORGA == '1' %}
 | 
				
			||||||
 | 
					<p>
 | 
				
			||||||
 | 
					Comme administrateur de votre organisation, vous pouvez créer des listes de diffusion en vous rendant sur <a href={{URL_LISTE}}>{{URL_LISTE}}</a><br>
 | 
				
			||||||
 | 
					</p>
 | 
				
			||||||
 | 
					{% endif %}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					<p>
 | 
				
			||||||
 | 
					Enfin, vous disposez de tous les autres services KAZ où l'authentification n'est pas nécessaire : <a href={{URL_SITE}}>{{URL_SITE}}</a><br><br>
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					En cas de soucis, n'hésitez pas à poser vos questions sur le canal 'Une question ? un soucis' de l'agora dispo ici : <a href={{URL_AGORA}}>{{URL_AGORA}}</a><br><br>
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					Si vous avez besoin d'accompagnement pour votre site, votre cloud, votre compta, votre migration de messagerie,...<br>nous proposons des formations mensuelles gratuites. Si vous souhaitez être accompagné par un professionnel, nous pouvons vous donner une liste de pros, référencés par KAZ.<br><br>
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					À bientôt 😉<br><br>
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					La collégiale de KAZ.<br>
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					</p>
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					</div> <!-- <div class="email-content"> -->
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					{% include 'email_footer.html' %}
 | 
				
			||||||
 | 
					</body>
 | 
				
			||||||
 | 
					</html>
 | 
				
			||||||
							
								
								
									
										70
									
								
								bin/templates/email_inscription.txt
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										70
									
								
								bin/templates/email_inscription.txt
									
									
									
									
									
										Normal file
									
								
							@@ -0,0 +1,70 @@
 | 
				
			|||||||
 | 
					Bonjour {{NOM}}!
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					Bienvenue chez KAZ!<br><br>
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					Vous disposez de :
 | 
				
			||||||
 | 
					<ul>
 | 
				
			||||||
 | 
					<li>une messagerie classique : <a href={{URL_WEBMAIL}}>{{URL_WEBMAIL}}</a></li>
 | 
				
			||||||
 | 
					<li>une messagerie instantanée pour discuter au sein d'équipes : <a href={{URL_AGORA}}>{{URL_AGORA}}</a></li>
 | 
				
			||||||
 | 
					</ul>
 | 
				
			||||||
 | 
					Votre email et identifiant pour ces services : {{EMAIL_SOUHAITE}}<br>
 | 
				
			||||||
 | 
					Le mot de passe : <b>{{PASSWORD}}</b><br><br>
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					Pour changer votre mot de passe de messagerie, c'est ici: <a href={{URL_MDP}}>{{URL_MDP}}</a><br>
 | 
				
			||||||
 | 
					Si vous avez perdu votre mot de passe, c'est ici: <a href={{URL_MDP}}/?action=sendtoken>{{URL_MDP}}/?action=sendtoken</a><br><br>
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					Vous pouvez accéder à votre messagerie classique:
 | 
				
			||||||
 | 
					<ul>
 | 
				
			||||||
 | 
					<li>soit depuis votre webmail : <a href={{URL_WEBMAIL}}>{{URL_WEBMAIL}}</a></li>
 | 
				
			||||||
 | 
					<li>soit depuis votre bureau virtuel : <a href={{URL_CLOUD}}>{{URL_CLOUD}}</a></li>
 | 
				
			||||||
 | 
					<li>soit depuis un client de messagerie comme thunderbird<br>
 | 
				
			||||||
 | 
					</ul>
 | 
				
			||||||
 | 
					</p>
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					{% if ADMIN_ORGA == '1' %}
 | 
				
			||||||
 | 
					<p>
 | 
				
			||||||
 | 
					En tant qu'association/famille/société. Vous avez la possibilité d'ouvrir, quand vous le voulez, des services kaz, il vous suffit de nous le demander.<br><br>
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					Pourquoi n'ouvrons-nous pas tous les services tout de suite ? parce que nous aimons la sobriété et que nous préservons notre espace disque ;)<br>
 | 
				
			||||||
 | 
					A quoi sert d'avoir un site web si on ne l'utilise pas, n'est-ce pas ?<br><br>
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					Par retour de mail, dites-nous de quoi vous avez besoin tout de suite entre:
 | 
				
			||||||
 | 
					<ul>
 | 
				
			||||||
 | 
					<li>une comptabilité : un service de gestion adhérents/clients</li>
 | 
				
			||||||
 | 
					<li>un site web de type WordPress</li>
 | 
				
			||||||
 | 
					<li>un cloud : bureau virtuel pour stocker des fichiers/calendriers/contacts et partager avec vos connaissances</li>
 | 
				
			||||||
 | 
					</ul>
 | 
				
			||||||
 | 
					Une fois que vous aurez répondu à ce mail, votre demande sera traitée manuellement.
 | 
				
			||||||
 | 
					</p>
 | 
				
			||||||
 | 
					{% endif %}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					<p>
 | 
				
			||||||
 | 
					Vous avez quelques docs intéressantes sur le wiki de kaz:
 | 
				
			||||||
 | 
					<ul>
 | 
				
			||||||
 | 
					<li>Migrer son site internet wordpress vers kaz : <a href="https://wiki.kaz.bzh/wordpress/start#migrer_son_site_wordpress_vers_kaz">https://wiki.kaz.bzh/wordpress/start#migrer_son_site_wordpress_vers_kaz</a></li>
 | 
				
			||||||
 | 
					<li>Migrer sa messagerie vers kaz : <a href="https://wiki.kaz.bzh/messagerie/gmail/start">https://wiki.kaz.bzh/messagerie/gmail/start</a></li>
 | 
				
			||||||
 | 
					<li>Démarrer simplement avec son cloud : <a href="https://wiki.kaz.bzh/nextcloud/start">https://wiki.kaz.bzh/messagerie/gmail/start</a></li>
 | 
				
			||||||
 | 
					</ul>
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					Votre quota est de {{QUOTA}}GB. Si vous souhaitez plus de place pour vos fichiers ou la messagerie, faites-nous signe !<br><br>
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					Pour accéder à la messagerie instantanée et communiquer avec les membres de votre équipe ou ceux de kaz : <a href={{URL_AGORA}}/login>{{URL_AGORA}}/login</a><br>
 | 
				
			||||||
 | 
					</p>
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					{% if ADMIN_ORGA == '1' %}
 | 
				
			||||||
 | 
					<p>
 | 
				
			||||||
 | 
					Comme administrateur de votre organisation, vous pouvez créer des listes de diffusion en vous rendant sur <a href={{URL_LISTE}}>{{URL_LISTE}}</a><br>
 | 
				
			||||||
 | 
					</p>
 | 
				
			||||||
 | 
					{% endif %}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					<p>
 | 
				
			||||||
 | 
					Enfin, vous disposez de tous les autres services KAZ où l'authentification n'est pas nécessaire : <a href={{URL_SITE}}>{{URL_SITE}}</a><br><br>
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					En cas de soucis, n'hésitez pas à poser vos questions sur le canal 'Une question ? un soucis' de l'agora dispo ici : <a href={{URL_AGORA}}>{{URL_AGORA}}</a><br><br>
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					Si vous avez besoin d'accompagnement pour votre site, votre cloud, votre compta, votre migration de messagerie,...<br>nous proposons des formations mensuelles gratuites. Si vous souhaitez être accompagné par un professionnel, nous pouvons vous donner une liste de pros, référencés par KAZ.<br><br>
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					À bientôt 😉<br><br>
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					La collégiale de KAZ.<br>
 | 
				
			||||||
 | 
					
 | 
				
			||||||
		Reference in New Issue
	
	Block a user