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 pièce attachée


Sujet :

Langage PHP

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Expert confirmé
    Avatar de laurentSc
    Homme Profil pro
    Webmaster débutant perpétuel !
    Inscrit en
    Octobre 2006
    Messages
    10 470
    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 470
    Points : 5 830
    Points
    5 830
    Billets dans le blog
    1
    Par défaut mail pièce attachée
    Bonsoir,

    voici un code de mail avec pièce attachée qui marche bien pour la plupart des fichiers mais par pour tous (avec l'exemple que j'ai, il envoit bien le mail, mais le fichier que je reçois n'est pas bon (c'est une image, ce qu'il reconnaît bien, mais il m'affiche une croix rouge si je veux visualiser celle-ci ; pourquoi ?)

    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
    $nom=$_POST['nom'];
    $prenom=$_POST['prenom'];
    $msg="test";
    	//-----------------------------------------------
    	//DECLARE LES VARIABLES
    	//-----------------------------------------------
    	$email_expediteur="---";
    	$email_reply="---";
    	$destinataire="---";
     
    	$frontiere = '-----=' . md5(uniqid(mt_rand()));
     
    	//-----------------------------------------------
    	//HEADERS DU MAIL
    	//-----------------------------------------------
     
    	$headers = 'From: "'.$nom." ".$prenom.'" <'.$email_expediteur.'>'."\n";
    	$headers.= 'Return-Path: <'.$email_reply.'>'."\n";
    	$headers.= 'MIME-Version: 1.0'."\n";
    	$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
    	//-----------------------------------------------
     
    	if (isset($_FILES['piece']['name'])) {
     
    	$adr_piece=$_FILES['piece']['name'];
     
    	$base1=basename($adr_piece);
     
    	$mime=$_FILES['piece']['type'];
     
    	$message.='--'.$frontiere."\n";
    	$message.= 'Content-Type: '.$mime.'; name='.$base1."\n";
    	$message.= 'Content-Transfer-Encoding: base64'."\n";
    	$message.= 'Content-Disposition:attachement; filename='.$base1."\n\n";
    	$message.= chunk_split(base64_encode(file_get_contents($adr_piece)))."\n";
     
    	}
     
     
     echo "envoi mail; dest=".$destinataire."<br>";
    	if(mail($destinataire,$sujet,$message,$headers)){
           echo "mail envoye";
    }

  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
    Est-ce que le type mime est bien reconnu ?

  3. #3
    Expert confirmé
    Avatar de laurentSc
    Homme Profil pro
    Webmaster débutant perpétuel !
    Inscrit en
    Octobre 2006
    Messages
    10 470
    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 470
    Points : 5 830
    Points
    5 830
    Billets dans le blog
    1
    Par défaut
    Oui ; mon exemple est un fichier image et il le prend bien pour une image ; pour en avoir le coeur net, j'ai rajouté un echo :
    image/gif

  4. #4
    Membre actif
    Homme Profil pro
    Développeur Web
    Inscrit en
    Mai 2012
    Messages
    131
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Maroc

    Informations professionnelles :
    Activité : Développeur Web

    Informations forums :
    Inscription : Mai 2012
    Messages : 131
    Points : 242
    Points
    242
    Par défaut
    Salut,

    Je pense que tu dois d'abord placer ton fichier piece jointe qlq part avec move_uploaded_file

  5. #5
    Expert confirmé
    Avatar de laurentSc
    Homme Profil pro
    Webmaster débutant perpétuel !
    Inscrit en
    Octobre 2006
    Messages
    10 470
    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 470
    Points : 5 830
    Points
    5 830
    Billets dans le blog
    1
    Par défaut
    J'ai fait ça :
    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
     
    	if (isset($_FILES['piece']['name'])) {
    	$uploads_dir = '/';
        move_uploaded_file($_FILES['piece']['tmpname'], $uploads_dir/$_FILES['piece']['name']);
     
    	$adr_piece=$uploads_dir/$_FILES['piece']['name'];
     
    	$base1=basename($adr_piece);
     
    	$mime=$_FILES['piece']['type'];
     
    	$message.='--'.$frontiere."\n";
    	$message.= 'Content-Type: '.$mime.'; name='.$base1."\n";
    	$message.= 'Content-Transfer-Encoding: base64'."\n";
    	$message.= 'Content-Disposition:attachement; filename='.$base1."\n\n";
    	$message.= chunk_split(base64_encode(file_get_contents($adr_piece)))."\n";
     
    	}
    ...
    Mais toujours rien...

  6. #6
    Membre du Club
    Inscrit en
    Février 2005
    Messages
    47
    Détails du profil
    Informations forums :
    Inscription : Février 2005
    Messages : 47
    Points : 52
    Points
    52
    Par défaut Zend_Mail
    Tu peux utiliser le composant Zend_Mail pour une utilisation plus intuitive.

    http://framework.zend.com/manual/1.12/fr/zend.mail.html

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

Discussions similaires

  1. envoi de mail avec pièce attachée
    Par laurentSc dans le forum Langage
    Réponses: 16
    Dernier message: 17/10/2010, 22h14
  2. Ouvrir un client mail et attacher une pièce jointe
    Par PerpetualSnow dans le forum Framework .NET
    Réponses: 3
    Dernier message: 28/10/2009, 17h33
  3. Pièce attachée à un mail
    Par elsuket dans le forum MS SQL Server
    Réponses: 7
    Dernier message: 19/10/2007, 12h05
  4. Envoi mail sans pièce attachée
    Par Sami Xite dans le forum Access
    Réponses: 5
    Dernier message: 05/09/2006, 09h36
  5. Envoi de mail avec pièce attachée par SMTP
    Par yess78 dans le forum IIS
    Réponses: 4
    Dernier message: 09/12/2005, 13h33

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