Work on mail alias

This commit is contained in:
kitoy 2025-12-13 04:47:17 +01:00
parent a5ba0b90bb
commit 2f61155040
2 changed files with 68 additions and 91 deletions

View File

@ -5,22 +5,19 @@
{% block main %}
<div class="row">
{% if MAIL_SERVER %}
<div class="col-md-12">
<h3> A quoi ca sert les alias ? </h3>
<p> Les alias c'est utile quand vous ne voulez pas donner votre vrai adresse e-mail.
Vous pouvez creer une adresse que vous pouvez supprimer rapidemment, cela permet personnaliser une adresse pour un destinataire
si vous n'avez pas confiance en lui ou de trier plus facilement les e-mails venant de ce destinataire.
<h3> Mes identités : A quoi ca sert les alias ? </h3>
<p> Les alias d'e-mail c'est utile quand vous ne voulez pas donner votre vrai addresse e-mail.
Vous pouvez creer une adresse que vous pouvez supprimer rapidemment, cela permet de creer une adresse pour un destinataire particulier
si vous n'avez pas confiance en lui par exemple ou de trier plus facilement les e-mails venant de ce destinataire.
</p>
<p> Vous n'avez pas besoin de configurer un autre compte mail sur vos applications, tous les e-mails
arriveront sur votre adresse e-mail principale déjà configuré
<p> Vous n'avez pas besoin de configurer un autre compte mail sur vos applications mail, tous les e-mails
arriveront sur votre adresse e-mail principale déjà configuré. Faîtes attention de bien répondre avec votre mail d'alias cependant !
</p>
<table class="table">
<thead>
<tr>
<th>Mes Alias <span class="badge">{{ i }}</span></th>
<th>Mes identités <span class="badge">{{ i }}</span></th>
<th></th>
</tr>
</thead>
@ -36,54 +33,34 @@
</tbody>
</table>
</div>
</div>
<div class="panel panel-primary">
<div class="panel-heading">
<h3 class="panel-title"> Mes identités </h3>
</div>
<div class="panel-body">
<form method="POST" action="" enctype="multipart/form-data">
<p> Votre Adresse e-mail sur ce serveur : {{ email }} </p>
<h4> Votre addresse e-mail sur ce serveur : {{ email }} </h4>
<label> Nouvelle identité </label>
<br/>
<div class="col-sm-7">
<input type="text" name="alias" id="alias" placeholder="Nouvel_identité" class="form-control"><br />
</div>
<h4>@{{ hostname }}</h4>
<fieldset role="group">
<input type="text" name="alias" id="alias" placeholder="Nouvel_identité">
<button class="outline">
@{{ hostname }}
</button>
</fieldset>
<br/>
<br/>
<button id="tada" class="btn btn-default btn-primary" type="submit">Ajouter</button>
<button class="btn btn-default btn-primary" type="submit">Créer cette identité</button>
</form>
</div>
</div>
{% else %}
<div class="panel panel-primary">
<div class="panel-heading">
<h3 class="panel-title"> Mes identitées </h3>
</div>
<h2> Le serveur de mail n'est pas activé cette fonctionnalitée est désactivé <h2>
<div class="panel-body">
<h2> Le serveur de mail n'est pas activé cette fonctionnalité est désactivé <h2>
</div>
</div>
{% endif %}
{# on affiche les messages d'erreur puis les messages de succes #}
{% for categorie in ['error', 'succes'] %}
{% with msgs = get_flashed_messages(category_filter=[categorie]) %}
{% if msgs %}
{% for m in msgs %}
<p>{{ m|safe }}</p>
{% endfor %}
{% endif %}
{% endwith %}
{% endfor %}
{% endblock %}

View File

@ -28,7 +28,7 @@ MAIL_SERVER = app.config['MAIL_SERVER']
XMPP_SERVER = app.config['XMPP_SERVER']
SETUID = app.config['SETUID']
BASE_URL = app.config['BASE_URL']
BACKUP_TIME = app.config['BACKUP_TIME']
MAIL_DOMAIN = app.config['HOST']
##################################################################################################
@ -37,7 +37,7 @@ BACKUP_TIME = app.config['BACKUP_TIME']
@mymailbox.route('/mymailbox/alias', methods=['GET', 'POST'] )
@login_required
def myalias():
hostname=gethostname()
hostname=MAIL_DOMAIN
user='%s' % escape(session['username'])
conn = sqlite3.connect(DATABASE) # Connexion à la base de donnée
cursor = conn.cursor() # Création de l'objet "curseur"
@ -63,10 +63,10 @@ def myalias():
(aliases, user))
conn.commit()
time=time.strftime("%A %d %B %Y %H:%M:%S")
IP=request.environ['REMOTE_ADDR']
ip_address=request.environ['REMOTE_ADDR']
client_plateform=request.headers.get('User-Agent')
log=time + ' - ' + IP + ' - ' + user + ' - ' + client_platerform + '\n' + '---> ' + "Ajout de l'alias "+ alias + '\n'
log=time + ' - ' + ip_address + ' - ' + user + ' - ' + client_platerform + '\n' + '---> ' + "Ajout de l'alias "+ alias + '\n'
append_to_log(log, user)
flash(u'Votre alias a été ajouté', 'succes')
else:
@ -91,7 +91,7 @@ def myalias():
aliases=mailbox['alias'],
hostname=hostname,
MAIL_SERVER=MAIL_SERVER,
username=UTILISATEUR )
username=user )
@mymailbox.route('/mymailbox/rmalias/<aliasrm>')
@ -99,10 +99,10 @@ def myalias():
def remove_alias(aliasrm):
aliasrm = escape(aliasrm)
if MAIL_SERVER:
UTILISATEUR='%s' % escape(session['username'])
user='%s' % escape(session['username'])
conn = sqlite3.connect(DATABASE) # Connexion à la base de donnée
cursor = conn.cursor() # Création de l'objet "curseur"
cursor.execute("""SELECT Mail, alias FROM users WHERE name=?""", (UTILISATEUR,))
cursor.execute("""SELECT Mail, alias FROM users WHERE name=?""", (user,))
tmp = cursor.fetchone()
mail = tmp[0]
alias_list = tmp[1].split(',')
@ -117,13 +117,13 @@ def remove_alias(aliasrm):
res = os.system(cmd)
if res == 0:
cursor.execute("UPDATE users SET alias=? WHERE name=?",
(aliases, UTILISATEUR))
(aliases, user))
conn.commit()
TIME=time.strftime("%A %d %B %Y %H:%M:%S")
IP=request.environ['REMOTE_ADDR']
CLIENT_PLATFORM=request.headers.get('User-Agent')
log = TIME + ' - ' + IP + ' - ' + UTILISATEUR + ' - ' + CLIENT_PLATFORM + '\n' + '---> ' + "Suppression de l'alias "+ alias + '\n'
append_to_log(log, UTILISATEUR)
time=time.strftime("%A %d %B %Y %H:%M:%S")
ip_address=request.environ['REMOTE_ADDR']
client_platform=request.headers.get('User-Agent')
log = time + ' - ' + ip_address + ' - ' + user + ' - ' + client_platform + '\n' + '---> ' + "Suppression de l'alias "+ alias + '\n'
append_to_log(log, user)
flash(u'Votre alias a été supprimé', 'succes')
else:
flash(u'Il y a eu une erreur', 'error')