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 :

Mail() : plusieurs pièces jointes


Sujet :

Langage PHP

  1. #1
    Membre à l'essai Avatar de AnatoleL
    Profil pro
    Inscrit en
    Octobre 2009
    Messages
    29
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Octobre 2009
    Messages : 29
    Points : 20
    Points
    20
    Par défaut Mail() : plusieurs pièces jointes
    Bonjour

    J'essaye d'envoyer deux pièces jointes avec la fonction mail(), mais à chaque fois une seule passe. Si je ne mets que la 2ème (donc une seule PJ) elle passe bien dans le mail.

    J'ai sans doute une erreure de syntaxe au niveau du corps du mail mais je ne trouve pas. J'ai essayé d'en mettre une inline et l'autre en attachment mais ça ne change rien.

    Voici le code PHP et le corps de mail généré :

    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 $passage_ligne = "\n";
     
    	//=====Ajout de la pièce jointe N°1.
     	if($_FILES["uploaded_file1"]["size"]>0){
    		$message.= "Content-Type: ".$file_type1."; name=\"".$path_of_uploaded_file1."\"".$passage_ligne;
    		$message.= "Content-Transfer-Encoding: base64".$passage_ligne;
    		$message.= "Content-Disposition: inline; filename=\"".$path_of_uploaded_file1."\"".$passage_ligne;
    		$message.= $passage_ligne.$attachement1.$passage_ligne.$passage_ligne;
    		$message.= $passage_ligne."--".$boundary."--".$passage_ligne; 
    	}
     
    	$message.= "--".$boundary.$passage_ligne;
     
    	//=====Ajout de la pièce jointe N°2.
     	if($_FILES["uploaded_file2"]["size"]>0){
    		$message.= "Content-Type: ".$file_type2."; name=\"".$path_of_uploaded_file2."\"".$passage_ligne;
    		$message.= "Content-Transfer-Encoding: base64".$passage_ligne;
    		$message.= "Content-Disposition: attachment; filename=\"".$path_of_uploaded_file2."\"".$passage_ligne;
    		$message.= $passage_ligne.$attachement2.$passage_ligne.$passage_ligne;
    		$message.= $passage_ligne."--".$boundary."--".$passage_ligne; 
    	}
    ?>

    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
    From: "xxxxxxx"<xxxx@xxxxxx.fr>
    Reply-to: "xxxxxx" <xxxxxxxx@xxxxxxxxx.fr>
     
    MIME-Version: 1.0
    Content-Type: multipart/mixed;;
     boundary="-----=a3927ad2f2ddb15128ac64bb55f0c51d"
    <br />
    -----=a3927ad2f2ddb15128ac64bb55f0c51d
    Content-Type: text/plain; charset="UTF-8"
     
    (texte du mail) 
     
     
    -------=a3927ad2f2ddb15128ac64bb55f0c51d
    Content-Type: text/html; charset="UTF-8"
     
    <html><head></head><body> 
    (texte du mail) 
    </body></html>
     
    ----
     
    -------=3d6205f2771f86293584312e9ee40d02
    Content-Type: file; name="upload/fichier1.rtf"
    Content-Transfer-Encoding: base64
    Content-Disposition: inline; filename="upload/fichier1.rtf"
     
    e1xydGYxXGFuc2lcYW5zaWNwZzEyNTJcY29jb2FydGYxMDM4XGNvY29hc3VicnRmMzUwCntcZm9u
    dHRibFxmMFxmc3dpc3NcZmNoYXJzZXQwIEhlbHZldGljYTt9CntcY29sb3J0Ymw7XHJlZDI1NVxn
    cmVlbjI1NVxibHVlMjU1O30KXHBhcGVydzExOTAwXHBhcGVyaDE2ODQwXG1hcmdsMTQ0MFxtYXJn
    cjE0NDBcdmlld3c5MDAwXHZpZXdoODQwMFx2aWV3a2luZDAKXHBhcmRcdHg1NjZcdHgxMTMzXHR4
    MTcwMFx0eDIyNjdcdHgyODM0XHR4MzQwMVx0eDM5NjhcdHg0NTM1XHR4NTEwMlx0eDU2NjlcdHg2
    MjM2XHR4NjgwM1xxbFxxbmF0dXJhbFxwYXJkaXJuYXR1cmFsCgpcZjBcZnMyNCBcY2YwIG1vbiBD
    Vn0=
     
     
     
    -------=3d6205f2771f86293584312e9ee40d02--
    -------=3d6205f2771f86293584312e9ee40d02
    Content-Type: file; name="upload/fichier2.rtf"
    Content-Transfer-Encoding: base64
    Content-Disposition: attachment; filename="upload/fichier2.rtf"
     
    e1xydGYxXGFuc2lcYW5zaWNwZzEyNTJcY29jb2FydGYxMDM4XGNvY29hc3VicnRmMzUwCntcZm9u
    dHRibFxmMFxmc3dpc3NcZmNoYXJzZXQwIEhlbHZldGljYTt9CntcY29sb3J0Ymw7XHJlZDI1NVxn
    cmVlbjI1NVxibHVlMjU1O30KXHBhcGVydzExOTAwXHBhcGVyaDE2ODQwXG1hcmdsMTQ0MFxtYXJn
    cjE0NDBcdmlld3c5MDAwXHZpZXdoODQwMFx2aWV3a2luZDAKXHBhcmRcdHg1NjZcdHgxMTMzXHR4
    MTcwMFx0eDIyNjdcdHgyODM0XHR4MzQwMVx0eDM5NjhcdHg0NTM1XHR4NTEwMlx0eDU2NjlcdHg2
    MjM2XHR4NjgwM1xxbFxxbmF0dXJhbFxwYXJkaXJuYXR1cmFsCgpcZjBcZnMyNCBcY2YwIG1hIGxl
    dHRyZSBkZSBtb3RpdmF0aW9ufQ==
     
     
     
    -------=3d6205f2771f86293584312e9ee40d02--

  2. #2
    Membre à l'essai Avatar de AnatoleL
    Profil pro
    Inscrit en
    Octobre 2009
    Messages
    29
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Octobre 2009
    Messages : 29
    Points : 20
    Points
    20
    Par défaut
    Bonjour

    Je me permets de remonter ce post car le problème persiste, à chaque fois une seule pièce jointe (la 1ère) est incluse dans le mail.

    Help !

    Merci.

  3. #3
    Membre actif
    Profil pro
    Inscrit en
    Février 2009
    Messages
    149
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2009
    Messages : 149
    Points : 206
    Points
    206
    Par défaut
    Salut,
    Ca me parait louche vers les lignes 35 à 39, essaye deja juste avec 2 sauts de ligne voir (aulieu de 3).

  4. #4
    Membre à l'essai Avatar de AnatoleL
    Profil pro
    Inscrit en
    Octobre 2009
    Messages
    29
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Octobre 2009
    Messages : 29
    Points : 20
    Points
    20
    Par défaut
    Merci mais j'ai essayé avec 2 puis 1 saut de ligne, même résultat.

  5. #5
    Membre actif
    Profil pro
    Inscrit en
    Février 2009
    Messages
    149
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2009
    Messages : 149
    Points : 206
    Points
    206
    Par défaut
    D'autres choses semblent louche, mais essaye voir deja dans ce style :

    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
    ----
     
    -------=3d6205f2771f86293584312e9ee40d02
    Content-Type: file; name="upload/fichier1.rtf"
    Content-Transfer-Encoding: base64
    Content-Disposition: inline; filename="upload/fichier1.rtf"
     
    e1xydGYxXGFuc2lcYW5zaWNwZzEyNTJcY29jb2FydGYxMDM4XGNvY29hc3VicnRmMzUwCntcZm9u
    dHRibFxmMFxmc3dpc3NcZmNoYXJzZXQwIEhlbHZldGljYTt9CntcY29sb3J0Ymw7XHJlZDI1NVxn
    cmVlbjI1NVxibHVlMjU1O30KXHBhcGVydzExOTAwXHBhcGVyaDE2ODQwXG1hcmdsMTQ0MFxtYXJn
    cjE0NDBcdmlld3c5MDAwXHZpZXdoODQwMFx2aWV3a2luZDAKXHBhcmRcdHg1NjZcdHgxMTMzXHR4
    MTcwMFx0eDIyNjdcdHgyODM0XHR4MzQwMVx0eDM5NjhcdHg0NTM1XHR4NTEwMlx0eDU2NjlcdHg2
    MjM2XHR4NjgwM1xxbFxxbmF0dXJhbFxwYXJkaXJuYXR1cmFsCgpcZjBcZnMyNCBcY2YwIG1vbiBD
    Vn0=
     
    -------=3d6205f2771f86293584312e9ee40d02
    Content-Type: file; name="upload/fichier2.rtf"
    Content-Transfer-Encoding: base64
    Content-Disposition: attachment; filename="upload/fichier2.rtf"
     
    e1xydGYxXGFuc2lcYW5zaWNwZzEyNTJcY29jb2FydGYxMDM4XGNvY29hc3VicnRmMzUwCntcZm9u
    dHRibFxmMFxmc3dpc3NcZmNoYXJzZXQwIEhlbHZldGljYTt9CntcY29sb3J0Ymw7XHJlZDI1NVxn
    cmVlbjI1NVxibHVlMjU1O30KXHBhcGVydzExOTAwXHBhcGVyaDE2ODQwXG1hcmdsMTQ0MFxtYXJn
    cjE0NDBcdmlld3c5MDAwXHZpZXdoODQwMFx2aWV3a2luZDAKXHBhcmRcdHg1NjZcdHgxMTMzXHR4
    MTcwMFx0eDIyNjdcdHgyODM0XHR4MzQwMVx0eDM5NjhcdHg0NTM1XHR4NTEwMlx0eDU2NjlcdHg2
    MjM2XHR4NjgwM1xxbFxxbmF0dXJhbFxwYXJkaXJuYXR1cmFsCgpcZjBcZnMyNCBcY2YwIG1hIGxl
    dHRyZSBkZSBtb3RpdmF0aW9ufQ==
     
     
    -------=3d6205f2771f86293584312e9ee40d02--
    C'est quoi ce <br/> qui traine, et double ; vers ligne 6 ?
    Réécrit bien ton header, et message, séparé.

  6. #6
    Membre à l'essai Avatar de AnatoleL
    Profil pro
    Inscrit en
    Octobre 2009
    Messages
    29
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Octobre 2009
    Messages : 29
    Points : 20
    Points
    20
    Par défaut
    C'est réglé !

    Le problème venait effectivement des sauts de ligne, il ne faut qu'un seul délimiteur+saut de ligne entre les deux pièces jointes:

    $message .= "--".$boundary."\n";

  7. #7
    Membre actif
    Profil pro
    Inscrit en
    Février 2009
    Messages
    149
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2009
    Messages : 149
    Points : 206
    Points
    206
    Par défaut
    Je pense qu'il y a des chances que ton message ne fonctionne pas partout malheureusement... également son alternative texte/html.

    Ta structure des boundary est éventuellement à revoir.

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

Discussions similaires

  1. [AC-2003] Envoi mail plusieurs pièces jointes
    Par vversaveau dans le forum VBA Access
    Réponses: 1
    Dernier message: 09/06/2010, 21h00
  2. [Mail] envoyer plusieurs pièces jointes à la fois
    Par hanafimohammed dans le forum Langage
    Réponses: 2
    Dernier message: 02/05/2007, 21h43
  3. Réponses: 1
    Dernier message: 22/01/2007, 09h08
  4. Réponses: 6
    Dernier message: 14/11/2006, 10h35
  5. Envoi d'un mail avec plusieurs pièces jointes
    Par Wilco dans le forum Composants VCL
    Réponses: 3
    Dernier message: 04/04/2006, 10h19

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