Plugin envoyer à un ami

Attention, page complètement obsolète, qui devrait être dépubliée : liens brisés, etc.

Envoyer l’article par mail à un ami

Avertissement de sécurité

Ce plugin est potentiellement dangereux car il peut être utilisé par des spammeurs pour envoyer des messages non sollicités.

Il est donc fortement conseillé de ne pas utiliser ce plugin et utiliser à la place le plugin Recommander associé au plugin NoSPAM

Présentation

Une des fonctions qui nous manque parfois en lisant un article ou une brève est la possibilité d’envoyer de manière confortable et rapide la référence de cet article ou brève à un ami.

Avec « envoyer email » (enviar_email) vous pouvez créer un lien dans vos brèves et articles pour effectuer cette action.

Nota : Le Plugin utilise la class « phpmailer 1.73 » ce qui permet d’effectuer l’envoi des mail par SMTP en évitant les problèmes qui apparaissent en utilisant la fonction mail de PHP.

Installation

Récupérez le zip « plugin_enviar_email_spip » du plugin sur l’espace de téléchargement de la Zone : http://files.spip.org/spip-zone/ [1]. L’installation se déroule ensuite comme pour tous les autres plugins, cf. http://www.spip.net/fr_article3396.html

Insérez dans votre squelette la balise #ENVIAR_EMAIL** (les deux ** sont indispensables) à l’endroit où vous désirer afficher le bouton.

Personnalisation

Pour personnaliser la typographie du lien vous pouvez par exemple placer la balise #ENVIAR_EMAIL** entre

<span style="font-size:65%">...</span>

Vous pouvez aussi modifier le style de la page envoyée (typo, taille, couleur...) directement dans le squelette entre les balise <style> des squelettes enviar_email_articulo.html ou enviar_email_breve.html, voir plus directement ces squelettes eux mêmes (s’inspirer du code qui y est inséré).

Pour d’autres modifications ouvrir le fichier baliza_enviar_email.php et retouchez ce que vous voulez, par exemple les valeur « 440 » et « 460 » à la ligne 28 qui fixe la taille de la fenêtre ouverte.

Pour modifier l’icone de la balise remplacer le fichier plugins/enviar_email/sobre.gif par le vôtre

Quelques icônes alternatives

Auteur

Le plugin « enviar_email » est développé sur la zone en espagnol par José Luis, l’article original est espagnol

Mise à jour

02/12/08
reprise des modifications et amélioration issues du forum de l’article

  • incorporation du logo du site dans le message
  • traduction d’une balise oubliée, lorsque le sujet n’est pas précisé : 'no_escrito_nombre'
  • erreur récurrente lors de l’envoi de mail de type Warning : fsockopen() [function.fsockopen]
    tout se passe dans enviar_email_articulo.html ligne 120

    le code de base est $mail->Mailer = « smtp » ;

en remplaçant par $mail->Mailer = « sendmail » ; j’ai un message d’erreur (avec free et spip 1.9.a)

par contre en remplaçant par$mail->Mailer = « mail » ; tout marche impec

Actuellement le fichier sur la zone est configuré avec $mail->Mailer = "mail";
si toutefois cela ne marche pas essayez les autres solution (’smtp’ ou ’sendmail’)

15/01/08

Suite à plusieurs questions sur le forum, procédure pour enlever l’intitulé de la balise :

Dans le fichier /enviar_email/baliza_enviar_email.php
remplacez

27 	// prepara el enlace completo
28 	        $enlace = $javascript_centrar_enviar."<a href=\"javascript:;\" onClick=\"centrarVentana('$url','Enviar_documento','scrollbars=yes,resizable=yes','440','460','true')\" title=\""._T('enviarmail:enviar_title')."\" style=\"border:none\"><img src=\"$logo\" style=\"border:none\" alt=\""._T('enviarmail:enviar_title')." title=\""._T('enviarmail:enviar_title')."\" /> "._T('enviarmail:enviar_por_email')."</a>";
29 	        return $enlace;
30 	
31 	}

par

27 	// prepara el enlace completo
28 	        $enlace = $javascript_centrar_enviar."<a href=\"javascript:;\" onClick=\"centrarVentana('$url','Enviar_documento','scrollbars=yes,resizable=yes','440','460','true')\" title=\""._T('enviarmail:enviar_title')."\" style=\"border:none\"><img src=\"$logo\" style=\"border:none\" alt=\""._T('enviarmail:enviar_title')." title=\""._T('enviarmail:enviar_title')."\" />                                                        </a>";
29 	        return $enlace;
30 	
31 	}

Notes

[1En cas de problême sur ce lien de téléchargement voir les sites miroirs

Il existe des plugins équivalents, notamment le plugin « Recommander » ou encore le plugin Envoyer l’article aux amiEs.

Discussion

55 discussions

  • 2

    Bonjour,
    quand on recoit le mail, on recoit en sujet « escrito nombre », c’est en espagnol, ca on a vu !, mais comment changer ce message et le remplacer par « mon_texte_que_je_veux » ?
    j’ai bien lu le forum, mais je ne comprends pas tout ... :(

    merci beaucoup

    config : spip 19 2b, héberg. OVH 90plan
    le plugin a été téléchargé en aout

    • je me suis un peu trompé, c’est l’expéditeur qui est noté en espagnol ’escrito nombre’ quand il ne note pas son nom
      et comment donc pour changer cela en mettant par ex le nom du site ou autre chose ? Merci (encore)

    • Tropicaloo

      Comme toi j’ai cherché comme un fou ....

      En fait, le fichier de traduction de langue n’est pas complet : tu dois rajouter dans enviarmail_fr.php du sous-répertoire lang cette ligne pour la traduction supplémentaire :

      ’no_escrito_nombre’ => ’mon texte que je veux’,

      @+

    Répondre à ce message

  • 1

    Alors super le plugin est nikel...sauf pour spip 1.9 et suivantes qui n’utilisent plus le php3...donc tout est ok jusqu’a ce que l’ami clique sur le lien « lire la suite »...c’est la que tout est bon sauf que l’url contien un php3 dans son lien qui devrait être remplace par un simple php pour que ça fonctionne !

    Comment faire pour modifier le plugin et l’adapter aux version 1.9 et postérieures de Spip ?

    Si quelqu’un l’a déjà fait peut il partager sa mise a jour ?

    Répondre à ce message

  • Christian

    Je suis sous 1.9.2b et j’obtiens ce message :

    Warning : fsockopen() [function.fsockopen] : unable to connect to localhost:25 in /mnt/115/free.fr/2/2/dzogchenparis/plugins/enviar_email_1_9/phpmailer/class.smtp.php on line 105

    Cette ligne 105 est celle-ci :

    $this->smtp_conn = fsockopen($host, # the host of the server
    $port, # the port to use
    $errno, # error number if any
    $errstr, # error message if any
    $tval) ; # give up after ? secs
    Une idée ?

    Répondre à ce message

  • Bonjour, encore moi :),

    je n’arrive pas à trouver comment on fait pour aligner l’image (du mail) sur le texte, dans un article ? je souhaiterais appliquer « absmiddle » l’image par rapport au texte !
    ==> comment fait on donc pour aligner cette image ??

    si qqn connait la manip, Merci !

    Répondre à ce message

  • 26

    Bonjour,

    Je me suis lancé dans une traduction de ce plugin, je m’entends par traduction, uniquement de la partie visible de l’utilisateur.

    Par contre, une fois le courrier envoyé, un message indiquant l’envoit apparaît mais en espagnol et je n’ai pas trouvé l’endroit ou le modifier.

    Pourrais-je avoir de l’aide ?

    Merci

    • ha c’est étrange ! as tu la dernière version (à télécharger sur la zone) car normalement tout le plugin est traduit en français (seulement depuis une petite semaine)
      Tiens moi au courant si même avec cette version il y a des problème de traduction, je corrigerai ça sur la zone.

    • Je confirme : Tout est traduit sauf la dernière boite de dialogue qui dit que l’envoi s’est correctement effectué. Il reste un mot en espagnol « enviado » tout le reste est en français.

      J’ai essayé d’installer le plugin sur un site, mais aucun mail n’arrive, pourtant je n’ai pas de message d’erreur. Je ne vois aucune erreur dans spip.log. Je débute dans l’utilisation de spip, donc je ne regarde peut-etre pas ou il faut. Une idée ?

      Merci

    • oups, une petite erreur de codage, après vérification j’ai fait une coquille dans le fichier de langue, je corrige ça rapidement et tout rentrera dans l’ordre.

      pour le problème de la réception de mail, peux tu me préciser ta version de spip et ton hébergeur.

      le plugin semble parfois poser quelques problèmes, j’ai contacté l’auteur du plugin à ce sujet, et j’attends sa réponse.

      En attendant le plugin fonctionne correctement sur ce site et le forum peux permettre de faire de retour de teste sur différentes plateformes

    • Désolé d’avoir pas posté à la suite.

      Version de spip y a du 1.9.2 et du 1.9.2b, hébergeur, Free, Premiumorange et OVH, c’est divers_é_varié

      Je ne touche à rien et j’attends quand la nouvelle bouture sera prête à télécharger.

      Merci

    • J’ai la même configuration que mailou (mais moins diverse) :
      J’utilise ovh et spip 1.9.2b

      Effectivement j’ai testé sur le site et ça marche très bien. Arghhhh !

    • La nouvelle bouture serait-elle arrivée ?

    • La traduction corrigée est sur la zone, j’espère que tout est ok au pire n’hésitez pas à prévenir.

      pour le problème de l’envoi de mail, au vue des réactions sur le forum, le problème à l’aire de venir de de spip 1.9.2, perso je n’avais pas de problème jusqu’à la mise à jour.

      Je ne désespère pas de trouver le problème

    • sur ovh ils disent (http://guides.ovh.net/EmailSmtpPop3Imap:
      « Pour envoyer l’email via ns0.ovh.net, vous devez :
      * soit vous connecter sur le serveur pop3/imap avant d’utiliser SMTP (OPEN-SMTP),
      * soit utiliser SMTP-AUTH. »

      Est-ce que ça peut venir de (commentaire dans enviar_email_articulo.html) :
      /*
      // SI EL SERVIDOR DE SMTP REQUIERE AUTENTICACION RELLENA ESTOS DATOS CON
      LOS TUYOS Y ACTIVALO
      //Asignamos a Host el nombre de nuestro servidor smtp
      $mail->Host = « smtp.hotpop.com » ;
      //Le indicamos que el servidor smtp requiere autenticación
      $mail->SMTPAuth = true ;
      //Le decimos cual es nuestro nombre de usuario y password
      $mail->Username = « micuenta@HotPOP.com » ;
      $mail->Password = « mipassword » ;
      */

      mais ça me parait un peu bizarre de mettre un mot de passe sur une page comme ça, c’est facile à récupérer non ?

      je sais pas si ça peut aider, ou si j’embrouille plus les choses.

    • Bonjour,

      Alors avec spip 1.9.2b sur premiumorange, ça ne fonctionne toujours pas, je vais reprendre de mon côté et je te tiens informé. OK ?

      @+

    • Bonjour,

      alors ça marche mieux ? J’ai un peu laché l’affaire de mon côté :-)

      bonne journée

    • Bonjour,

      De mon coté non, il y a quelque chose qui ne fonctionne pas au moment de l’envoi, j’ai bien envoyé un message moi aussi à José-Luis, mais pas de réponse.

    • Bonjour.
      Pardon, mais je ne reçu pas le message :-( Je peux vous aider ?

    • Bonsoir

      Chez moi aussi : erreur 404 avec toutes les configurations possibles... J’ai commenté la ligne en attendant.
      Dommage c’est une fonction TRES intéressante et le traitement est élégant.

    • Bonjour,

      Vu le temps passé, j’ai solutionné, VOIR ICI mais au lieu de proposer l’adresse de la page, c’est l’adresse du site qui est proposée, si le dossier vous intéresse, vous pouvez le télécharger ICI.

      Un fichier explication est livré avec, si quelqu’un sait le modifier pour qu’il indique la page, merci de me communiquer cette modif.

    • Je me suis gourré sur le téléchargement du fichier, c’est ICI

    • Ton code est vraiment très bien.

      J’avais besoin, non pas d’un fonction « envoyer à un ami », mais de faire un système de réservation par mail, et ça marche nickel (à tel point que je suis pas sûr que le plugin y soit pour quelque chose).

      Pour voir le code, il est répartit dans les fichiers suivants :

      La page mère

      Le formulaire inclu

      Le fichier avec le code php d’envoi du mail

      Merci encore.

    • Bonjour,

      Heureux d’avoir pu rendre service, mais mon code ne renvoi que sur le site, j’aimerais avoir de l’aide pour le modifier afin qu’il conduise à la page conseillée.

      @+, merci

    • Tu as essayé de calculer l’url de la page à envoyer à un ami dans la page même, avec une balise spip du style :

      #URL_PAGE toto,id_article=#ID_ARTICLE

      Bon, il manque les crochets parce que ils sont traduit par le caractère italique.

      Puis tu passes ça en paramètre à la page avec le code php qui génère le mail.

    • Merci de ton aide, mais vois-tu, je ne suis pas assez qualifié, j’ai pas trouvé

    • Et bien, dans ton fichier « insert dans l’article.txt » juste après la ligne :

      < * input type="hidden" name="envoyer" value="oui" / * >

      (ne pas tenir compte des deux caractères * que j’ai ajouté, c’est à cause de ce forum qui n’affichait rien si je ne les mettais pas)

      tu ajoutes la ligne (en enlevant les deux * bien sûr) :

      < * input type="hidden" name="adresse" value="#URL_SITE_SPIP/#SELF" / * >

      Ensuite, dans le fichier « recommandation.html », tu utilises la variable $adresse pour représenter l’adresse de la page qui est recommandée.

      J’ai testé et ça marche

    • Bonjour,

      Bien, j’ai suivis tes recommandations, et ça ne donne rien, à mon avis ça couine ici « tu utilises la variable $adresse pour représenter l’adresse de la page qui est recommandée. » je ne maitrise pas du tout le php, ça vient surement de là.
      Cordialement

    • Et bien dans le fichier « recommandation.html », au lieu d’avoir :

      $message= « \n Votre ami(e) $nom vous recommande le site #NOM_SITE_SPIP :\n (#URL_SITE_SPIP\n\n
      A bientot !\n\n

      Tu remplaces tout ça par :

      $message= »\n Votre ami(e) $nom vous recommande le site #NOM_SITE_SPIP :\n $adresse\n\n
      A bientot !\n\n

      Avec mon message précédent tu as tous les éléments, je peux ne vraiment pas te détailler ça plus.

    • Bonjour,
      J’ai beau essayer, je fais les essais en m’envoyant la recommandation et je reçois le message suivant :

      Votre ami(e) Louis vous recommande le site Le site officiel de MiniBelleSpip :

      #URL_SITE_SPIP/#SELF

      A bientot !

      J’ai vérifié, refais et toujours pareil, je ne sais pas si d’autres ont suivit la conversation, il serait bien qu’ils donnent leur résultat, je te propose de faire comme moi et mettre en téléchargement le dossier prêt à l’emploi.

      Je te remmercies pour ton aide

    • J’ai compris !

      Ce n’est pas dans l’article que tu édites via l’interface spip qu’il faut mettre le code du fichier « insert dans l’article.txt », mais dans le squelette en html.

      Le problème est que le symbole :

      #URL_SITE_SPIP/#SELF

      est une balise spip qui doit être interprètée par le code PHP pour fonctionner.

      Tout le code de ton fichier « insert dans l’article.txt » (avec la modif que j’ai demandé de faire bien sûr) doit être collé dans le bon fichier de squelette, mais celui-ci dépend de la structure de ton site.

      Il y a une chance que ça marche si tu mets tout dans /dist/rubrique.html, mais c’est pas garantie.

    • Bonjour,

      L’archive que j’ai mis au téléchargement plus haut précise bien comment on doit installer ce programme,

      1) le contenu de « insert dans l’article.txt » doit être copié/collé comme article, et le fichier « recommandation » installé tel quel dans le squelette, et ça fonctionne bien, sauf que ça ne donne que l’adresse du site et pas la page d’où part cette recommandation.

      J’ai l’impression qu’on ne s’est pas bien compris.

      @+

    • En effet, j’avais implicitement adapté ton code à son implantation dans un squette (ce qui correspondait à mon besoin et le rendait plus générique).

      Cependant, si tu ne le mets que dans les articles, alors tu peux directement taper l’adresse de l’article. Donc la ligne que je t’ai donné au dessus :

      < * input type="hidden" name="adresse" value="#URL_SITE_SPIP/#SELF" / * >

      devient :

      < * input type=« hidden » name=« adresse » value="http://60gp.ovh.net/~maiquez/spip.php?article50" / * >

      (toujours en enlevant les étoiles * )

      Et là ça marche, mais il faut l’insérer dans chacun des articles pour lequel tu veux donner la possibilité à l’internaute de le recommander.

    Répondre à ce message

  • Dommage, les autres plugins avec cette fonction non plus...
    il s’affiche après essai d’un envoi :

    Warning : fsockopen() [function.fsockopen] : unable to connect to localhost:25 in /home.2/tempslibg/www/plugins/enviar_email/phpmailer/class.smtp.php on line 105

    Warning : fsockopen() [function.fsockopen] : unable to connect to localhost:25 in /home.2/tempslibg/www/plugins/enviar_email/phpmailer/class.smtp.php on line 105

    Warning : fsockopen() [function.fsockopen] : unable to connect to localhost:25 in /home.2/tempslibg/www/plugins/enviar_email/phpmailer/class.smtp.php on line 105

    Warning : fsockopen() [function.fsockopen] : unable to connect to localhost:25 in /home.2/tempslibg/www/plugins/enviar_email/phpmailer/class.smtp.php on line 105

    Warning : fsockopen() [function.fsockopen] : unable to connect to localhost:25 in /home.2/tempslibg/www/plugins/enviar_email/phpmailer/class.smtp.php on line 105

    Je suis sur spip 1.9.2c et hébergé par ovh (60gp)...
    Est-ce ainsi parce que le plugin est toujours en développement ? quelqu’un a une idée ?
    C’est dommage ! Ça a de la gueule !

    Répondre à ce message

  • 4

    Bonjour, je trouve le plugin super intéressant simple et efficace mais seul problème : il ne veut pas fonctionner chez moi.

    En effet après avoir fait les modifs recommandées sur le forum, j’ai une erreut de parse error T_STRING dans ecrire/public.html(173) : eval()’d code on line 177.

    Quelqu’un a t-il une idée ?

    Merci.

    • peux tu me donner l’adresse de ton site que j’aille faire un tour

    • En fait pour l’instant, le site étant en dev il n’est accessible que sur mon serveur local donc c’est un peu difficile de te donner une adresse vu que mon ip change. De plus come c’est un site développé pour une entreprise je dois garder une certaine confidentialité pour le moment.

      Mais je pense pas être le seul à être confronté à ce problème. Au début rien dne fonctionait et puis avec les modif la popup a réussi à s’ouvrir mais avec ce parse error, j’ai donc été voir dans fonctions.php mais je pense que c’est plutot un probleme d’évaluation de variable entre le plugin (quel fichier, ca je n’en sais rien) et Spip.

    • as tu fais les modifs décrites ici ?

      de plus il me semble me souvenir que l’envoi de mail est impossible en local, le plugin utilisant des fonctions du serveurs pour l’envoi de mail.

      essaie de faire les modif et si tu peux faire un essai en ligne voir si cela fonctionne.

    • Bonjour,
      oui j’ai fait les modifs et avant je n’avais rien du tout, maintenant j’ai bien la popup de formulaire qui s’ouvre mais avec ce message de parse error, je sais pas vraiment d’où ca vient je continue à chercher...
      Merci pour tes réponses, si tu vois d’autres choses à essayer, n’hésites pas.

    Répondre à ce message

  • 2
    emmanuelle0748

    Bonjour je débute en spip, je trouve ce plugin trés interressant, de mon coté tout fonctionne correctement mis à part que je ne reçoit aucun email. Je me suis envoyé un article sur mon email et je ne reçoit rien. pr info j’utilise spip 1.9.2B. Est ce que quelqu’un aurait une réponse à mon problème ?

    Merçi

    Répondre à ce message

  • 3

    Bonjour et félicitation pour ce plugin.
    Je vous fait part d’une modification dont j’avais besoin : l’affichage du logo du site.
    A la place de logo_64.jpg, j’ai créé une variable :

    $logo='[(#LOGO_SITE_SPIP||liens_absolus)]';

    que j’utilise sous cette forme :
    ".$logo."
    à la place de :

    <img src='logo_64.jpg' border='0' /> 

    Avec cette modification, je récupère le logo du site pour le mail qui est envoyé.

    PS : Il reste à faire un test pour afficher cette présentation uniquement si le logo du site existe !

    • Thierry

      Bonjour,

      Votre modification m’intéresse. Est-ce que vous pourriez expliquer au novice que je suis comment la mettre en place ?

      Merci,

      Cordialement,

      TS

    • Bonjour,
      comme expliqué dans le message précédent, il faut modifier certaines parties du fichier : enviar_email_articulo.html du dossier : enviar_email_1_9 dans le repertoire plugins.

      Prérequis : un logiciel ftp et le bloc note pour venir modifier cette partie où j’ai créé la variable logo (dernière ligne) :

      // COMIENZO PARTE HTML
      
      $sitio='[(#NOM_SITE_SPIP)]';
      $url_sitio='[(#URL_SITE_SPIP)]';
      $url_art='[(#URL_ARTICLE)]';
      $logo='[(#LOGO_SITE_SPIP||liens_absolus)]';

      et ensuite cette autre partie où j’ai remplacé l’appel à l’image logo_64.jpg <img src='logo_64.jpg' border='0' /> par l’appel de la variable logo déclarée au dessus ".$logo."  :

      $texto_html ="<div style='margin:1.2em;font-family:tahoma,verdana,arial,helvetica,sans-serif;background-color:#ffffff;color:#727860;border:1px solid #f28000'>";
      
      $texto_html.="<p style='padding:0px;margin:0px;text-align:left;font-size:120%;font-weight:bold;background-color:#003366'><a href='$url_sitio' style='display:block;text-decoration:none;color:#edef9f;padding:.3em;border:0;'>".$logo."<br>".$sitio."</a></p>";

      Cette modification ne fais pas le test pour savoir si le logo existe, ce qui est le cas dans mon site. Mais elle est très simple à faire !!!

      AlainF

    • Thierry

      Bonjour et merci beaucoup pour cette explication lumineuse... Je viens de comprendre le principe. Super et encore merci pour le partage de votre travail...

    Répondre à ce message

  • 1

    Merci pour cette excellente contrib,

    Je voudrais savoir comment on peut enlever la partie texte pour ne garder que l’image de l’enveloppe. J’ai cherché cherché, mais pô trouvé...

    • DanielM

      Je pense que c’est à la ligne 28 de baliza_enviar_email.php.
      Le plugin est multilingue et le texte qui te chagrine est contenu dans variable :enviar_por_email que tu peux soit supprimer de la ligne soit « mettre à blanc » (plus propre) dans le fichier de personnalisation en français enviarmail_fr.php du dossier /lang du plugin.
      Mais moi je galère et je ne trouve pas d’aide pour le post précédent :-(

    Répondre à ce message

Ajouter un commentaire

Avant de faire part d’un problème sur un plugin X, merci de lire ce qui suit :

  • Désactiver tous les plugins que vous ne voulez pas tester afin de vous assurer que le bug vient bien du plugin X. Cela vous évitera d’écrire sur le forum d’une contribution qui n’est finalement pas en cause.
  • Cherchez et notez les numéros de version de tout ce qui est en place au moment du test :
    • version de SPIP, en bas de la partie privée
    • version du plugin testé et des éventuels plugins nécessités
    • version de PHP (exec=info en partie privée)
    • version de MySQL / SQLite
  • Si votre problème concerne la partie publique de votre site, donnez une URL où le bug est visible, pour que les gens puissent voir par eux-mêmes.
  • En cas de page blanche, merci d’activer l’affichage des erreurs, et d’indiquer ensuite l’erreur qui apparaît.

Merci d’avance pour les personnes qui vous aideront !

Par ailleurs, n’oubliez pas que les contributeurs et contributrices ont une vie en dehors de SPIP.

Qui êtes-vous ?
[Se connecter]

Pour afficher votre trombine avec votre message, enregistrez-la d’abord sur gravatar.com (gratuit et indolore) et n’oubliez pas d’indiquer votre adresse e-mail ici.

Ajoutez votre commentaire ici

Ce champ accepte les raccourcis SPIP {{gras}} {italique} -*liste [texte->url] <quote> <code> et le code HTML <q> <del> <ins>. Pour créer des paragraphes, laissez simplement des lignes vides.

Ajouter un document

Suivre les commentaires : RSS 2.0 | Atom