Edit (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
- Démo en production (utilisable)
- Page du projet
- Téléchargement
- Github
- Ticket (Note : vous pouvez utiliser le compte anonymous/respect sinon créer un email jetable pour vous inscrire:-p )
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 :
srv:~$ mkdir -p /www/emailPoubelle srv:~$ cd /tmp srv:~$ wget -O emailPoubelle.zip http://forge.zici.fr/p/emailpoubelle-php/source/download/master/ srv:~$ unzip emailPoubelle.zip srv:~$ cp emailpoubelle-php-master/* /www/emailPoubelle
Configurer apache (d’autres serveur web sont compatibles) pour que le DocumentRoot pointe dans /www/emailPoubelle/www (dans notre exemple)
Configurer Postfix :
srv:~$ vi /etc/postfix/main.cf [...] virtual_alias_maps = hash:/www/emailPoubelle/var/virtual srv:~$ touch /www/emailPoubelle/var/virtual srv:~$ postmap /www/emailPoubelle/var/virtual srv:~$ chown www-data /www/emailPoubelle/var/virtual srv:~$ chown www-data /www/emailPoubelle/var/virtual.db
Ajouter dans le fichier /etc/aliases le devnull (pour la fonction de suspension de l’adresse email)
srv:~$ echo "devnull:/dev/null" >> /etc/aliases srv:~$ newaliases
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)
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.
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.
@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.
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.
Ton php_pdo n’est pas activé sur ton serveur je penses :
– http://stackoverflow.com/questions/14798262/pdo-could-not-find-driver-php-mysql
– http://stackoverflow.com/questions/2852748/pdoexception-could-not-find-driver
joli projet merci de le partager
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
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
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.
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
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
Pas de lézard, merci quand même (ça amène toujours à se poser des questions, c’est intéressant) !
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)
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.
Génial, très bonne idée pour le hook ! ça sera implémenté ! (dès que j’ai le temps mais je le met en todo !)
Merci Kriss !
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 :
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 :
Ais-je oublié quelque chose.
D’avance merci pour votre réponse.
Guillaume
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 :
Je dois dire que je suis un peu perdu ? d’avance merci pour votre aide.
Bonjour Guillaume,
Il doit y avoir un problème avec l’interprétation du conf.php… Peut être une erreur de syntaxe !?
David
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 :
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.
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’.
Oh c’est rigolo ça !
J’ai eu connaissance de votre blog par une asso P’titWatt que j’héberge chez Kynä (à propos du Poêlito dans une yourte, pour donner le lien à un couple d’ami).
Et comme le reste du blog est intéressant, hop je l’ajoute dans mon agrégateur. Et là j’arrive à ce billet avec le clipart que je reconnais pour l’avoir déposé sur OCAL 😀
Merci pour tes articles, ça donne des envies de bricoler tout ça ! (tu semble avoir un bon fournisseur de palettes !)
Librement,
Sylvain
Bonjour David
J’use et abuse d’emailpoubelle avec la version en ligne depuis des années, et régulièrement j’ai essayé de l’installer
sur ovh (pas réussi)
sur mon serveur perso sur macosx (pas réussi)
aujourd’hui, j’essaye sur mon serveur apache mis en place sur raspberry pi3 (eh bien j’y suis toujours pas arrivé)
voici ce que j’ai fais
1 – j’ai d’abord installé PEAR
pear install Net_DNS2 ne marche pas sur Pi semble t’il, j’ai procédé de la façon suivante
wget http://pear.php.net/go-pear.phar php go-pear.phar
sudo apt-get install wget
l’installation c’est faite dans mon dossier ‘home’
2- installer net-dns2 (fallait il le faire ?)
sudo apt-get install php-net-dns2
3- installer emailPoubelle en suivant readme (mais en apportant des modifications des liens ne semblant plus fonctionner, mes dysfonctionnements venant peut être de là)
en gras mes modifs
mkdir -p /var/www/emailPoubelle/postfix
cd /tmp #
(mon dossier www étant sur raspberry dans le répertoire /var/)
wget -O emailPoubelle.zip https://framagit.org/kepon/emailPoubellePhp/-/archive/master/emailPoubellePhp-master.zip unzip emailPoubelle.zip
http://forge.zici.fr/p/emailpoubelle-php/source/download/master/ CE LIEN NE SEMBLE PLUS FONCTIONNER, impossible de déziper
unzip emailPoubelle.zip
sudo cp -r /tmp/emailPoubellePhp-master/* /var/www/emailPoubelle/
rajouter
Rajouter dans le fichier /etc/aliases le devnull avec l’instruction ci-dessous
echo « devnull: /dev/null » >> /etc/aliases
newaliases
marche pas , j’ai ce message
newaliases: fatal: /etc/postfix/main.cf, line 47: missing ‘=’ after attribute name: « touch /var/www/emailPoubelle/var/virtual »
j’ai ensuite procédé aux modifications apache pour accéder aux pages
/emailPoubelle/emailPoubelle.php
marche pas j’ai ce message
Debug activé
Array ( ) 1
Erreur : Il ne semble pas que le fichier de configuration conf.php soit inclue car les constantes ne sont pas présentes.
/emailPoubelle/emailPoubelleAdmin.php
marche pas j’ai ce message
Connexion à la base invalid data source name
voilà Ce n’est peut etre pas tres clair
mais si tu as une idée pour m’aider
macbidule
macbidule toujours
j’avance à tatons
j’ai oublié de démarrer sur le bon fichier à savoir sur le fichier emailPoubelle/www/index.php
C’est fait, mais, maintenant j’ai l’erreur suivante
Erreur : le fichier d’alias ne peut pas être écrit. Merci de contacter l’administrateur
j’ai pourtant pour a moment toutes autorisations (+ hierarchie) pour le dossier emailPoubelle en www-data et chmod à 775
ou veut il écrire créer le fichier alias ?
Tu as créé un fichier conf.php avec les constantes ? Tu l’as édité ?
Le fichier alias est de base dans le répertoire var. Qui semble pour toi être /var/www/emailPoubelle/var/…
Note que net-dns2 n’est pas indispensable au fonctionnement, surtout si c’est pour te mettre une instance privé.
Il y a quoi dans ton fichier /etc/aliases ?
Tu as conscience qu’en plus d’avoir emailPoubelle il te faut un serveur mail qui fonctionne au minimum en réception. Est-ce que c’est bien ton cas ? (je te pose la question car sur OVH ça m’étonne que tu es pu avoir ça, sauf si tu avais une VM, un dédier…)
Belle journée,
David
Bonjour David
Tu as créé un fichier conf.php avec les constantes ? Tu l’as édité ?
Non, ce fichier n’existe pas, j’ai uniquement un fichier conf-dist.php. J’ai pas vu dans le tuto que ce fichier était à créer. Quelles constantes dois-je mettre en place.
Le fichier alias est de base dans le répertoire var. Qui semble pour toi être /var/www/emailPoubelle/var/…
je n’ai que les deux fichiers aliasdeny.txt et blackliste.txt dans ce répertoire.
il possède en principe tous les droits pour écrire
groupe en www-data et autorisations 775
et si je lance index.php j’ai bien un message d’erreur Erreur : le fichier d’alias ne peut pas être écrit
Il y a quoi dans ton fichier /etc/aliases ?
# See man 5 aliases for format
postmaster: root
devnull: /dev/null
si dans mon terminal
je tente l’instruction newaliases
j’ai ce message
newaliases: fatal: /etc/postfix/main.cf, line 47: missing ‘=’ after attribute name: « touch /var/www/emailPoubelle/postfix/virtual »
tout çà peut peut être t’éclairer, mais moi je suis perdu 🙁
Tu as conscience qu’en plus d’avoir emailPoubelle il te faut un serveur mail qui fonctionne au minimum en réception. Est-ce que c’est bien ton cas ?
bon alors çà non je n’en avais pas conscience
alors je précise mon état d’esprit, sortir des services offerts par les gafas, arrêter de filer des infos, donc j’ai un serveur hébergé chez moi (nextcloud sur raspberry), et donc ton emailpoubelle me va très bien pour limiter mes traces sur le net.
et comme tu le proposes héberger soit même le service.
ayant un raspberry depuis peu il me semblait être intéressant d’y installer ton outil.
Penses-tu que ça reste une bonne idée çà implique d’avoir un autre port ouvert sur mon serveur. ou faut t’il que je l’installe comme tu dis sur OVH ? ou sur mon mac
Et bien commence par ça… Avoir un serveur mail qui fonctionne, c’est un pré-requis. Mais c’est vraiment pas de la tarte, vue ton niveau je penses qu’il faut te faire aider pour ça.
OK merci pour ton aide
si tu le permets, je reviens si j’avance
macbidule
Bonjour,
quelqu’un pourrait il m’expliquer comment installer le projet sur Wamp?
J’ai déjà installé: pear install Net_DNS2
Je ne m’y retrouve plus avec postfix …
Si vous pouvez en détail, merci d’avance
Bonjour,
Je ne pense pas ça possible, en effet Wamp n’embarque pas postfix…
Libère toi, passe sous linux…
David