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

  • ça marche nickel chez moi super plugin merci. seul petit soucis avec la pagination du couteau suite qui s’incrustre en début de texte. j’ai tente textebrut en filtre mais ça m’affiche une erreur de squelette. ya t-il un autre filtre qui permette de virer la pagination sans planter le squelette.

    par avance merci

    Répondre à ce message

  • 2

    Je me permets de vous écrire pour vous poser une question sur les Brèves à envoyer. Je suis sur Spip 1.9.2.c , mon problème est le suivant : la fonction Balise_Enviar_email passe systèmatiquement la variable Id_article , même pour les brèves (au lieu de Id_Breve). Du coup, cela retourne une erreur (voir http://artenegra.fr/spip.php?breve1). J’ai essayé de changer le code PHP : de cela

    function balise_ENVIAR_EMAIL($p)

    // numero y enlace al artículo o breve

    $_id_article = champ_sql(’id_article’, $p) ;

    $arg = « ’page=enviar_email_articulo&id_article=’. ».$_id_article ;

    $url = generer_url_public(’’,$arg) ;

    if (!$_id_article)

    $_id_breve = champ_sql(’id_breve’, $p) ;

    $arg = « ’page=enviar_email_breve&id_breve=’. ».$_id_breve ;

    $url = generer_url_public(’’,$arg) ;

    $p->code =« preparar_enlace_enviar($arg) » ;

    $p->statut = ’html’ ;

    return $p ;

    je passe à ça :

    function balise_ENVIAR_EMAIL($p)

    // numero y enlace al artículo o breve

    if (!$_id_article)

    $_id_breve = champ_sql(’id_breve’, $p) ;

    $arg = « ’page=enviar_email_breve&id_breve=’. ».$_id_breve ;

    $url = generer_url_public(’’,$arg) ;

    else

    $_id_article = champ_sql(’id_article’, $p) ;

    $arg = « ’page=enviar_email_articulo&id_article=’. ».$_id_article ;

    $url = generer_url_public(’’,$arg) ;

    $p->code =« preparar_enlace_enviar($arg) » ;

    $p->statut = ’html’ ;

    return $p ;

    mais cela ne donne rien. Avez-vous déjà rencontré ce problème ? Merci d’avance

    • j’ai le même problème. Il semble que la condition ne soit pas comprise et donc prise en compte... Aussi comment est il possible de dire : si c’est un article, fais ci sinon fais çà...en se basant plutôt sur le type article ou brève plutôt que sur l’id...
      J’ai beau essayer les différents critères de comparaison, rien n’y fait... Merci pour l’oeil avisé des pros du php
      Yann

    • [KinugraphiK->http://www.kinugraphik.com] pour [Bambin Nature->http://www.bambin-nature.com]

      Je pense que le problème vient du fait que la variable $_id_article n’est jamais vide, même lorsqu’il s’agit d’une brève.

      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);
      	} 

      Chez moi, ça fonctionne ;)

      Voir une brève sur le site Bambin Nature.

      PS : y’a aussi quelques surprises dans la page enviar_email_breve.html, qui n’a pas été aussi bien travaillée que sa consœur enviar_email_articulo.html...

      Perso, j’ai récupéré le contenu de la page enviar_email_articulo.html, que j’avais déjà adapté à mon site, puis remplacé tout ce qui avait un rapport aux articles par les brèves (boucles SPIP).

    Répondre à ce message

  • Castagnetti bruno

    Version SPIP. 1.9.d

    Le traitement pour la page article.html fonctionne correctement.

    Par contre pour la page breve.html la redirection vers la fenêtre popup plante avec une 404.
    L’url de la brève n’est pas renseignée correctement.
    La fonction balise_ENVIAR_EMAIL($p) ne réalise pas la redirection vers la page brève active, mais vers un page article vide.

    L’erreur viens de la commutation automatique, que je n’ai pas encore débuggé...
    Si vous trouvez avant, merci de nous l’indiquer.

    Répondre à ce message

  • 1

    Des problèmes avec le pluging hébergé sur un site free.

    Disposez vous des paramètres pour la connexion smtp à placer dans la page class.phpmailer.php

    var $Host = « smtp.free.fr » ;
    var $Port = 25 ;

    les deux modes suivants ne fonctionnent pas :
    var $Mailer = « sendmail » ;

    var $Mailer = « mail » ;

    y à t’il un autre paramétrage à prendre en compte ?

    Si vous savez le faire marcher sur Free.fr merci de m’aider à configurer les paramètres.

    • J’ai trouvé mon problème. Free ne fontionne qu’avec le mode Mail.

      Je confirme le message décrit au dessus : dans la page Enviar_Email_Articulo.html
      Le paramètre de type d’envoi précisé dans class.phpmailer.php
      est à nouveau défini après chargement. Il faut donc le redéfinir.

      // ENVIO DEL MENSAJE CON PHPMAILER

      include_spip(« phpmailer/class.phpmailer ») ;
      include_spip(« phpmailer/class.smtp ») ;
      include_spip(’inc/meta’) ; // para coger datos automáticamente del servidor, usuario,...
      $mail = new PHPMailer() ;

      $mail->IsSMTP() ;
      $mail->Mailer = « mail » ; # CORRECTION A APPORTER

    Répondre à ce message

  • 1
    Tropicaloo

    Voici une proposition pour une traduction anglaise :

    <?
    
    $GLOBALS[$GLOBALS['idx_lang']] = array(
    'envoyer_article' => 'Send this article',
    'envoyer' => 'Send',
    'reference_de' => 'The reference of',
    'par_courriel' => 'by mail',
    'a_destination' => 'Send to the adress:',
    'donnees_optionnelles' => 'Optional data',
    'separe_virgule' => 'Separate addresses with commas if you send to several people',
    'sujet' => 'Subject',
    'titre_vouloir' => 'Title of message',
    'nom' => 'Name',
    'adresse' => 'Mail',
    'texte' => 'You can add a text',
    'envoi'	=> 'Send',
    'annuler' => 'Cancel',
    'enviar_title'	=> 'Send this article by mail',
    'enviar_por_email' => 'Send',
    'referencia' =>	'The reference of',
    'enviado' => 'Was sent to:',
    'sentimos' => 'Sorry',
    'problema' => 'There was a problem and the mail could not be sent',
    'hola' => 'Hello. This article may interest you ',
    'leer' => 'Read more...',
    'enviado_por' => 'Sent by : ',
    'direction' => 'But without a valid e-mail address',
    'podemos' => 'We can not send the message',
    'fermer' => 'Close',
    'documento' => 'Hello, the documents of',
    'interesar' => 'you might be interested',
    'descargarte' => 'If you visit our site, you will get the following documents :',
    'source' => 'Source',
    'no_escrito_nombre' =>  'No name listed',
    
    );
    
    ?>

    Répondre à ce message

  • 1

    Bonjour,

    Ce plug-in est très intéressant. Mais comment peut-on rajouter dans le message le nom de l’auteur de l’article ? Merci d’avance...

    Répondre à ce message

  • Bonjour,

    Merci pour ce plugin qui marche impeccablement direct après un install.
    j’essaye de faire disparaitre le texte Envoyer à un ami qui s’affiche a coté du pictogramme. J’ai cherché pas mal les fichiers pour voir où je pouvais modifier ça, mais sans résultats.

    Est-il possible de faire disparaitre ce texte et si c’est le cas quel fichier dois-je éditer.

    Merci d’avance

    FireWolf

    Répondre à ce message

  • 5
    LDH-Dax

    Utiliser "sendmail" au lieu de "mail" défini par defaut dans le fichier "enviar_email_articulo.html"

    Chercher la ligne :
    $mail->Mailer = “mail” ;

    remplacer par :
    $mail->Mailer = “sendmail” ;

    J’avais le même problème : pas de message d’erreur mais aucune reception des mails envoyés. En utilisant "sendmail" aucun problème sur serveur mutualisé OVH ! Tous les mails arrivent à destination ...

    • Cool je reviens aux nouvelles après un petit break, et le problème semble être résolu, j’ai fait un test immédiat et ça fonctionne enfin sous 1.9.2

      reprenons un peu tout ça :
      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

      donc à vous d’essayer de remplacer par l’un ou l’autre(mail ou sendmail) ; en fonction des retours je ferai la modif sur la zone

    • Simplement pour te remercier, pour cette solution.
      Chez 1and1, Mailer, ca passe en spam sur hotmail.
      avec sendmailer, c’est nikel. !! tout marche impec come tu dis ;-)

    • En effet, la solution au message d’erreur fonctionne bien pour le site chez free en remplaçant smtp par mail. Merci pour m’avoir indiquée le chemin.

      Cela me permet donc d’envoyer les articles. Par contre, cela ne fonctionne pas pour l’envoi des brèves à un ami. Un message d’erreur dit qu’il n’y a pas d’article à l’adresse indiquée. Ce qui est normal puisque c’est une brève.

      Que faut-il changer dans le code pour que cela permette également d’envoyer les brèves, mais surtout continuer à fonctionner pour les articles ?

    • Je n’utilise pas les breves, mais je pense qu’il suffit de faire la
      même modification dans le fichier : enviar_email_breve.html

    • à priori oui cela doit suffir, j’ai fait la modif sur le fichier, c’est sur la zone

    Répondre à ce message

  • 1

    Bonjour,
    J’ai installé le plugin, placé la balise dans mon squelette,
    J’ai bien la fenetre d’envoi qui s’ouvre, aucun message d’erreur.
    J’envoie, mais je ne reçois rien.
    Spip 1.9.2c, squelette epona, plugin telechargé ce jour. Site hebergé chez OVH.

    J’ai bien vu parlé d’une modif à réaliser, mais je ne trouve pas le post expliquant cette modif. Alors, si quelqu’un peut m’aider.

    Répondre à ce message

  • Bonjour,

    J’ai un utilisateur sur la mailing list anglophone qui semble avoir un problème avec les caractères accentués en utilisant ce plugin. Apparament les messages qu’il envoit par son biais semblent ne pas les accpeter.

    Il aimerait savoir si il y a un moyen de fixer cela.

    Merci pour lui (et pour moi accessoirement :)

    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