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

EDI, CMS, Outils, Scripts et API PHP Discussion :

Mail & Pièces jointes en php


Sujet :

EDI, CMS, Outils, Scripts et API PHP

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Nouveau candidat au Club
    Homme Profil pro
    Inscrit en
    Novembre 2005
    Messages
    1
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations forums :
    Inscription : Novembre 2005
    Messages : 1
    Par défaut Mail & Pièces jointes en php
    Bonjour,
    Après avoir lu et relu les différents post sur ce sujet j'ai écrit le script qui suit. Celui-ci fonctionne, je reçois bien un mail mais pas de message dans le corps du message et les pièces jointes sont illisibles...

    L'idée est d'envoyé un message en txt ou html + une pièce jointe en txt.

    si quelqu'un peut jeter un oeil..

    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
    	//----------------------------------------------------------------------------------------
    	//	Envoi d'un mail de résultat d'intégration dans la base
    	//----------------------------------------------------------------------------------------
    	//DECLARE LES VARIABLES
    	//----------------------------------------------------------------------------------------
    	$destinataire='logs@xxxxxxxx';
    	$email_expediteur='logs@xxxxxxxxxx'; 
    	$email_reply='logs@xxxxxxxxxx'; 
    	//----------------------------------------------- 
    	//GENERE LA FRONTIERE DU MAIL ENTRE TEXTE ET HTML 
    	//----------------------------------------------- 
    	$frontiere = "-----=".md5(rand());
    	//
    	//	Corps du message
    	//
    	$message_corps='Bonjour,'."\r\n";
    	$message_corps.='Voici le compte-rendu du chargement'."\r\n";
    	$message_corps.=$aecdate."-Nombre de Fichier(s) traité(s) = ".$j."\r\n";
    	$message_corps.=$aecdate."-Nombre d\'erreurs  !-".$aecerr."\r\n";
    	$message_corps.=$aecdate."-Nombre de Select  !-".$aecselok."\r\n"; 
    	$message_corps.=$aecdate."-Nombre de Insert  !-".$aecinsok."\r\n"; 
    	$message_corps.=$aecdate."-Nombre de Update  !-".$aecupdok."\r\n"; 
    	$message_corps.='--'.$frontiere."\r\n";
     
    	//------------------------------------------------
    	// Conteni du Message au Format TEXTE
    	//------------------------------------------------
    	$message_txt="\r\n";
    	$message_txt.='--'.$frontiere."\r\n";
    	$message_txt.='Content-type: text/plain; charset="ISO-8859-1'."\r\n";
    	$message_txt.='Content-Transfer-Encoding: 8bit'."\r\n";
    	$message_txt.='Compte Rendu de chargement des Paniers dans la boutique AEC'."\r\n";
    	$message_txt.='Voici le résultat: '."\r\n"; 
    	$message_txt.=$message_corps."\r\n";		
    	//------------------------------------------------
    	// Conteni du Message au Format HTML
    	//------------------------------------------------
    	$message_html="\r\n";
    	$message_html.='--'.$frontiere."\r\n";
    	$message_html.='Content-type: text/html; charset="ISO-8859-1'."\r\n";
    	$message_html.='Content-Transfer-Encoding: 8bit'."\r\n";
    	$message_html.='<html><head><title>Compte Rendu de chargement des Paniers dans la boutique AEC</title></head> 
    	<body>Voici le résultat: </body>'; 
    	$message_html.=$message_corps.'</html>';	
     
    	//------------------------------------------------
    	//	Définition du Sujet
    	//------------------------------------------------
    	$sujet='aec_boutique - Compte rendu de chargement des Paniers';
    	//----------------------------------------------- 
    	//HEADERS DU MAIL 
    	//----------------------------------------------- 
    	$headers= 'From: "loadpaniers-AEC Boutique" <'.$email_expediteur.'>'."\r\n"; 
    	$headers.= 'Reply-To: <'.$email_reply.'>'."\r\n"; 
    	$headers.= 'MIME-Version: 1.0'."\r\n"; 
    	$headers.= 'Content-Type: multipart/alternative; ';
    	$headers.= 'boundary='.$frontiere."\r\n";
    	$headers.= 'Content-transfer-encoding: 8BIT'."\r\n";
    	$headers.= 'X-attachments: '.$aecfichierlog."\r\n"; 
    	//
    	//=====Création du message.
    	//
    	$message='';
    	$message.=$message_txt."\r\n".$message_html."\r\n";
     
     
     
    	//----------------------------------------------- 
    	//PIECE JOINTE 
    	//----------------------------------------------- 
    	// Pièce jointe 1
    	$file_name = $aecfichierlog;
    		if (file_exists($file_name))
    	{
    		$file_type = filetype($file_name);
    		$file_size = filesize($file_name);
    		echo "$file_type"."\r\n"."$file_size"."\r\n";
    		$handle = fopen($file_name, 'r') or die('File '.$file_name.'can t be open');
    		$content = fread($handle, $file_size);
    		$coded_content = chunk_split(base64_encode($content));
    		$f = fclose($handle);
     
    		$message.= '--'.$frontiere."\r\n";
    		$message.= 'Content-type: text/plain; name='.$file_name."\r\n";
    		$message.= 'Content-Length: '.$file_size."\r\n";
    		$message.= 'Content-transfer-encoding:base64'."\r\n";
    		$message.= 'Content-disposition: attachment; filename='.$file_name."\r\n";
    		$message.= $coded_content."\r\n";
    		$message.= '--'.$frontiere."\r\n";
    	}
     
    	//----------------------------------------------- 
    	//Fin du Message 
    	//----------------------------------------------- 
     
    	if (mail($destinataire,$sujet,$message,$headers)) 
    	{ 
    	     echo 'Le mail a été envoyé avec succès'."\n"; 
    	} 
    	else 
    	{ 
    	     echo 'Le mail n\'a pu \être envoyé'."\n"; 
    	}	
    	echo "    // C'est fini. On ferme !"."\n";
    ?>

  2. #2
    Expert confirmé

    Profil pro
    Inscrit en
    Septembre 2010
    Messages
    7 920
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2010
    Messages : 7 920
    Par défaut
    utilise une lib comme SwiftMailer par exemple

  3. #3
    Membre éclairé
    Homme Profil pro
    Coordinateur développement web
    Inscrit en
    Août 2004
    Messages
    475
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 42
    Localisation : France

    Informations professionnelles :
    Activité : Coordinateur développement web
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Août 2004
    Messages : 475
    Par défaut
    +1, tu as également phpmailer mais à chosiir entre les deux, je préfère SwiftMailer

    @+

Discussions similaires

  1. Mail avec Pièces jointes et PHP
    Par Elcocco dans le forum Bibliothèques et frameworks
    Réponses: 3
    Dernier message: 31/03/2014, 13h53
  2. [PHP 5.0] PHP Mail() + envoi pièce jointe, Content-Type
    Par Thanor dans le forum Langage
    Réponses: 5
    Dernier message: 17/09/2013, 09h51
  3. Flex - PHP - Envoyer un mail avec pièce jointe
    Par matoma16 dans le forum Flex
    Réponses: 0
    Dernier message: 29/05/2013, 13h19
  4. [PHP 4] PHP Mail() + envoi pièce jointe VIDE
    Par Thanor dans le forum Langage
    Réponses: 1
    Dernier message: 19/04/2012, 10h36
  5. [Mail] Cherche script PHP mail avec pièce jointe
    Par malabarbe dans le forum Langage
    Réponses: 8
    Dernier message: 17/06/2008, 12h02

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