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 :

Envoyer un e-mail avec pièce jointe


Sujet :

Langage PHP

  1. #1
    Membre à l'essai
    Profil pro
    Inscrit en
    Mai 2007
    Messages
    32
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2007
    Messages : 32
    Points : 23
    Points
    23
    Par défaut Envoyer un e-mail avec pièce jointe
    bonjour a tous,

    J'ai un formulaire pour envoyer des mails avec une pièce jointe.
    mon Hic c'est que je reçois bien les infos du formulaire mais pas la pièce jointe

    Ce sont des fichier .xls voir .doc de petites tailles.
    j'ai bien renseigné tous les variables et le dossier ' uploads ' est bien positionné.

    Mon hébergeur est planet-work.

    Vouyez-vous ce qui bloque ?

  2. #2
    Modérateur
    Avatar de sabotage
    Homme Profil pro
    Inscrit en
    Juillet 2005
    Messages
    29 208
    Détails du profil
    Informations personnelles :
    Sexe : Homme

    Informations forums :
    Inscription : Juillet 2005
    Messages : 29 208
    Points : 44 155
    Points
    44 155
    Par défaut
    Bonjour,

    Pourrais-tu nous montrer ton script en l'inserant ici entre balises [CODE] ?

  3. #3
    Membre à l'essai
    Profil pro
    Inscrit en
    Mai 2007
    Messages
    32
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2007
    Messages : 32
    Points : 23
    Points
    23
    Par défaut
    index :

    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
    87
    88
    89
    90
    91
    92
    93
    94
    95
    96
    97
    98
    99
    100
    101
    102
    103
    104
    105
    106
    107
    108
    109
    110
    111
    112
    113
    114
    115
    116
    117
    118
    119
    120
    121
    <?php
    /****************************************************
    **********     HDAformail+upload 1.0           ******
    *****************************************************
    *       Formulaire de Contact avec Uploads          *
    *      Compatible avec tous les hébergeurs          *
    *                                                   *
    *            copyright Fabrice Lezoray              *
    *                                                   *
    *                                                   *
    *          http://www.humourdesanimaux.com          *
    *                                                   *
    *                                                   *
    ****************************************************/
    include ("entete.php");
    include ("conf/fonctions.php");
    include ("conf/conf.php");
    include('conf/register_globals.php');
     
    /////////////////////////////////////////////////////////////////////////////////////////////////////////////////
    $body="$text_champ1  : $email\n";
    $body .="$text_champ2 : $nom\n";
    for ( $x = 0; $x < $nombre_champs_sup; $x++ )
    {
    $body .="$text_champ_sup[$x] : $champ_sup[$x]\n";
    }
    $body .="\n";
    $body .="((((((****** $text_champ3 ******))))))\n\n";
    $body .="$message\n\n";
    $retour_site="<a href=\"$url_acceuil\">$text_retour_acceuil</a>";
    $retour_form="<a href=\"javascript:history.go(-1);\">$retour_formulaire</a>\n";
     
     
    if ( isset ( $message ) )
    {
    	controler_champs_obliges(); 	// On controle que les chaps obligatoires sont remplis
    	verif_email();					// verif dE L EMAIL
     
    /////////////////////////////////////////////////////////////////////////////////
    	$control_upload="0";
    	for ( $x=1; $x <= $nb_uploads; $x++ )
    	{
    		$fille=$file_dir.$fupload_name[$x];
    		$Controle = substr($fille, -3);
    		if ($Controle == "php") $fille=$file_dir.$fupload_name[$x]."xxx";
    		$Controle2 = substr($fille, -4);
    		if ($Controle2 == "php3") $fille=$file_dir.$fupload_name[$x]."xxx";
    		if ($Controle == "txt") $fille=$file_dir.$fupload_name[$x]."xxx";
    		if ( ! empty ($fupload[$x]) )
    		{
    		@move_uploaded_file ( $fupload[$x], $fille ); // Copie des fichiers sur le serveur
    		print"<font face=\"$text_font\" size=\"$text_font_size\" color=\"#$text_font_color\">";
    		print"Votre fichier <b>$fupload_name[$x]</b> a bien été uploadé sur mon serveur<br>";
    		print "</font>";
    		$control_upload++;
    			if ( $control_upload == "1" ) // Si 1 upload on affiche le message dans $body
    			{
    				$body .="***** Il a effectue des Uploads sur votre serveur: *****\n\n";
    			}
    		if($Controle == "txt"||$Controle=="php"||$Controle2=="php3") $fili=$fupload_name[$x]."xxx";
    		else $fili=$fupload_name[$x];
    		$body .="$file_url"."$fili\n";
     
    		}
    	}
    $body .="\n\n";
    $body .="Powered by Fab le Zouave :::: http://www.ScriptsPHP.net ::::::";
    ///////////////////////////////////////////////////////////////////////////////////////////////////////////////
    	envoyer(); 						// On envoie le mail
     
    		print"<font face=\"$text_font\" size=\"$text_font_size\" color=\"#$text_font_color\">"; // On affiche les message de succes
    		print"$message_succes1 <br>";
    		print"$message_succes2 <br>";
    		print"$message_succes3 <br>";
    		print $retour_site."<br>";
    		print"</font>";
    		include ("pieddepage.php");
    		exit;
    }
     
    //////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
    ?>
     
    <form enctype="multipart/form-data" method="POST" action="">
      <input type="hidden" name="MAX_FILE_SIZE" value="<?=$file_size_max?>">
     
      <table border="0" cellspacing="0" width="100%">
      <tr>
      <td width="30%"><font face="<?=$text_font?>" size="<?=$text_font_size?>" color="#<?=$text_font_color?>"><?=$text_champ1?> </font></td>
      <td width="70%"><p align="left"> <input type="text" name="email" size="<?=$nb_cols?>" style="font-family: <?=$font?>; font-size: <?=$font_size?>  px; background-color: #<?=$bg_color?>;  color: #<?=$font_color?>"><? afficher_croix_rouge($email_oblig); ?></td>
      </tr>
      <tr>
      <td width="30%"><font face="<?=$text_font?>" size="<?=$text_font_size?>" color="#<?=$text_font_color?>"><?=$text_champ2?> </font></td>
      <td width="70%"><p align="left"> <input type="text" name="nom" size="<?=$nb_cols2?>" style="font-family: <?=$font?>; font-size: <?=$font_size?>  px; background-color: #<?=$bg_color?>;  color: #<?=$font_color?>"><? afficher_croix_rouge($nom_oblig); ?></td>
      </tr>
      </table>
    <?php
    // Creation des champs supplementaires
    creation_champs($nombre_champs_sup);
    ?>
       <p><font face="<?=$text_font?>" size="<?=$text_font_size?>" color="#<?=$text_font_color?>"><?=$text_champ3?> </font><br><textarea rows="<?=$nb_rows?>" name="message" cols="<?=$nb_cols_message?>" style="font-family: <?=$font?>; font-size: <?=$font_size?>  px; background-color: #<?=$bg_color?>;  color: #<?=$font_color?>"></textarea><? afficher_croix_rouge($message_oblig); ?></p>
    <?php
    // Affichage des champs UPLOADS
    print"<table border=\"0\" cellspacing=\"0\" width=\"30%\">";
    for ( $x=1; $x<= $nb_uploads; $x++ )
     	{
     
     	print"<tr><td width=\"50%\"><pre><font face=\"$text_font\" size=\"$text_font_size\" color=\"#$text_font_color\">$text_upload $x  </font></pre></td><td width=\"50%\"><p align=\"right\"><input type=\"file\" name=\"fupload[$x]\" size=\"20\" style=\"font-family: $font; font-size: $font_size  px; background-color: #$bg_color;  color: #$font_color\"></pre></p></td></tr>";
     
     	}
     	print"</table>";
     
     
    ?>
       <p><input type="submit" value="<?=$text_submit?>" name="B1" style="font-family : <?=$font?>; font-size= <?=$font_size?>; color=#<?=$submit_font_color?>; background-color:#ffcc00;">   
       <input type="reset" value="<?=$text_reset?>" name="B2" style="font-family : <?=$font?>; font-size= <?=$font_size?>; background-color:#ffcc00;"></p>
     
    </form>
    <?
    include ("pieddepage.php");
    ?>


    fonctions :

    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
    87
    88
    89
    90
    91
    92
    93
    94
    95
    96
    97
    98
    99
    100
    101
    102
    103
    104
    105
    106
    107
    108
    109
    110
    111
    112
    113
    114
    115
    116
    117
    118
    119
    120
    121
    122
    123
    124
    125
    126
    127
    128
    129
    130
    131
    132
    133
    134
    135
    136
    137
    138
    139
    140
    141
    142
    143
    144
    145
    146
    147
    148
    149
    150
    151
    152
    153
    154
    155
    156
    157
    158
    159
    160
    161
    162
    163
    164
    165
    166
    167
    168
    169
    170
    171
    172
    173
    174
    175
    <?php
    /****************************************************
    **********     HDAformail+upload 1.0           ******
    *****************************************************
    *       Formulaire de Contact avec Uploads          *
    *      Compatible avec tous les hébergeurs          *
    *                                                   *
    *            copyright Fabrice Lezoray              *
    *                                                   *
    *                                                   *
    *          http://www.humourdesanimaux.com          *
    *                                                   *
    *                                                   *
    ****************************************************/
    function afficher_croix_rouge ($var_oblig)
    {
    global $nom_oblig;
    global $email_oblig;
    	if ( $var_oblig == "1")
    	{
    	print"<font color=\"red\">*</font>";
    	}
    }
    /////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////	
    function creation_champs($nombre_champs_sup)
    {
    global $bg_color;
    global $font;
    global $font_size;
    global $font_color;
    global $nombre_champs_sup;
    global $text_font;
    global $text_font_size;
    global $text_font_color;
    global $nb_cols_champ_sup;
    global $text_champ_sup;
    global $champ_sup_oblig;
     
    print"<table border=\"0\" cellspacing=\"0\" width=\"100%\">";
     
    for ( $x = 0; $x < $nombre_champs_sup; $x++ )
    	{
     
    	print"<tr>\n";
      	print"<td width=\"30%\"><font face=\"$text_font\" size=\"$text_font_size\" color=\"#$text_font_color\">$text_champ_sup[$x] </font></td>\n";
      	print"<td width=\"70%\"><p align=\"left\"> <input type=\"text\" name=\"champ_sup[$x]\" size=\"$nb_cols_champ_sup[$x]\" style=\"font-family: $font; font-size: $font_size  px; background-color: #$bg_color;  color: #$font_color\">";
    	afficher_croix_rouge($champ_sup_oblig[$x]);
    	print"</td>\n";
      	print"</tr>\n";
    	}
     
    print"</table>";
    }
    ////////////////////////////////////////////////////////////////////////////////////////////////////
    function envoyer() // envoi du Mail
    {
    global $hebergeur;
    global $webmaster; //
    global $webmaster2; //
    global $titre;
    global $body;
    global $second_mail;
    $body = stripslashes($body);
     
    		if ( $hebergeur == "1" ) 		// Envoi du message chez Online
    		{
    		@email($webmaster,$webmaster2,$titre,$body) or die ("impossible");
    		}
    		elseif ( $hebergeur == "2" ) 	// Envoi du message chez Nexen
    		{
    		include ("mail.inc");
    		@email($webmaster2,$titre,$body,$webmaster);
    		}
    		else 							// Envoi du message chez tous les autres
    		{
    		@mail($webmaster2,$titre,$body);
    		}
     
     
     
     
    }
    ////////////////////////////////////////////////////////////////////
    function controler_champs_obliges()
    {
    global $text_font;
    global $text_font_size;
    global $text_font_color;
    global $retour_form;
    global $email_oblig;
    global $email;
    global $message_email_oblig;
    global $nom_oblig;
    global $nom;
    global $message_nom_oblig;
    global $nombre_champs_sup;
    global $champ_sup_oblig;
    global $champ_sup;
    global $message_oblig;
    global $message;
    global $message_champ_sup_oblig;
    global $message_message_oblig;
    $debut_font="<font face=\"$text_font\" size=\"$text_font_size\" color=\"#$text_font_color\">";
    if (  ($email_oblig == "1") && ( empty ($email) ) )
    	{
    	print $debut_font;
    	print "$message_email_oblig<br></font>";
    	$var_envoyer="ok";
    	}
     
    if (  ($nom_oblig == "1") && ( empty ($nom) ) )
    	{
    	print $debut_font;
    	print "$message_nom_oblig<br></font>";
    	$var_envoyer="ok";
    	}
     
    for ( $x= "0"; $x < $nombre_champs_sup; $x++ )
    {
    	if (  ($champ_sup_oblig[$x] == "1") && ( empty ($champ_sup[$x]) ) )
    		{
    		print $debut_font;
    		print "$message_champ_sup_oblig[$x]<br></font>";
    		$var_envoyer="ok";
    		}
    }
     
    if  (  ($message_oblig == "1") && ( empty ($message) ) )
    	{
    	print $debut_font;
    	print "$message_message_oblig<br></font>";
    	$var_envoyer="ok";
    	}
    if ( $var_envoyer == "ok" )
    	{
    	print $debut_font;
    	print "<br>".$retour_form."<br><br></font>";
    	include ("pieddepage.php");
    	exit;
    	}
    }
    ////////////////////////////////////////////////////
    function verif_email()
    {
    global $text_font;
    global $text_font_size;
    global $text_font_color;
    global $email;
    global $verifier_email;
    global $message_email_invalide;
    global $retour_form;
    $debut_font="<font face=\"$text_font\" size=\"$text_font_size\" color=\"#$text_font_color\">";
     
    if ( ($verifier_email=="oui" ) && ( isset ($email) ) )
    	{
    	$email_ok = eregi("^[_\.0-9a-z-]+@([0-9a-z-]+\.)+[a-z]{2,4}$",$email);  // Syntaxe
    	list($user, $domaine) = split("@", $email, 2);                          // decomposition Domaine
    	$domaine_ok = @checkdnsrr($domaine, "MX"); 
     
    	// supprimez cette ligne pour verifier le HOST
    	$domaine_ok = TRUE;
    	                             // verif Domaine (s assurer de MX)
    	if ( !$email_ok  or !$domaine_ok)
    		{
    		print $debut_font;
    		print $message_email_invalide."<br><br>";
    		print $retour_form."<br><br></font>";
    		include ("pieddepage.php");
    		exit;
    		}
    	}
    }
    /////////////////////////////////////////////////////////////////////////////////////////////////////////////
     
    ?>

    Config :

    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
    <?php
    $hebergeur = "3";
    $webmaster = "webmasteur@www.mon site";
    $webmaster2 = "destination@gmail.com";
    $url_acceuil = "http://www.mon site";
    $text_champ1 = "SERVICE : ";
    $nb_cols2 = "20";
    $email_oblig = "1";
    $message_email_oblig = "Vous devez rentrer votre SERVICE l !";
    $verifier_email = "";
    $message_email_invalide = "";
    $text_champ2 = "Nom :";
    $nb_cols = "30";
    $nom_oblig = "1";
    $nombre_champs_sup = "1";
    $message_nom_oblig = "Vous devez rentrez votre Nom !";
    $text_champ_sup[0] = "Prénom";
    $nb_cols_champ_sup[0] = "20";
    $champ_sup_oblig[0] = "1";
    $message_champ_sup_oblig[0] = "Vous n avez pas rempli le champ Prenom";
    $text_champ_sup[1] = "Site Web";
    $nb_cols_champ_sup[1] = "40";
    $champ_sup_oblig[1] = "";
    $message_champ_sup_oblig[1] = "Vous n avez pas rempli le champn Site Web";
    $text_champ_sup[2] = "Localisation";
    $nb_cols_champ_sup[2] = "20";
    $champ_sup_oblig[2] = "";
    $message_champ_sup_oblig[2] = "Vous n avez pas rempli le champ localisation";
    $text_champ3 = "Abonnement Scnene Nationnale : Saison 09/10";
    $nb_cols_message = "";
    $nb_rows = "";
    $message_oblig = "";
    $message_message_oblig = "";
    $nb_uploads = "1";
    $file_dir = "./uploads/";
    $text_upload = "Fichier d\'Abonnement :";
    $file_size_max = "100000";
    $font = "verdena";
    $font_size = "13";
    $font_color = "ff0000";
    $bg_color = "c0c0ff";
    $text_submit = "Envoyer !";
    $submit_font_color = "ff0000";
    $text_reset = "effacer !";
    $message_succes1 = "Votre message a bien été transmis au Webmaster...";
    $message_succes2 = "";
    $message_succes3 = "";
    $retour_formulaire = "";
    $text_retour_acceuil = "Retour à la page d Acceuil";
    $text_font = "arial";
    $text_font_size = "5";
    $text_font_color = "ff0000";
    $titre = "scene nationale";
    $fonc_upload = "copy";
    $file_url = "http://www.mon site/uploads/";
    $copy1 = "http://www.humourdesanimaux.com/scriptsphp";
    $copy2 = "Powered by Fab le Zouave";
     
    ?>
    register_global :

    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
     
    <?php
    if(isset($HTTP_GET_VARS)){
      while(list($var, $val)=each($HTTP_GET_VARS)){
        $$var=$val;
      }
    }
    if(isset($HTTP_POST_VARS)){
      while(list($var, $val)=each($HTTP_POST_VARS)){
        $$var=$val;
      }
    }
    if(isset($HTTP_COOKIE_VARS)){
      while(list($var, $val)=each($HTTP_COOKIE_VARS)){
        $$var=$val;
      }
    }
    if(isset($HTTP_SERVER_VARS)){
      while(list($var, $val)=each($HTTP_SERVER_VARS)){
        $$var=$val;
      }
    }
    ?>

  4. #4
    Modérateur
    Avatar de sabotage
    Homme Profil pro
    Inscrit en
    Juillet 2005
    Messages
    29 208
    Détails du profil
    Informations personnelles :
    Sexe : Homme

    Informations forums :
    Inscription : Juillet 2005
    Messages : 29 208
    Points : 44 155
    Points
    44 155
    Par défaut
    Je ne vois pas le traitement de la pièce jointe dans tout ca.

  5. #5
    Membre à l'essai
    Profil pro
    Inscrit en
    Mai 2007
    Messages
    32
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2007
    Messages : 32
    Points : 23
    Points
    23
    Par défaut
    Voici tout le code ... dans le 1er Post.

    j'ai essayé avec un autre script mais je reçois le Mail en codé....

    Content-Type: text/plain; charset="iso-8859-1"

    Content-Transfer-Encoding:8bit

    Ceci est un mail avec un fichier joint

    Content-Type: image/gif; name="1.gif"

    Content-Transfer-Encoding: base64

    Content-Disposition: inline; filename="1.gif"



    R0lGODlhVQAjAPYAAAEBAQcHCAsLDA4OERISExcXGBsbGx4eIicnJycnKisrLC
    4uMTIyMjU1Ojw8....

    j'ai fais un et voici la réponse serveur :
    file_uploads : ON
    upload_tmp_dir : /tmp

  6. #6
    Modérateur
    Avatar de sabotage
    Homme Profil pro
    Inscrit en
    Juillet 2005
    Messages
    29 208
    Détails du profil
    Informations personnelles :
    Sexe : Homme

    Informations forums :
    Inscription : Juillet 2005
    Messages : 29 208
    Points : 44 155
    Points
    44 155
    Par défaut
    Pourquoi tu as une ligne de texte en plein milieu de tes en-têtes ?

  7. #7
    Membre à l'essai
    Profil pro
    Inscrit en
    Mai 2007
    Messages
    32
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2007
    Messages : 32
    Points : 23
    Points
    23
    Par défaut
    Bonne question....mais...
    je suis un peu largué...


    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
    87
    88
    89
    90
    91
    92
    93
    94
    95
    96
    97
    98
    99
    <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
    <html xmlns="http://www.w3.org/1999/xhtml">
    <head>
    <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
    <title>Document sans titre</title>
    </head>
     
    <body>
     
    <?php
     
    //----------------------------------
    // Construction de l'ent?te
    //----------------------------------
    // On choisi g?n?ralement de construire une fronti?re g?n?r?e aleatoirement
    // comme suit. (le document pourra ainsi etre attache dans un autre mail
    // dans le cas d'un transfert par exemple)
    $boundary = "-----=".md5(uniqid(rand()));
     
    // Ici, on construit un ent?te contenant les informations
    // minimales requises.
    // Version du format MIME utilis?
    $header = "MIME-Version: 1.0\r\n";
    // Type de contenu. Ici plusieurs parties de type different "multipart/mixed"
    // Avec un fronti?re d?finie par $boundary
    $header .= "Content-Type: multipart/mixed; boundary=\"$boundary\"\r\n";
    $header .= "\r\n";
     
    //--------------------------------------------------
    // Construction du message proprement dit
    //--------------------------------------------------
     
    // Pour le cas, o? le logiciel de mail du destinataire
    // n'est pas capable de lire le format MIME de cette version
    // Il est de bon ton de l'en informer
    // REM: Ce message n'appara?t pas pour les logiciels sachant lire ce format
    $msg = "Je vous informe que ceci est un message au format MIME 1.0 multipart/mixed.\r\n";
     
    //---------------------------------
    // 1?re partie du message
    // Le texte
    //---------------------------------
    // Chaque partie du message est s?par? par une fronti?re
    $msg .= "--$boundary\r\n";
     
    // Et pour chaque partie on en indique le type
    $msg .= "Content-Type: text/plain; charset=\"iso-8859-1\"\r\n";
    // Et comment il sera cod?
    $msg .= "Content-Transfer-Encoding:8bit\r\n";
    // Il est indispensable d'introduire une ligne vide entre l'ent?te et le texte
    $msg .= "\r\n";
    // Enfin, on peut ?crire le texte de la 1?re partie
    $msg .= "Ceci est un mail avec un fichier joint\r\n";
    $msg .= "\r\n";
     
    //---------------------------------
    // 2nde partie du message
    // Le fichier
    //---------------------------------
    // Tout d'abord lire le contenu du fichier
    $file = "1.gif";
    $fp = fopen($file, "rb");   // b c'est pour les windowsiens
    $attachment = fread($fp, filesize($file));
    fclose($fp);
     
    // puis convertir le contenu du fichier en une cha?ne de caract?re
    // certe totalement illisible mais sans caract?res exotiques
    // et avec des retours ? la ligne tout les 76 caract?res
    // pour ?tre conforme au format RFC 2045
    $attachment = chunk_split(base64_encode($attachment));
     
    // Ne pas oublier que chaque partie du message est s?par? par une fronti?re
    $msg .= "--$boundary\r\n";
    // Et pour chaque partie on en indique le type
    $msg .= "Content-Type: image/gif; name=\"$file\"\r\n";
    // Et comment il sera cod?
    $msg .= "Content-Transfer-Encoding: base64\r\n";
    // Petit plus pour les fichiers joints
    // Il est possible de demander ? ce que le fichier
    // soit si possible affich? dans le corps du mail
    $msg .= "Content-Disposition: inline; filename=\"$file\"\r\n";
    // Il est indispensable d'introduire une ligne vide entre l'ent?te et le texte
    $msg .= "\r\n";
    // C'est ici que l'on ins?re le code du fichier lu
    $msg .= $attachment . "\r\n";
    $msg .= "\r\n\r\n";
     
    // voil?, on indique la fin par une nouvelle fronti?re
    $msg .= "--$boundary--\r\n";
     
    $destinataire = "destinataire@gmail.com";
    $expediteur   = "webmasteur@mon site";
    $reponse      = $expediteur;
    echo "Ce script envoie un mail avec fichier attach? ? $expediteur";
    mail($destinataire, "test avec fichier attach?", $msg,
         "Reply-to: $reponse\r\nFrom: $expediteur\r\n".$header);
    ?>
    </body>
    </html>

Discussions similaires

  1. [Débutant] Envoyer un e-mail avec pièce jointe
    Par jeremy5490 dans le forum C#
    Réponses: 14
    Dernier message: 09/06/2011, 16h59
  2. Comment envoyer un mail avec pièce jointe (BCB6)
    Par renesouley dans le forum C++Builder
    Réponses: 16
    Dernier message: 30/12/2006, 21h56
  3. Envoyer un mail avec pièce jointe
    Par anirose dans le forum VBA Access
    Réponses: 6
    Dernier message: 08/11/2006, 12h45
  4. Envoyer un mail avec pièce jointe (javascript)
    Par Dorra_26 dans le forum Général JavaScript
    Réponses: 15
    Dernier message: 21/07/2006, 08h31
  5. [C++/MFC]Envoyer un mail avec Pièce jointe
    Par cjacquel dans le forum MFC
    Réponses: 4
    Dernier message: 12/06/2006, 13h48

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