Sortie de la version 1.0 d’emailPoubelle.php – email jetable auto-hébergeable

nepasjeterEdit (05/01/2014) : prise en compte des commentaires

Vous avez besoin d’un service comme jetable.org, mail-temporaire.fr…  emailPoubelle.php c’est pareil… mais en mieux (parce que « à la maison »)

emailPoubelle.php est donc une page qu’il faut typiquement inclure dans votre site. Elle permet d’administrer des adresses email (des alias plus précisément) jetable ou temporaire. Ces adresses peuvent avoir une durée de vie limitée ou non. Elles peuvent être désactivé (>/dev/null) à tout moment.

Le (petit) projet

Le plus gros changement sur version 1.0 est l’utilisation d’une base de données (sqlite, postgresql, mysql.. au choix, c’est du PDO). Mais vous pouvez continuer à utiliser la version 0.3 qui est en full plain text

Le script dépend de Postfix, un service web avec PHP,  php-pdo et (en option) de la lib pear Net_DNS2

Les fonctionnalités dans leurs grandes lignes :

  • Activer / supprimer / suspendre une adresse email
  • NoScript compatible
  • Multi-base (sqlite, postgresql, mysql.. au choix, c’est du PDO)
  • Multi-domaine compatible
  • Expiration des adresses email possible
  • Ajout d’un commentaire sur l’email poubelle
  • Email blackliste
  • Full UTF-8
  • voir le changelog…

Installation

Télécharger & décompresser les sources :

Configurer apache (d’autres serveur web sont compatibles) pour que le DocumentRoot  pointe dans /www/emailPoubelle/www (dans notre exemple)

Configurer Postfix :

Ajouter dans le fichier /etc/aliases le devnull (pour la fonction de suspension de l’adresse email)

23 réflexions au sujet de « Sortie de la version 1.0 d’emailPoubelle.php – email jetable auto-hébergeable »

  1. Merci pour emailPoubelle !

    La copie du kit doit être récursive :

    cp -r emailpoubelle-php-master/* /www/emailPoubelle

    Tu écris qu’il faut ajouter dans /etc/alias le devnull, c’est dans /etc/aliases, comme le montre bien ta ligne de commande.

    README.md doit aussi être corrigé. ;o)

  2. Merci pour ce script.

    Par rapport à ton tuto il y a un petit soucis sur les path.

    Dans la conf on a
    define('DATA', '../var');
    Qui est utlisé par
    define('FICHIERALIAS', DATA.'/virtual');
    Hors dans ton guide tu les place dans le dossier postfix et pas var:
    touch /www/emailPoubelle/postfix/virtual

    Ou alors j’ai loupé un truc.
    Pour ma part j’ai tout mis dans postfix et rulez.

  3. Bonjour,Merci pour ce tuto.N’étant pas expert linux (…) j’ai un petit problème.Lorsque j’accède à l’interface ( dans /emailPoubelle/www/)J’ai cette erreur : » » » Erreur : le répertoire de travail ne peut pas être écrit. Merci de contacter l’administrateur «  » »Est ce un problème de droit ? Comment le savoir ?Merci.

  4. @Philippe, fais comme indique Sutunam : dans le fichier conf-dist.php, modifie define(‘DATA’, ‘../var’); par define(‘DATA’, ‘../postfix’);
    Et déplace les deux fichiers aliasdeny.txt  et blacklist.txt de var dans postfix.

    Ça devrait fonctionner ensuite.

     

  5. Salut,
    Meric pour le script, je viens de faire l’installation en suivant les recommandations, j’ai connexion à la base could not find driver

    Si vous avez une idée je suis preneur.

    Badmaniak.

  6. Bonjour David,

    Décidément, entre le script duplicity/ovh et celui-ci, mercereau.info va entrer dans ma liste des incontournables. Un grand merci!

    Le hasard faisant bien les choses, je venais d’installer pookmail (un vieux mais efficace email poubelle en perl).

    Deux petites suggestions pour emailPoubelle:
    – l’une, simple, pouvoir assigner à un email jetable un email de forward, car penser à aller vérifier sa liste d’emails jetables ne va pas toujours de soi.
    – l’autre, un peu plus lourde, rajouter de l’authentification pour gérer les emails jetables (ou alors on délègue ça au site hébergeant ton script).

    Merci encore pour le partage
    Kriss

    1. Bonjour Kriss & merci !

      Je n’ai pas bien compris ton premier point d’amélioration.. C’est quoi pour toi un email de forward ? (bref si tu peux développer, toutes les idées sont bonnes à prendre)
      Pour ton second point : je voudrais rester simple (1 script, une fonction) Je ne serais pas trop comment implémenter une gestion de l’authentification dans l’interface minimaliste actuelle. Dans quel bute tu voudrais faire ça ? Mettre des quotas d’emails poubelle par personne ? Je penses que le plus simple est de protéger ton script par un .htaccess si tu souhaite le rendre priver.

      David

  7. email de forward => avoir un champ dans le formulaire où l’on puisse rentrer un email. Si renseigné, les emails reçus sur l’adresse poubelle sont transférés à ce second mail.

    Ca revient à avoir des alias temporaires et jetables au-dessus d’un compte central, qui lui reste privé (comme le propose yahoo par ex, mais avec ses emails à soi).

    Sur yahoo (que je n’utilise plus, vu leur politique de confidentialité), j’utilisais ainsi un email (un alias) différent par site où je laissais mes coordonnées. Ca me permettait de savoir d’où venait le spam que je recevais ensuite, et aussi de désactiver de manière sélective les alias en question. Super pratique.

    Pour l’authentification, je partage ton avis.

    1. L’email de forward tel que tu me le décris c’est ce que fais déjà emailPoubelle.php. emailPoubelle.php ne crée pas de boîte, c’est un alias qui forward sur ton email « perso » (jamais visible pour le coup). Du coup, en l’occurrence ton « compte centrale » c’est ton adresse email perso.

      Ton fonctionnement avec yahoo c’est le fonctionnement que j’utilise (via emailPoubelle) : un alias poubelle créé par site ou les emails sont forwardé sur mon email perso. Quand je trouve un spammeur je supprime l’emailPoubelle via l’interface et je ne reçois plus d’email de ce site.

      Toujours peur qu’on ne ce soit pas compris… Si c’est le cas on s’appelle si tu veux (c’est plus simple à l’orale) – contact moi en privé via le formulaire de contact.

      Merci pour l’intérêt !

      David

      1. La honte sur moi, je crois que j’ai lu et regardé beaucoup trop vite la page de présentation du projet et sa démo. Ce que je souhaite est effectivement ce que tu as fait. La faute à une journée de boulot un peu trop dense (ah, les pannes de datacenter…). Merci pour la patience en tout cas.

        Kriss

  8. Encore moi…
    Je viens d’installer le soft – marche nickel.
    Ma petite contribution:
    – pour éviter les « Relay access denied », ajouter un « virtual_alias_domains = mon_pseudo_domain.com » dans le main.cf de postfix
    – penser à donner accès à l’utilisateur postfix aux fichiers var/virtual et var/virtual.db
    – interdire en écriture l’utilisateur php sur tout excepté le répertoire var (et encore, var/aliasdeny.txt et var/blacklist.txt peuvent être mis en read-only pour php, c’est selon)

  9. Un petit retour après quelques jour d’utilisation:

    – outil qui fonctionne très bien
    – petit bug (dû à ma conf?): les emails envoyés ne gèrent pas les accents => correction en rajoutant un $header.= »Content-type: text; charset= utf-8\n »; dans la fonction SendMail
    – un gros trou potentiel de sécurité pour moi: l’utilisation de la fonction « exec » pour exécuter postmap, par défaut interdite pour raison de sécurité sur la plupart des OS. Idée pour une v2 d’emailPoubelle: que le script php (UpdateVirtualDB) envoie un email en local et que postcript, via un hook ou un alias spécial, exécute la commande postmap (en direct ou via un script php pour récupérer les bonnes variables).

    Just my 2 cents comme on dit.

  10. Bonjour,

    je suis en train de faire un tutoriel sur l’installation et l’utilisation de votre script mais lorsque j’affiche la page web j’ai la même erreur que  Philippe :

    Erreur : le répertoire de travail ne peut pas être écrit. Merci de contacter l’administrateur

    J’ai effectué les modifications de Sutunam mais toujours le même message. Vu que je ne suis pas un spécialiste sous linux, voici les droits à l’intérieur de mon virtuahost :

    [root@ns396153 emailpoubelle.quick-tutoriel.com]# ls -la

    total 88
    drwxr-xr-x 7 root root 4096 Apr 6 19:34 .
    drwxr-xr-x 8 root root 4096 Apr 4 01:57 ..
    drwxr-xr-x 2 root root 4096 Apr 6 17:21 bin
    -rw-r–r– 1 root root 1243 Apr 6 17:21 CHANGELOG.md
    -rw-r–r– 1 root root 2809 Apr 6 19:16 conf-dist.php
    -rw-r–r– 1 root root 16884 Apr 6 17:15 emailPoubelle.php
    -rw-r–r– 1 root root 13421 Apr 6 19:34 error.log
    drwxr-xr-x 2 root root 4096 Apr 6 17:22 lib
    drwxr-xr-x 2 apache apache 4096 Apr 6 19:37 public_html
    -rw-r–r– 1 root root 1208 Apr 6 17:15 README.md
    -rw-r–r– 1 root root 8725 Apr 6 19:34 requests.log
    drwxr-xr-x 2 root root 4096 Apr 6 19:18 var
    drwxr-xr-x 3 root root 4096 Apr 6 19:35 www

    Ais-je oublié quelque chose.

    D’avance merci pour votre réponse.

    Guillaume

  11. Re,

    Du coup je ne sais pas quel est le répertoire de travail var ou postfix ?

    J’ai remis comme par défaut avec le répertoire var, j’ai mis les droits d’écriture dessus et maintenant j’ai bien l’interface pour gérer les mails temporaires.

    Le souci lorsque je clic sur le bouton Activer  j’ai cette erreur dans mon navigateur :

    http://emailpoubelle.quick-tutoriel.com/%3C?=%20URLPAGE?%3E
    Not Found
    The requested URL /< was not found on this server.

    Server-Quick-Tutoriel Server at emailpoubelle.quick-tutoriel.com Port 80 

    Je dois dire que je suis un peu perdu ? d’avance merci pour votre aide.

  12. Bonsoir,

    je reviens vers vous car après vérification du fichier  conf-dist.php je ne trouve aucune erreur de syntaxe. D’ailleurs je n’ai rien modifié dedans.

    j’ai suivi pas à pas l’installation ci-dessus mais je n’arrive toujours pas à faire fonctionner votre script. j’ai toujours le message suivant lorsque je clic sur Activer (par exemple) lors de la création d’un mail :

    http://emailpoubelle.quick-tutoriel.com/%3C?=%20URLPAGE?%3E
    Not Found
    The requested URL /< was not found on this server.

    Server-Quick-Tutoriel Server at emailpoubelle.quick-tutoriel.com Port 80

    Y-a-t-il quelque chose d’autre à faire d’autre après l’installation. Vous parlez de base MySQL ?

    Si vous le voulez je peux vous donner accès à mon VPS en SSH pour que vous jetiez un oeil, car je voudrais bien le faire fonctionner ?

    D’avance merci pour votre réponse.

    Guillaume.

    1. Pour information public : j’ai contacté guillaume en privé et le problème venait de la configuration de son php.ini, a savoir que le paramètre ‘short_open_tag’ n’était pas sur ‘On’.

Laisser un commentaire

Votre adresse de messagerie ne sera pas publiée. Les champs obligatoires sont indiqués avec *