PushMail pour GMail : nouvelle solution

Je vous avais parlé récemment d’une méthode permettant d’avoir du pushmail gratuitement avec un compte GMail et l’offre Pass Surf 2.0 de SFR (connexion wapsfr). Tout allait presque pour le mieux dans le meilleur des mondes, sauf que… :

  • ce système était très gourmand en batterie (une catastrophe) ;
  • et surtout, eMoze ne fonctionne plus depuis 5 jours. Je n’ai pas fait d’investigation pour savoir si le problème venait des serveurs eMoze, ou si c’est SFR qui s’était mis à filtrer cette solution.

Me voilà parti en chasse d’une nouvelle solution de push mail compatible avec une connexion qui filtre tout sauf le protocole http[s].

Première piste : l’offre live.mail2web.com, qui permet d’ouvrir gratuitement un compte Exchange, et de bénficier ainsi du push mail natif de Winows Mobile. Yesss…. ça marche ! Sauf que… malheureusement, quand on reçoit un message et qu’on y répond, le destinataire voit que la réponse provient de notre adresse @mail2web.com, ce qui n’est pas du tout appréciable. Impossible de mettre un replyto différent dans l’offre gratuite (il semblerait que ce soit une des possibilités offerte dans l’offre payante).

Du coup, je me suis dit « mais des fois par hasard, n’existerait-il pas un petit projet libre qui permettrait de simuler un serveur exchange, offrant ainsi le pushmail gratuitement ? ». Une petite requête à google après, le premier lien aura été le bon : un tel produit existe !!! Quelques lignes de code PHP à mettre sur un serveur qui tourne 24h/24. Or… et bien justement, j’ai à demeure une Xbox qui tourne sous Linux, et qui joue parfaitement bien ce rôle. Le nom de ce merveilleux projet : z-push (je viens d’installer la version 1.2RC1 qui fonctionne très bien).

L’installation se fait en deux coups de cuillère à pot :

  1. décompressez l’archive du projet et déposer le dossier z-push dans le répertoire où sont stockés vos pages web sur le serveur (sous /var/www en ce qui me concerne) ;
  2. créez un fichier .htaccess dans ce dossier et assurez-vous qu’il contient les lignes suivantes :
        php_flag magic_quotes_gpc off
        php_flag register_globals off
        php_flag magic_quotes_runtime off
        php_flag short_open_tag on
  3. coté droit d’accès, vérifiez que le serveur web peut bien accéder au contenu de z-push en lecture, et au dossier z-push/state en écriture, ce qui s’est soldé chez moi par un :
        chown -R www-data /var/www/z-push && chmod 777 /var/www/z-push/state
  4. il faut que l’adresse web « http://votre.serveur/Microsoft-Server-ActiveSync » pointe vers le fichier « z-push/index.php« . Chez moi (qui ai apache2), ça s’est traduit par l’ajout de la ligne suivante dans « /etc/apache2/sites-available/default » :

        Alias /Microsoft-Server-ActiveSync /var/www/z-push/index.php

    N’oubliez pas de redémarrer le serveur http pour prendre en compte cette nouvelle configuration (une autre solution qui doit fonctionner consisterait à renommer le dossier z-push en Microsoft-Server-ActiveSync) ;
  5. reste à modifier le fichier de configuration z-push/config.php pour qu’il utilise le serveur IMAP de google comme backend. Voici les modifications à effectuer (en gras, ce qui change) :
        […]
        $BACKEND_PROVIDER = « BackendIMAP« ; // à la place du « BackendICS » initial
        […]
        define(‘IMAP_SERVER’, ‘imap.gmail.com‘);
        define(‘IMAP_PORT’, 993);
        define(‘IMAP_OPTIONS’, ‘/notls/norsh/ssl‘);

A ce stade, vous avez fini coté serveur. Pour le vérifier, depuis un navigateur, allez à l’adresse : http://votre.serveur/Microsoft-Server-ActiveSync (ou https si vous avez activé le SSL, ce qui est préférable en terme de sécurité) et autentifiez-vous en mettant votre adresse gmail comme login (sans oublier le @gmail.com), et votre mot de passe gmail. Vous devez alors obtenir une erreur « GET not supported – This is the z-push location and can only be accessed by Microsoft ActiveSync-capable devices » (si vous avez ce message, c’est que tout va bien).

Reste à configurer votre mobile (qui doit être sous Windows Mobile 5 AKU2 minimum). Lancez ActiveSync, faire « Menu/Configurer le serveur ». Mettre alors comme serveur le nom de la machine sur laquelle vous avez installé z-push. Cochez (ou pas) la connexion SSL, suivant si vous avez configuré votre serveur web pour être accessible en SSL. Faire « Suivant ». Mettre votre adresse gmail complète (avec le @gmail.com) comme nom d’utilisateur, votre mot de passe gmail, et gmail.com si nécessaire comme domaine. Cliquez sur « Avancer », vérifiez que tout semble correct, cliquez de nouveau sur « Avancer ». Dès lors, ne sélectionnez que le service « E-mail ». En effet, le projet z-push ne gère pas encore la synchro du calendrier et des tâches (il paraît qu’il gère la synchro des contacts avec KDE/Kontact, mais je n’ai pas testé). Sélectionnez le service « E-mail », cliquez sur paramètres. Réglez ce que vous avez sous les yeux comme bon vous semble, mais surtout, cliquez sur « Avancés… » pour aller posisionner votre vraie adresse e-mail dans la zone « Mes adresses de messageries » (celle que les gens voient si vous faites un « répondre »). A noter qu’il doit y avoir un bug, j’ai du revenir deux fois remplir cette zone pour qu’elle soit prise en compte.

That’s all, folks. Ca doit fonctionner tout seul. A noter qu’avec les versions récentes d’ActiveSync sous Windows Mobile, vous pouvez aller dans « Menu/Planification… », et régler si vous souhaitez du vrai pushmail temps réel, ou un « envoyer/recevoir » toutes les N minutes, le tout selon si vous êtes durant les heures de pointes ou les heures creuses (plages qui peuvent être définies elles aussi). Vous pouvez ainsi choisir d’avoir du vrai pushmail la journée quand vous en avez besoin, et seulement quelques « envois/réceptions » pendant que vous dormez, pour économiser les batteries.

download Fond musical : Calogero – Pomme C

Commentaire

PushMail pour GMail : nouvelle solution — 12 commentaires

  1. @dcdtc: n’importe quel serveur *IMAP* peut-être accessible via z-push. Pour l’heure, il n’y a pas de backend en POP3. Par contre, si le serveur sur lequel est installé z-push est lui-même le serveur d’email (si vous êtes votre propre hébergeur de courriels), il existe un backend « maildir ».

    L’autre contrainte est que pour avoir du pushmail 24h/24, le serveur qui héberge z-push doit être allumé 24h/24. Bien sûr, on pourrait imaginer installer z-push chez un hébergeur du style free.fr ou autre, mais j’imagine que les restrictions PHP d’un hébergement mutualisé rendent cette opération impossible (par exemple, il faut que les packages php-pear et éventuellement php-mail soient installés).

  2. Oh mais de rien, je t’en prie… Ah, & petites précisions complémentaires :
    – je viens d’essayer de l’installer chez 1and1 : je confirme, il doit y avoir trop de coupes franches coté PHP, ça ne marche pas ;
    – ensuite, ne pas trop diffuser le nom du serveur où tu as installé cette solution. En effet, si tu règles par exemple z-push pour dialoguer avec le serveur IMAP de Gmail (mais c’est pareil avec celui de free ou d’autres), n’importe qui peut utiliser ton installation pour accéder à son propre compte. Ce qui n’est pas grave en soit, sauf que s’il y a beaucoup de n’importe qui, ça pourrait surcharger le serveur qui fait ça…

  3. Ping : desvigne.org » Blog Archive » Encore et encore du pushmail : my.funambol

  4. Bonjour,

    J’ai une question stupide, comment vous faite un serveur perso?
    Vous louez quelque chose ou vous prennez un ordinateur et vous vous y connectez avec une adresse IP fixe?

    Merci

  5. @zerbault: il y a plusieurs solutions. La plus simple et la moins couteuse : avoir effectivement un PC allumé chez soi (oui, j’ai une IP fixe). C’est la solution que j’ai actuellement. Mais attention au prix d’achat et à la consommation électrique. C’est pourquoi j’ai commencé il y a quelques années en détournant une XBox v1 (modchipée). Et plus récemment, j’ai acheté une eeebox de chez Asus. C’est laaaaaaaargement assez puissant pour un petit serveur perso. Avantage: économique. Inconvénient: en cas de popularité, ça consomme la bande passante (je n’ai qu’un ADSL « moyen »). Autre solution : louer le serveur. Là aussi, deux façons de faire. Soit louer un serveur dédié (genre dédibox). Un peu cher, mais on a la puissance qui va bien. Sinon, on peu louer un serveur vituel (voir offre Amazon, ou Gandi). Un peu moins coûteux, mais vraiment beaucoup moins puissant.
    J’espère t’avoir éclairé un peu… Maintenant, la vraie question est : as-tu vraiment besoin d’un serveur dédié ? Si c’est pour faire des tests, ok. Mais si c’est pour avoir des emails, ou de l’espace disque… on trouve des offres qui rendent le serveur dédié peu intéressant.
    Par exemple, le présent article ne sert à plus rien. Maintenant, GMail offre le service qui va bien pour la synchro avec son PDA. Cf http://desvigne.org/2009/02/10/synchronisation-officielle-de-google-calendar-avec-les-pda

  6. Merci pour ton explication et ton lien.
    Ce qu’il m’interesse c’est de pouvoir faire du push email avec mon adresse gmail, plus ou moins gratuitement.
    Quelle distribution de linux utilises-tu ou utiliserais-tu sur un PC pour faire fonctionner ce serveur?
    Et, le repertoire ‘/var/www’ sur ta Xbox est sur le disque dur de cette console?

    Merci encore pour tes eclaircissements

  7. @zerbault: et bien comme je te l’ai dis, il n’est plus nécessaire d’avoir ton serveur perso pour faire du pushmail avec GMail. Ce service est proposé de base par Google si tu as un smartphone équipé d’Activesync, ou d’un PDA compatible avec les webservices de synchro d’exchange (c’est le cas des iPhones, des téléphones sous symbian, des Palms récents…).
    Pour ce qui est des distributions : oui, pour la XBox, toute l’arborescence était sur le disque dur. Pour ça, il faut savoir que la XBox était « modchipée ». Il est aussi possible de faire ce genre de bidouille avec un hacking du genre « dépassement de pile » (avec le jeu zelda je crois), mais ça n’est pas pratique… Sinon, dessus, j’utilisais une Xebian (Débian un peu optimisée pour les Xbox). Depuis, comme je l’ai dit, j’ai remplacé la XBox par une eeebox de chez Asus. Là, même si le design est light, ça reste un PC standard. J’ai donc installé une Ubuntu version serveur (une 8.04 LTS pour ne pas être embêté). En pratique, j’ai installé Xen, un domaine-0 qui ne fait pas grand chose avec 8 Go de disque, et dessus, je peux virtualiser plusieurs serveurs (ce qui m’a permis d’essayer par exemple l’installation d’un serveur Zimbra). A ta disposition…

  8. Merci, c’est sympa de prendre du temps pour m’expliquer tout ca.
    Comme tu l’ecris dans ton article, google ne permet pas encore de faire du push email. C’est juste pour les contacts et le calendrier pour le moment.

  9. @zerbault: Ah mince… j’étais persuadé que ça avait évolué depuis… Et non. Ça viendra certainement. Perso, j’utilise http://my.funambol.com/ Ça marche assez bien (il y a des moments où le service est indispo pendant un 1/2 journée mais bon, vu que c’est gratuit, on ne peut pas râler). Maintenant, même si c’est du pushmail, ça n’est pas non plus temps réel… Les emails mettent en moyenne un p’tit 1/4 d’heure pour passer dans les tuyaux. Sinon, effectivement, si tu installes ta propre machine chez toi, les possibilités deviendront immenses. Une Ubuntu avec un Zimbra et un service funambol, et te voilà avec ton propre serveur d’email perso synchro en pushmail sans limite… A toi de calculer, suivant ton besoin, le prix que tu veux y mettre, le coté « temps-réel » de ce besoin, etc.

  10. hahahahhah Mais pkoi je n’ai pas trouvé ce site plutot ? hmmm ?

    Alors alors, reprenons !
    Moi at home, j’ai une eeebox, qui fait serveur justement et dessus, j’ai mis Zarafa, couplé avec Z-push.

    Mais j’aimerais bien me passer de zarafa…et pouvoir utiliser roundcube justement.
    Tu dis que z-push peut fonctionner en maildir ? comment ? pourrais tu un peu détailler stp ?

    Et cela veut dire aussi que ta manip pour faire fonctionner z-push avec google, permet de le faire fonctionner avec n’importe quel webmail (en imap là dans ton article) ? Je peux donc installer n’importe quoi sur ma eeebox ? wowowowowo

    Non mais là, tu deviendrais mon sauveuuur le sais-tu ?

    Parce que passer par funambol, c’est chiant, il faut tjrs un connecteur (et il n’existe pas pour tout les webmails…)
    Et ouiiii je veux héberger touuut chez moi, pour faire touuuut comme je veux lool !

    Merci Merci Merciii
    Hop hop hop, en favoriiiiiiiii !

Laisser un commentaire