Go to file
David 8b1f32b4eb Coquille sur la date de suppresison des archives 2023-03-28 23:06:57 +02:00
SQL Version °0.1 2020-11-05 11:46:41 +01:00
assets #2 Début de résolution pour les caractères spéciaux, plus dans le front, mais toujour dans l'archive 2023-03-26 22:51:51 +02:00
init.d #1 Des omissions pour l'installation... 2020-11-18 20:46:41 +01:00
lang Correction gmail + mot de passe 2020-11-15 17:24:41 +01:00
page Version °0.1 2020-11-05 11:46:41 +01:00
templateTab Correction problème UTF8 dans la sauvegarde des messages 2020-11-06 10:47:13 +01:00
.gitignore Correction gmail + mot de passe 2020-11-15 17:24:41 +01:00
.htaccess Correction gmail + mot de passe 2020-11-15 17:24:41 +01:00
README.md Coquille sur la date de suppresison des archives 2023-03-28 23:06:57 +02:00
archive Coquille sur la date de suppresison des archives 2023-03-28 23:06:57 +02:00
body-end.php Coquille sur la date de suppresison des archives 2023-03-28 23:06:57 +02:00
composer.json Coquille sur la date de suppresison des archives 2023-03-28 23:06:57 +02:00
config.yaml_default #1 Des omissions pour l'installation... 2020-11-18 20:46:41 +01:00
daemon.note Coquille sur la date de suppresison des archives 2023-03-28 23:06:57 +02:00
daemon.php Coquille sur la date de suppresison des archives 2023-03-28 23:06:57 +02:00
form.php Initial commit 2020-10-30 21:51:04 +01:00
functions.php Coquille sur la date de suppresison des archives 2023-03-28 23:06:57 +02:00
header.php Correction gmail + mot de passe 2020-11-15 17:24:41 +01:00
index.php #1 Arrêt page status si état terminé + bug affichage formulaire sur la localisation des répertoires 2020-11-21 23:38:01 +01:00
robots.txt Initial commit 2020-10-30 21:51:04 +01:00

README.md

Lighten Mailbox (Béta) - Allégez votre boîte mail

Lighten Mailbox est une interface web qui permet de faire du ménage dans sa boîte mail. Ce ménage ce fait soit en supprimant des vieux messages, soit en les téléchargeant au format EML ou HTML/TXT. Le ménage ce fait par critère de date (début/fin) puis en sélectionnant les dossiers IMAP concernés.

Exemple d'utilisation : Télécharger et archiver (exemple de rendu) ces emails vieux de 2 ans et les enregistrant sur un disque dur externe, puis (quand vous vous êtes assuré de lintégrité des donnée) supprimer ces messages.

Instance de test : http://lighten-mailbox.zici.fr/

Exemple d'index d'archive : https://lighten-mailbox.zici.fr/archive/example/ (utilisable hors ligne, dans un navigateur internet depuis une clé usb par exemple...)

Installation

Pré-requis

  • PHP > 7.0
    • php pdo mysql
    • php-imap
    • php yaml
    • php cli
    • composer
      • php-mime-mail-parser
      • net_dns2
      • phpmailer
  • Apache http serveur (for htaccess but nginix is possible)
  • Mysql
  • openssl

Télécharger le dépôt git et le rendre accessible en HTTP

Installation des dépendances php :

#### Dépendance système (debian 10)
apt install php-imap php-yaml php-mailparse curl php-cli php-mbstring git unzip composer
cd /var/www/lighten-mailbox.zici.fr/web # Chemin de votre installation puis
#### Mail parse : 
composer require php-mime-mail-parser/php-mime-mail-parser
### net_dns2
composer require pear/net_dns2
### phpmailer
composer require phpmailer/phpmailer

Créer une base de donnée Mysql et y injecter le contenu de * *

cat SQL/lightmb.sql | mysql -u utilisateur -p base

Copier le fichier config.yaml

cp config.yaml_default config.yaml

Editer le fichier config.yaml et paramétrer ce dont vous avez besoin, notaement les accès Mysql, le mailer, le répertoire de travail (minimum) :

baseUrl: https://lighten-mailbox.zici.fr/:
[...]
db:
    dsn: 'mysql:host=localhost;dbname=lightmb'
    user: 'lightmb'
    password: '**********'
[...]
mailer:
    host: "mail.exemple.com"
    port: 587
    secure: "tls" # ssl or tls or comment for unsecure
    certverify: false
    auth: true
    username: "vous@exemple.com"
    password : "***********"
    from: "vous@exemple.com"
    replyto: "vous@exemple.com"
[...]
url: 
    archive: 'https://lighten-mailbox.zici.fr/archive/'
[...]
dir:
    absolut: '/var/www/lighten-mailbox.zici.fr/web' # Votre répertoire de travail
[...]
crypt:   # https://www.php.net/manual/fr/function.openssl-encrypt.php
    method: 'AES-128-CTR'
    key: 'LesBoitesMailsDoiventMaigrires'
    iv: 'ck98sle98zy39eft'

Assurez vous que le dossier "archive" soit accessible en écriture par votre serveur web :

mkdir /var/www/lighten-mailbox.zici.fr/web/archive
chown -R www-data /var/www/lighten-mailbox.zici.fr/archive/

Assurez vous que le fichier de log soit créé et accessible en écriture par votre serveur web.

Exemple de fichier de config :

log:
    path: /var/www/lighten-mailbox.zici.fr/private/lighten.log
    level: 4

Créer le répertorie (un endroit non accessible sur le web de préférence), et s'assurer que votre utilisateur php (ici www-data) est accès en écriture à celui-ci :

mkdir -p /var/www/lighten-mailbox.zici.fr/private
touch /var/www/lighten-mailbox.zici.fr/private/lighten.log
chown -R www-data /var/www/lighten-mailbox.zici.fr/private/

Pour le daemon, le script ini.d se trouve dans init.d/lighten-mailbox éditer le début du script pour indiquer (a minima) :

###### Configure THIS !!
# Chemin de l'application : 
DIR="/var/www/lighten-mailbox.zici.fr/web"
# Utilisateur qui lance le daemon (le même qui exécute php sur votre serveur web, souvent www-data)
USER="web242"
#USER="www-data" 

Changelog

  • Futur :
    • Orientation "serveur dédier" limiter a une liste de @domaine et ou un serveur
    • Mode backup et non archive... en tout cas permettre la modification des texte de présentation... / incrustation dans le html...
    • BUG index.html si eml masque lien des archives !
    • MAX usage... par IP et/ou cookies... ? (pour éviter que le service ne soit détourné)
    • Estimer temps/durée (avant validation)
    • Prévenir de "combien de personne avant vous" avant validation et combien de temps ça va prendre (estimation possible avec le size de tout les spooler en cours + config débit download)
    • Mot de passe personnalisé sur archive (pour l'instant on met le mot de passe mail)
    • Tabulator :
    • Multi serveur ?

Licence

By David Mercereau Licence : Créative Common Zero

Theme en Wizard based on "Material Bootstrap Wizard" (free responsive Bootstrap form wizard download it on AZMIND !)

Les projets libre utilisé dans ce projet :