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 :

Envoi d'un e-mail avec pièce jointe


Sujet :

Langage PHP

  1. #1
    Candidat au Club
    Profil pro
    Inscrit en
    Mai 2005
    Messages
    5
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2005
    Messages : 5
    Points : 2
    Points
    2
    Par défaut Envoi d'un e-mail avec pièce jointe
    Je suis en train de réaliser un script permettant de récupérer la civilité le nom, le prénom, et d'uploader un document de type word , à partir d'un formulaire d'une page html. Mon problème est que le mail ne veux pas partir .
    Avez-vous une idée? voici mon script :
    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
     
    $email_expediteur='aaa.bardin@aaa.fr';
    $email_reply='aaa@aaa.fr';
     
    //récupération des données du formulaire
     
         $message_texte='Civilite = '.$_POST['civilite'];
         $message_texte.='nom ='.$_POST['nom'];
         $message_texte.='Prenom'.$_POST['prenom'];
     
     
     
         $name_fichier = $_FILE['CV']
     
     
       //*******************FRONTIERE*******************************//
     
     
     
     
         $frontiere = '-----=' . md5(uniqid(mt_rand()));
     
     
     
       //********************HEADERS*******************************//
     
         $headers = 'From: "Nom" <'.$email_expediteur.'>'."\n";
         $headers .= 'Return-Path: <'.$email_reply.'>'."\n";
         $headers .= 'MIME-Version: 1.0'."\n";
         $headers .= 'Content-Type: multipart/mixed; boundary="'.$frontiere.'"';
     
     
        //**************************TEXTE********************************// 
     
     
     
         $message = 'This is a multi-part message in MIME format.'."\n\n";
         $message .= '--'.$frontiere."\n";
         $message .= 'Content-Type: text/plain; charset="iso-8859-1"'."\n";
         $message .= 'Content-Transfer-Encoding: 8bit'."\n\n";
         $message .= $message_texte."\n\n";
     
     
     
        //**********************PIECE JOINTE******************************//
     
     
     
     
    $message .= 'Content-Type: image/jpeg; name='.$fichier[CV][name].'.doc'."\n";
    $message .= 'Content-Transfer-Encoding: base64'."\n";
    $message .= 'Content-Disposition:attachement; filename='.$fichier[CV][name].'.doc'."\n\n";
    $message .= chunk_split(base64_encode(file_get_contents('.$fichier[CV][name].'.doc')))."\n";
     
         if(mail($destinataire,$sujet,$message,$headers))
         {
     
     
    	echo "true";//cette valeur sera traité par ajax est veut dire que tt passe pour le bien
     
     
     
         }
    }
    else
    {
    	echo "<p class='erreur'>";
    		for($i=0;$i<count($erreurs);$i++)
    		{
    		echo "- ".$erreurs[$i].".<br />";
    		}
    	echo "</p>";

  2. #2
    Membre expert
    Avatar de Eusebe
    Inscrit en
    Mars 2006
    Messages
    1 992
    Détails du profil
    Informations personnelles :
    Âge : 47

    Informations forums :
    Inscription : Mars 2006
    Messages : 1 992
    Points : 3 344
    Points
    3 344
    Par défaut
    Bonjour,

    je n'ai pas tout regardé, mais il me semble qu'il y a un problème à cette ligne (merci la coloration syntaxique) :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    $message .= chunk_split(base64_encode(file_get_contents('.$fichier[CV][name].'.doc')))."\n";
    Ne serait-ce pas plutôt :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    $message .= chunk_split(base64_encode(file_get_contents($fichier['CV']['name'].'.doc')))."\n";

  3. #3
    Modératrice
    Avatar de Celira
    Femme Profil pro
    Développeuse PHP/Java
    Inscrit en
    Avril 2007
    Messages
    8 633
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Âge : 39
    Localisation : France

    Informations professionnelles :
    Activité : Développeuse PHP/Java
    Secteur : Industrie

    Informations forums :
    Inscription : Avril 2007
    Messages : 8 633
    Points : 16 372
    Points
    16 372
    Par défaut
    et encore mieux :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    $message .= chunk_split(base64_encode(file_get_contents($fichier['CV']['name'].'.doc')))."\n";

  4. #4
    Candidat au Club
    Profil pro
    Inscrit en
    Mai 2005
    Messages
    5
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2005
    Messages : 5
    Points : 2
    Points
    2
    Par défaut
    En effet , c'est une erreur de ma part lors de la réécriture du script, mais malheureusement ce n'est pas cela le problème.
    Faut-il d'abord uploader le fichier sur le serveur?

  5. #5
    Candidat au Club
    Profil pro
    Inscrit en
    Mai 2005
    Messages
    5
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2005
    Messages : 5
    Points : 2
    Points
    2
    Par défaut
    $message .= 'Content-Type: image/jpeg; name='.$fichier[CV][name].'.doc'."\n";

    Petite erreur lors de la copie:


    Content-Type: text/doc;

  6. #6
    Membre averti Avatar de beejeridou
    Homme Profil pro
    Webmaster
    Inscrit en
    Février 2007
    Messages
    280
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Bas Rhin (Alsace)

    Informations professionnelles :
    Activité : Webmaster

    Informations forums :
    Inscription : Février 2007
    Messages : 280
    Points : 342
    Points
    342
    Par défaut
    Sinon, je ne veux absolument rien casser, ni remettre en cause les bons conseils de nos modérateurs, mais je te conseille de t'orienter sur la classe phpMailer, qui est très bien faite et qui gère les pièces jointes^^

    http://webscripts.softpedia.com/scri...ler-11543.html

  7. #7
    Candidat au Club
    Profil pro
    Inscrit en
    Mai 2005
    Messages
    5
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2005
    Messages : 5
    Points : 2
    Points
    2
    Par défaut
    Je vais allé voir cela... merci

Discussions similaires

  1. Envoi d'un e-mail avec pièce jointe
    Par xtrem dans le forum Langage
    Réponses: 1
    Dernier message: 30/05/2010, 15h09
  2. [Mail] Envoi d'un e-mail avec pièce jointe
    Par nixonne dans le forum Langage
    Réponses: 1
    Dernier message: 02/07/2007, 12h57
  3. Envoi de mail avec pièce jointe
    Par gids01 dans le forum API standards et tierces
    Réponses: 1
    Dernier message: 20/04/2006, 13h15
  4. Envoie mail avec pièce jointe
    Par Juniora dans le forum Access
    Réponses: 3
    Dernier message: 03/04/2006, 14h24
  5. [VB]Bp envoie mail avec piéce jointe
    Par jm1213 dans le forum VB 6 et antérieur
    Réponses: 4
    Dernier message: 17/02/2006, 20h55

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