IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Langage PHP Discussion :

plusieurs fichiers attachés dans un mail


Sujet :

Langage PHP

  1. #1
    Expert confirmé
    Avatar de laurentSc
    Homme Profil pro
    Webmaster débutant perpétuel !
    Inscrit en
    Octobre 2006
    Messages
    10 386
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 60
    Localisation : France, Isère (Rhône Alpes)

    Informations professionnelles :
    Activité : Webmaster débutant perpétuel !
    Secteur : Industrie

    Informations forums :
    Inscription : Octobre 2006
    Messages : 10 386
    Points : 5 733
    Points
    5 733
    Billets dans le blog
    1
    Par défaut plusieurs fichiers attachés dans un mail
    Bonsoir,

    j'ai un code qui me permet de mettre un fichier attaché dans un mail, mais je voudrais en mettre 3, donc comment faire ? Je mets le code PHP (c'est l'action du formulaire HTML dans lequel on sélectionne notamment les fichiers à attacher) :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    46
    47
    48
    49
    50
    51
    52
    53
    54
    55
    56
    57
    58
    59
    60
    61
    62
    63
    64
    65
    66
    67
    68
    69
    70
    71
    72
    73
    74
    75
    76
    77
    78
    79
    80
    81
    82
    83
    84
    85
    86
    <?php  
     
    if ($_FILES['file']['name'] != "") $fichier=1; else $fichier=0;
    //init des var retournées par le form html
    $nomprenom=$_POST['nomprenom'];
    ...
     
    $msg="test";
     
    if ($fichier=="1") {
    	$chemin_destination = './';	
    	$nom=$_FILES['file']['name'];
    	$res_upload=move_uploaded_file($_FILES['file']['tmp_name'], $nom);
    	$adr_file=$chemin_destination.$nom;
    	}
     
     
    //-----------------------------------------------
    	//DECLARE LES VARIABLES
    	//-----------------------------------------------
    	exp="...";
     
    	$email_expediteur=$exp;
    	$email_reply=$exp;
    	$destinataire=$exp;
     
    	$frontiere = '-----=' . md5(uniqid(mt_rand()));
     
    	//-----------------------------------------------
    	//HEADERS DU MAIL
    	//-----------------------------------------------
     
    	$headers = 'From: "Nom" <'.$email_expediteur.'>'."\n";
    	$headers.= 'Return-Path: <'.$email_reply.'>'."\n";
    	$headers.= 'MIME-Version: 1.0'."\n";
    	if ($fichier=="0") {
    	$headers.='Content-Type: text/html; charset="ISO-8859-1"'."\n";
    	}
     
    	if ($fichier=="1") {	
    	$headers.= 'Content-Type: multipart/mixed; boundary="'.$frontiere."\"\n\n";
     
    	//-----------------------------------------------
    	//MESSAGE
    	//-----------------------------------------------
     
    	$message ='This is a multi-part/mixed message in MIME format.'."\n";
    	$message.='--'.$frontiere."\n";
    	$message.='Content-Type: text/html; charset="ISO-8859-1"'."\n";
    	$message.='Content-Transfer-Encoding: base64'."\n\n";
     
    	$message.=chunk_split(base64_encode(nl2br($msg)))."\n";
     
    	//-----------------------------------------------
    	//PIECE JOINTE
    	//-----------------------------------------------
     
    $nom=$_FILES['file']['name'];
    $base=basename($nom);
    $pathinfo= pathinfo($nom);
    $ext=$pathinfo['extension'];
     
     
    $ext=strtolower($ext); // on ne passe l'extension en minuscules que pour le test, mais ds le mail on laisse l'extension
     
    switch ($ext) {
    case "toto": $mime="pouet/pouet"; break;
    ...
    default: echo "extension non pr&eacute;vue<br>";
    }
     
    	$message.='--'.$frontiere."\n";
    	$message.= 'Content-Type: '.$mime.'; name='.$base."\n";
    	$message.= 'Content-Transfer-Encoding: base64'."\n";
    	$message.= 'Content-Disposition:attachement; filename='.$base."\n\n";
    	$message.= chunk_split(base64_encode(file_get_contents($adr_file)))."\n";
    	$message.='--'.$frontiere.'--'."\n";}
    	else $message=$msg;
     
    	$sujet="formulaire";
     
        @mail($destinataire,$sujet,$message,$headers);
     
    	if ($fichier=="1") unlink($chemin_destination.$nom);
     
    ?>
    Il vaut mieux viser la perfection et la manquer que viser l'imperfection et l'atteindre. - Bertrand Russell

    Si la discussion est résolue, merci de cliquer sur le bouton

  2. #2
    Expert éminent sénior

    Homme Profil pro
    Développeur Web
    Inscrit en
    Septembre 2010
    Messages
    5 382
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Puy de Dôme (Auvergne)

    Informations professionnelles :
    Activité : Développeur Web
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Septembre 2010
    Messages : 5 382
    Points : 10 410
    Points
    10 410
    Par défaut
    Pour l'upload de fichiers multiples, utilises la syntaxe avec tableaux comme dans l'exemple du manuel

    Ensuite tu liste ton tableau pour récupérer les fichiers joints et pour chacun d'entre eux, dans ta boucle tu génère une frontière et le reste.
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    	$message.='--'.$frontiere."\n";
    	$message.= 'Content-Type: '.$mime.'; name='.$base."\n";
    	$message.= 'Content-Transfer-Encoding: base64'."\n";
    	$message.= 'Content-Disposition:attachement; filename='.$base."\n\n";
    	$message.= chunk_split(base64_encode(file_get_contents($adr_file)))."\n";

  3. #3
    Expert confirmé
    Avatar de laurentSc
    Homme Profil pro
    Webmaster débutant perpétuel !
    Inscrit en
    Octobre 2006
    Messages
    10 386
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 60
    Localisation : France, Isère (Rhône Alpes)

    Informations professionnelles :
    Activité : Webmaster débutant perpétuel !
    Secteur : Industrie

    Informations forums :
    Inscription : Octobre 2006
    Messages : 10 386
    Points : 5 733
    Points
    5 733
    Billets dans le blog
    1
    Par défaut
    Une question : je crois qu'il faut mettre entre chaque fichier joint la frontière suivante :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    $message.='--'.$frontiere."\n";
    et seulement tout à la fin la frontière de fin :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    $message.='--'.$frontiere.'--'."\n";
    Est-ce bien ça ?
    Il vaut mieux viser la perfection et la manquer que viser l'imperfection et l'atteindre. - Bertrand Russell

    Si la discussion est résolue, merci de cliquer sur le bouton

  4. #4
    Expert éminent sénior

    Homme Profil pro
    Développeur Web
    Inscrit en
    Septembre 2010
    Messages
    5 382
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Puy de Dôme (Auvergne)

    Informations professionnelles :
    Activité : Développeur Web
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Septembre 2010
    Messages : 5 382
    Points : 10 410
    Points
    10 410
    Par défaut
    Citation Envoyé par laurentSc Voir le message
    Une question : je crois qu'il faut mettre entre chaque fichier joint la frontière suivante :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    $message.='--'.$frontiere."\n";
    et seulement tout à la fin la frontière de fin :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    $message.='--'.$frontiere.'--'."\n";
    Est-ce bien ça ?
    Oui il en faut une entre chaque fichier, par contre je ne me souviens pas que la frontière de fin soit utile. Mais tu pourras toujours la rajouter si ça ne fonctionne pas comme prévu.

  5. #5
    Expert confirmé
    Avatar de laurentSc
    Homme Profil pro
    Webmaster débutant perpétuel !
    Inscrit en
    Octobre 2006
    Messages
    10 386
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 60
    Localisation : France, Isère (Rhône Alpes)

    Informations professionnelles :
    Activité : Webmaster débutant perpétuel !
    Secteur : Industrie

    Informations forums :
    Inscription : Octobre 2006
    Messages : 10 386
    Points : 5 733
    Points
    5 733
    Billets dans le blog
    1
    Par défaut
    J'ai essayé de le faire, mais il n'y a aucun fichier joint ; où est mon erreur ?

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    	$chemin_destination = './';	
     
    	for ($i=0;$i<3;$i++)
    	 {
    	switch($i) {
    	case 0 :
    	if (isset($_FILES['file[0]']['tmp_name'])) {
    	move_uploaded_file($_FILES['file[0]']['tmp_name'], $chemin_destination.$_FILES['file[0]']['name']);
    	$adr_file0=$chemin_destination.$_FILES['file[0]']['name'];};break;
    	case 1:
    ..idem..
    	case 2:
    ..idem..	}
    	}
    ...
     
    	if (isset($_FILES['file[0]']['tmp_name'])) {
    	$base0=basename($adr_file0);
     
    	$message.='--'.$frontiere."\n";
    	$message.= 'Content-Type: image/jpeg; name='.$base0."\n";
    	$message.= 'Content-Transfer-Encoding: base64'."\n";
    	$message.= 'Content-Disposition:attachement; filename='.$base0."\n\n";
    	$message.= chunk_split(base64_encode(file_get_contents($adr_file0)))."\n";
    }
    idem pour les 2 autres
    et à la fin :
    if ((isset($_FILES['file[0]']['tmp_name']))||(isset($_FILES['file[1]']['tmp_name']))||(isset($_FILES['file[2]']['tmp_name'])))
    	$message.='--'.$frontiere."--\n";
     
     
    	mail($destinataire,$sujet,$message,$headers);
    (j'ai aussi essayé sans la frontière de fin)
    Il vaut mieux viser la perfection et la manquer que viser l'imperfection et l'atteindre. - Bertrand Russell

    Si la discussion est résolue, merci de cliquer sur le bouton

  6. #6
    Membre émérite
    Avatar de Eric2a
    Homme Profil pro
    Technicien
    Inscrit en
    Septembre 2005
    Messages
    1 225
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 53
    Localisation : France, Corse (Corse)

    Informations professionnelles :
    Activité : Technicien

    Informations forums :
    Inscription : Septembre 2005
    Messages : 1 225
    Points : 2 411
    Points
    2 411
    Par défaut
    Salut,

    Jette un oeil sur ce post.

  7. #7
    Expert confirmé
    Avatar de laurentSc
    Homme Profil pro
    Webmaster débutant perpétuel !
    Inscrit en
    Octobre 2006
    Messages
    10 386
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 60
    Localisation : France, Isère (Rhône Alpes)

    Informations professionnelles :
    Activité : Webmaster débutant perpétuel !
    Secteur : Industrie

    Informations forums :
    Inscription : Octobre 2006
    Messages : 10 386
    Points : 5 733
    Points
    5 733
    Billets dans le blog
    1
    Par défaut
    Super, 5' et j'ai envoyé 2 fichiers joints (le répertoire "uploads", je l'avais oublié, mais il existait déjà, comme j'avais déjà fait le code pour envoyer un seul fichier). Par contre, je n'ai pour l'instant rien fait d'autre (fichiers .htaccess...) ; on verra demain ; il fera jour
    Il vaut mieux viser la perfection et la manquer que viser l'imperfection et l'atteindre. - Bertrand Russell

    Si la discussion est résolue, merci de cliquer sur le bouton

  8. #8
    Expert éminent sénior

    Homme Profil pro
    Développeur Web
    Inscrit en
    Septembre 2010
    Messages
    5 382
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Puy de Dôme (Auvergne)

    Informations professionnelles :
    Activité : Développeur Web
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Septembre 2010
    Messages : 5 382
    Points : 10 410
    Points
    10 410
    Par défaut
    En admettant que tu récupère les attachements, types de fichiers et nom de fichiers dans des tableaux, ta boucle pourrait ressembler à ceci :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    			for($i=0; $i < count($_FILES['userfile']['name']); $i++)
    				{
    				$error = $_FILES['userfile']['error'][$i];
     
    				if ($error == 0 && isset($_FILES['userfile']['tmp_name'][$i]) && is_uploaded_file($_FILES['userfile']['tmp_name'][$i]))
    					{
     
    					$attachment[] = chunk_split(base64_encode(file_get_contents($_FILES['userfile']['tmp_name'][$i])));
     
    					$ftype[] = $_FILES['userfile']['type'][$i];
    					$fname[] = $_FILES['userfile']['name'][$i];
    					unset($_FILES['userfile']['tmp_name'][$i]);
    					}
    				}
    pas besoin de "move_uploaded_file", ni de répertoire d'upload ou encore de .htaccess. Le fichier est simplement uploadé dans les fichiers temporaires du serveur puis lu (avec file_get_contents) et joint au mail.

  9. #9
    Expert confirmé
    Avatar de laurentSc
    Homme Profil pro
    Webmaster débutant perpétuel !
    Inscrit en
    Octobre 2006
    Messages
    10 386
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 60
    Localisation : France, Isère (Rhône Alpes)

    Informations professionnelles :
    Activité : Webmaster débutant perpétuel !
    Secteur : Industrie

    Informations forums :
    Inscription : Octobre 2006
    Messages : 10 386
    Points : 5 733
    Points
    5 733
    Billets dans le blog
    1
    Par défaut
    Pour une raison un peu compliquée à expliquer, je souhaite effectivement ne pas avoir à créer un répertoire "uploads". Par contre, ABCIWEB, comme je n'arrive pas à utiliser ton code, j'ai tenté de modifier celui de ERIC2A : j'ai d'abord enlevé "UPLOADS", donc on uploade dans le même répertoire que le code. Par contre, pour ne pas polluer, après l'envoi du mail, je voudrais effacer les fichiers : c'est là que je coince ; ma boucle est la suivante :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    	if(Envoi_mail($Email,$to,$Objet,$mixfiles)) {
    		$message='Votre demande a été envoyée';
    		$count=count($_FILES['userfile']['tmp_name']);
    		for($i=0;$i<$count;$i++){
    		echo "error=".$_FILES['userfile']['error'][$i]."<br>";
    		if($_FILES['userfile']['error'][$i]==UPLOAD_ERR_OK){
    		    $file=basename($_FILES['userfile']['name'][$i]);
     
    			unlink($file);
    			}
    		}
    		}
    sachant que un peu plus haut, il y a
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    $file=basename($_FILES['userfile']['name'][$i]);
    et que le fichier est dans le répertoire courant. Cela dit, le fichier n'est pas effacé. Pourquoi ?
    Il vaut mieux viser la perfection et la manquer que viser l'imperfection et l'atteindre. - Bertrand Russell

    Si la discussion est résolue, merci de cliquer sur le bouton

  10. #10
    Expert confirmé
    Avatar de laurentSc
    Homme Profil pro
    Webmaster débutant perpétuel !
    Inscrit en
    Octobre 2006
    Messages
    10 386
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 60
    Localisation : France, Isère (Rhône Alpes)

    Informations professionnelles :
    Activité : Webmaster débutant perpétuel !
    Secteur : Industrie

    Informations forums :
    Inscription : Octobre 2006
    Messages : 10 386
    Points : 5 733
    Points
    5 733
    Billets dans le blog
    1
    Par défaut
    J'ai trouvé le problème, et bien que ne comprenant pourquoi on a ça, l'ai résolu : avec le script de Eric2A, les underscores des noms de fichier sont supprimés quand on l'uploade et pas dans la variable $_FILES['userfile']['name'][$i]. Comme je me sers de cette variable pour faire le unlink, il faut d'abord retirer dedans les underscores...
    Il vaut mieux viser la perfection et la manquer que viser l'imperfection et l'atteindre. - Bertrand Russell

    Si la discussion est résolue, merci de cliquer sur le bouton

  11. #11
    Membre émérite
    Avatar de Eric2a
    Homme Profil pro
    Technicien
    Inscrit en
    Septembre 2005
    Messages
    1 225
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 53
    Localisation : France, Corse (Corse)

    Informations professionnelles :
    Activité : Technicien

    Informations forums :
    Inscription : Septembre 2005
    Messages : 1 225
    Points : 2 411
    Points
    2 411
    Par défaut
    Oui, en simplifiant la boucle qui récupère les infos des fichiers téléversés comme ceci par exemple :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
     
    $count=count($_FILES['userfile']['tmp_name']);
    for($i=0;$i<$count;$i++){
    	if($_FILES['userfile']['error'][$i]==UPLOAD_ERR_OK && is_uploaded_file($_FILES['userfile']['tmp_name'][$i])){
    		$tab=array();
    		$tab['name']=$_FILES['userfile']['name'][$i];
    		$tab['size']=$_FILES['userfile']['size'][$i];
    		$tab['type']=$_FILES['userfile']['type'][$i];
    		$mixfiles[]=$tab;
    		$mix=true;
    	}
    }
    Elle prend tout type de fichier (quelque soit le nom) et... reste compatible avec la fonction envoi_Mail().


    Maintenant, il faut savoir que les fichiers temporaires sont supprimés une fois le script terminé.

  12. #12
    Expert confirmé
    Avatar de laurentSc
    Homme Profil pro
    Webmaster débutant perpétuel !
    Inscrit en
    Octobre 2006
    Messages
    10 386
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 60
    Localisation : France, Isère (Rhône Alpes)

    Informations professionnelles :
    Activité : Webmaster débutant perpétuel !
    Secteur : Industrie

    Informations forums :
    Inscription : Octobre 2006
    Messages : 10 386
    Points : 5 733
    Points
    5 733
    Billets dans le blog
    1
    Par défaut
    Je viens de comprendre où sont retirés les underscores ; ici :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    $file=preg_replace('/([^.a-z0-9-\(\)]+)/i','',$file);
    Il vaut mieux viser la perfection et la manquer que viser l'imperfection et l'atteindre. - Bertrand Russell

    Si la discussion est résolue, merci de cliquer sur le bouton

  13. #13
    Expert éminent sénior

    Homme Profil pro
    Développeur Web
    Inscrit en
    Septembre 2010
    Messages
    5 382
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Puy de Dôme (Auvergne)

    Informations professionnelles :
    Activité : Développeur Web
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Septembre 2010
    Messages : 5 382
    Points : 10 410
    Points
    10 410
    Par défaut
    Citation Envoyé par laurentSc Voir le message
    ... sachant que un peu plus haut, il y a
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    $file=basename($_FILES['userfile']['name'][$i]);
    et que le fichier est dans le répertoire courant. Cela dit, le fichier n'est pas effacé. Pourquoi ?
    Le fichier temporaire sur le serveur porte le nom... du fichier temporaire
    Il faut donc faire le unlink sur $_FILES['userfile']['tmp_name'][$i].
    Mais évidemment il faut le faire après avoir récupéré et encodé son contenu avec chunk_split(base64_encode(file_get_contents($_FILES['userfile']['tmp_name'][$i])));

  14. #14
    Expert confirmé
    Avatar de laurentSc
    Homme Profil pro
    Webmaster débutant perpétuel !
    Inscrit en
    Octobre 2006
    Messages
    10 386
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 60
    Localisation : France, Isère (Rhône Alpes)

    Informations professionnelles :
    Activité : Webmaster débutant perpétuel !
    Secteur : Industrie

    Informations forums :
    Inscription : Octobre 2006
    Messages : 10 386
    Points : 5 733
    Points
    5 733
    Billets dans le blog
    1
    Par défaut
    Tu as raison, mais comme j'aime me compliquer la vie , j'ai fait ça :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    		    $file=basename($_FILES['userfile']['name'][$i]);
    			$file=preg_replace('/([^.a-z0-9-\(\)]+)/i','',$file);
    			unlink($file);
    Il vaut mieux viser la perfection et la manquer que viser l'imperfection et l'atteindre. - Bertrand Russell

    Si la discussion est résolue, merci de cliquer sur le bouton

  15. #15
    Expert éminent sénior

    Homme Profil pro
    Développeur Web
    Inscrit en
    Septembre 2010
    Messages
    5 382
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Puy de Dôme (Auvergne)

    Informations professionnelles :
    Activité : Développeur Web
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Septembre 2010
    Messages : 5 382
    Points : 10 410
    Points
    10 410
    Par défaut
    Ben oui mais tu ne supprime pas le fichier temporaire sur le serveur en faisant cela puisque le nom du fichier sur le serveur est $_FILES['userfile']['tmp_name'][$i].
    Quand tu fais unlink($_FILES['userfile']['name'][$i]) cela ne correspond à rien puisqu'il n'y a aucun fichier portant ce nom sur le serveur.

    Encore une fois le serveur à téléchargé un fichier qu'il a nommé $_FILES['userfile']['tmp_name'] et c'est lui que tu dois effacer.

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. Envoyer un fichier attaché dans un mail
    Par bobludo dans le forum Macros et VBA Excel
    Réponses: 3
    Dernier message: 29/04/2015, 09h52
  2. Réponses: 5
    Dernier message: 20/03/2012, 16h01
  3. fichier attaché dans un mail
    Par laurentSc dans le forum Langage
    Réponses: 4
    Dernier message: 12/01/2011, 19h54
  4. choix du content-type dans fichier attaché d'un mail
    Par serge0934 dans le forum Modules
    Réponses: 2
    Dernier message: 06/06/2007, 13h51
  5. [Mail] fichier attache dans un mail
    Par yiannis dans le forum Langage
    Réponses: 5
    Dernier message: 06/10/2005, 14h31

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo