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

  • Bonjour
    J’ai installé le plugins ans souci dans un article
    Mais lorsque je tente de m’envoyer un message (que je remplisse tous les champs ou pas) il me dit :

    « Sorry :-( But without a valid e-mail address
    We can not send the message »

    Pourtant l adresse est valide....

    NB : je teste depuis un serveur local, je ne sais pas si ca a un impact....

    Merci
    Agnes

    Répondre à ce message

  • C’est nickel, ça marche parfaitement bien pour moi. Un grand merci pour cette contrib’ très utile. Gracias :-)

    Répondre à ce message

  • Guillaume

    J’ai contourné ce problème avec ce code, dans la fonction balise_ENVIAR_EMAIL : $_id_article = champ_sql(’id_article’, $p) ; $_id_breve = champ_sql(’id_breve’, $p) ; if ($_id_breve < $_id_article) $arg = « ’page=enviar_email_breve&id_breve=’. ».$_id_breve ; $url = generer_url_public(’’,$arg) ; else $arg = « ’page=enviar_email_articulo&id_article=’. ».$_id_article ; $url = generer_url_public(’’,$arg) ;

    Répondre à ce message

  • Bonjour

    J’ai un souci que je ne comprends pas, peut-être pourrez vous m’aider.
    lorsque j’envoie un article qui ne contient que du texte et des images, tout roule.
    si je tente d’envoyer un article qui contient une vidéo embedée via swfobject ca ne marche pas.
    exemples :
    http://www.buddhachannel.tv/portail/spip.php?article_id=746 renvoie une erreur de squelette, tandis que :
    http://www.buddhachannel.tv/portail/spip.php?article_id=446
    fonctionne parfaitement.
    si je remplace le swfobject par les tags object et embed cela fonctionne.

    Les variables sont passées, tout semble ok de ce coté là. J’investigue du coté de mon fichier ’emb.html’ car je soupçonne une erreur bête de parsing ou de déclaration erronée ...

    Qu’en dites vous ?

    Répondre à ce message

  • 13
    Tropicaloo

    Bonjour,

    En test ce soir, le plugin qui fonctionnait si bien, a rendu l’âme ! Peut-être a-t-il trop mangé de chocolat pour Pâques ;-).
    Les seules modifs de ces derniers jours sont le passage de 1.9.2c à 1.9.2d et l’ajout du plugin Couteau suisse.

    En cliquant sur Envoyer par mail, à l’ouverture de la fenetre du formulaire, j’obtiens :
    Parse error : syntax error, unexpected T_STRING in /home/www/6e3c0ae6e5e329796b16fa6b7d650a27/web/ecrire/public.php(177) : eval()’d code on line 176.

    Si un pro du php a une idée, je suis preneur !
    Merci pour votre aide.

    • à priori ça ne doit pas venir du plugin, je l’utilise sans problème avec spip 1.9.2.d et le couteau suisse.
      le message indique une erreur de caractère un«  » en trop ou en moins.
      as tu essayer de ré-installer complètement le plugin ?
      quels outils as tu activé sur le couteau suisse ?

    • Tropicaloo

      Merci pour ton aide. Tu as raison, j’ai désactivé le couteau suisse, et c’est pareil.
      Je vais réinstaller le plugin ce soir pour tester.

    • J’ai le même problème, sans avoir installé le couteau suisse... a-t-il été résolu ?

    • peux tu me donner plus d’infos, genre un lien, ta version de spip, du plugin

    • la version : spip 1.9.2d [11132]
      le plugin : enviar_email_1_9

      le message d’erreur : Parse error : syntax error, unexpected T_STRING in /site/www/ecrire/public.php(177) : eval()’d code on line 176

    • Tropicaloo

      Je reviens aux nouvelles.
      Depuis le mois de mars, le plugin est toujours en standby pour moi avec cette erreur
      Parse error : syntax error, unexpected T_STRING in /site/www/ecrire/public.php(177) : eval()’d code on line 176

      Fred, as-tu trouvé une solution pour ce bug ?

    • Hélàs non, toujours pas. Ça marche avec un site hébergé chez Lautre.net, pas avec un autre hébergé chez OVH. Je ne sais pas par contre si ça a un rapport.

    • Bonjour,

      Cela n’a peut-être pas de rapport avec votre problème, mais comme l’a précisé Julien, il est préférable de modifier la première ligne des fichiers php du répertoire lang (< ? par < ?php).

      Selon la configuration de votre hébergeur, sans cela, le PHP ne sera pas interprété (depuis la version 5 de PHP si je ne m’abuse).

    • Tropicaloo

      Merci Marc, mais malheureusement cela n’y fait rien.

    • pour faire une petite synthèse les problèmes semblent plutôt liés à l’hébergeur(opérationnel chez l’autre et chez free), si les modifications au niveaux du mode d’envoi des mails ne fonctionnent pas je vous recommande vivement d’essayer le plugin recommander (sur la zone), non documenté mais qui fonctionne parfaitement (il utilise les fonctions d’envoi de spip en plus l’auteur est fil, un gage de codage parfait)

    • Bonjour,

      même si je ne connais pas la raison exacte, j’ai réussi à contourner ce problème en mettant en commentaire le logo (ligne 174 chez moi).

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

      Je ne suis pas un pro de PHP, je laisse le soins à d’autres personne de rechercher la cause exacte de ce bug.

      A+

    • Bravo !!!
      Je ne sais pas comment tu es arrivé à cette conclusion, mais en effet ça fonctionne.
      J’ai remplacé :
      $logo=’[(#LOGO_SITE||liens_absolus)]’ ;
      par :
      $logo=’[(#LOGO_SITE_NORMAL||liens_absolus)]’ ;
      et ça fonctionne...

    • bertrand_812

      bonjour,

      J’ai la même erreur : Parse error : parse error, unexpected T_IS_EQUAL in /home/httpd/vhosts/spip/ecrire/public.php(177) : eval()’d code on line 2

      Dans quel fichier faut-il remplacer $logo=’[(#LOGO_SITE||liens_absolus)]’ ; par : $logo=’[(#LOGO_SITE_NORMAL||liens_absolus)]’
      Dans public.php j’ai rien de tout ça

      Merci

    Répondre à ce message

  • Petite faute de grammaire dans la traduction corrigée comme suit :

    'enviado_por'           =>      'Envoy&eacute; par : ',

    Répondre à ce message

  • 4

    Bonjour, très bonne contrib le seul hic c’est que ca fonctionne pas en tout cas chez moi. Le principe est super intéressant mais après avoir fait les quelques modifs recommandées dans les commentaires la popup s’ouvre et m’affiche ceci :

    ’Envoyer l\’article’, ’envoyer’ => ’Envoyer’, ’reference_de’ => ’la référence de’, ’par_courriel’ => ’par courrier électronique’, ’a_destination’ => ’Envoyer á l\’adresse :’, ’donnees_optionnelles’ => ’Données optionnelles’, ’separe_virgule’ => ’séparer les adresses par des virgules si vous écrivez á plusieurs personnes’, ’sujet’ => ’Sujet’, ’titre_vouloir’ => ’Titre du message’, ’nom’ => ’Nom’, ’adresse’ => ’Adresse mail’, ’texte’ => ’Vous pouvez ajouter un texte’, ’envoi’ => ’Envoyer’, ’annuler’ => ’Annuler’, ’enviar_title’ => ’envoyer l\’article par mail’, ’enviar_por_email’ => ’’, ’referencia’ => ’La référence de ’, ’enviado’ => ’a été envoyé à :’, ’sentimos’ => ’désolé’, ’problema’ => ’Il y a eu un problème et le courrier n\’a pas pu être envoyé’, ’hola’ => ’Salut. Cet article t\’interéssera peut-être ’, ’leer’ => ’Lire la suite...’, ’enviado_por’ => ’Envoyer par : ’, ’direction’ => ’mais sans une adresse de courrier électronique valable’, ’podemos’ => ’nous ne pouvons pas envoyer le message’, ’fermer’ => ’fermer’, ’documento’ => ’Salut, les documents de’, ’interesar’ => ’pourraient t\’intéresser’, ’descargarte’ => ’Si vous visitez le site vous pourrez télécharger les documents suivants :’, ’source’ => ’Source’, ) ; ?>
    Parse error : parse error, unexpected T_STRING in C :\Program Files\xampp\htdocs\KaliKom\Okkitv\ecrire\public.php(173) : eval()’d code on line 177

    De plus j’ai le même texte sur la page de l’article où se trouve la balise #enviar_email mais sans le code d’erreur, ce qui comme vous vous en doutez mets toute ma mise en page en l’air.

    Si quelqu’un a une solution je suis preneur...

    Merci à tous

    • damazone

      Bonjour,

      J’ai le même problème.

      ’Envoyer l\’article’, ’envoyer’ => ’Envoyer’, ’reference_de’ => ’la référence de’, ’par_courriel’ => ’par courrier électronique’, ’a_destination’ => ’Envoyer à l\’adresse :’, ’donnees_optionnelles’ => ’Données facultatives’, ’separe_virgule’ => ’séparez les adresses par des virgules si vous écrivez à plusieurs personnes’, ’sujet’ => ’Sujet’, ’titre_vouloir’ => ’Titre du message’, ’nom’ => ’Votre nom’, ’adresse’ => ’Votre adresse mail’, ’texte’ => ’Vous pouvez ajouter un texte’, ’envoi’ => ’Envoyer’, ’annuler’ => ’Annuler’, ’enviar_title’ => ’envoyer l\’article par mail’, ’enviar_por_email’ => ’envoyer par mail’, ’referencia’ => ’La référence de ’, ’enviado’ => ’a été envoyé à :’, ’sentimos’ => ’Désolé,’, ’problema’ => ’Il y a eu un problème et le courrier n\’a pas pu être envoyé’, ’hola’ => ’Salut. Cet article t\’interéssera peut-être. ’, ’leer’ => ’Lire la suite...’, ’enviado_por’ => ’Envoyer par : ’, ’direction’ => ’mais sans une adresse de courrier électronique valable’, ’podemos’ => ’nous ne pouvons pas envoyer le message’, ’fermer’ => ’Fermer’, ’documento’ => ’Salut, les documents de’, ’interesar’ => ’pourraient t\’intéresser’, ’descargarte’ => ’Si vous visitez le site vous pourrez télécharger les documents suivants :’, ’source’ => ’Source’, ’no_escrito_nombre’ => ’Pas de nom précisé’, ) ; ?>

      Apparemment, le contenu du fichier enviarmail_fr.php s’affiche au dessus sur la page de l’article et sur la page enviar_email_articulo.

      Ce serait un problème de gestion du cache ?

      Quelqu’une n’a vraiment pas de réponse ?

    • Logiquement toutes les modifications indiquées dans le forum ont été incorporé au plugin donc à part les modifs liée au fai, il n’y a rien à modifier dans le code.
      Je ne suis pas spécialiste mais il me semble qu’il s’agit d’une erreur de syntaxe php.

      je ne sais pas si tu as modifié le plugin mais essaie avec le plugin original.

      Si cela ne marche pas peux me donner l’adresse du site et préciser ta version de spip et ton hébergeur.

    • Au tout début du fichier /lang/enviarmail_fr.php remplace

      <? par <?php
    • Bonjour,

      oui, maintenant ça marche.

      Un tout grand merci !

    Répondre à ce message

  • Bonjour,

    Il faudrait changer la première ligne des fichiers du dossier lang et remplacer <? par <?php

    Les balises simplifiées sont assez « casse gueules » ...

    Répondre à ce message

  • Bonjour
    J’ai l’impression que ca ne fonctionne ni sous ie 6 ni sous ie7. en local chez moi et sur le lien de démo donné en début d’article. Merci

    Répondre à ce message

  • 1

    Bonjour,

    Il y a 2 petites erreurs qui provoque des pb de validation html :

    D’une part, dans le fichier baliza_enviar_email.php, il faut remplacer language=« Javascript1.2 » par type=« text/javascript »
    pour avoir ainsi la balise

    <script type=\"text/javascript\">

    D'autre part, si on veut, comme indiqué dans la partie "mise à jour", enlever l’intitulé de la balise, il manque une fermeture de " à la ligne 28 qu'il faut remplacer par :
    $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>";

    A noter qu'il reste encore une erreur que je ne sais pas corriger :
    there is no attribute "onClick".
    </script>

    <a href=« javascript : ; » onClick="centrarVentana(’http://www...
    You have used the attribute named above in your document, but the document type you are using does not support that attribute for this element. This error is often caused by incorrect use of the « Strict » document type with a document that uses frames (e.g. you must use the « Transitional » document type to get the « target » attribute), or by using vendor proprietary extensions such as « marginheight » (this is usually fixed by using CSS to achieve the desired effect instead).
    This error may also result if the element itself is not supported in the document type you are using, as an undefined element will have no supported attributes ; in this case, see the element-undefined error message for further information.

    (mon site est pourtant Doctype : XHTML 1.0 Transitional)

    Si quelqu’un a une solution...

    Boby

    • Il faut remplacer onClick par onclick.
      Merci à denisb pour sa réponse sur la liste spip

    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