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] envoi de mail : pièce jointe vide


Sujet :

Langage PHP

  1. #1
    Membre actif Avatar de renaudjuif
    Inscrit en
    Avril 2006
    Messages
    325
    Détails du profil
    Informations forums :
    Inscription : Avril 2006
    Messages : 325
    Points : 258
    Points
    258
    Par défaut [Mail] envoi de mail : pièce jointe vide
    Bonjour à tous,

    j'utilise libmail pour envoyer des docs pdf en pièce jointe
    Sur certains clients de messagerie (AOL, hotmail,...) la pièce jointe arrive vide (0ko)

    Je me tourne vers phpmailer, mais j'ai un autre pb :
    le pdf envoyé est généré à l'exécution du script et n'existe pas sur le serveur.
    Or avec phpmailer, il semble que le AddAttachment ne marche qu'avec un path (chemin du pdf) en paramètres.

    Avez vous une idée :
    1. pourquoi avec libmail le pdf arrive parfois vide...
    2. comment on peut envoyer avec phpmailer un pdf en passant en paramêtre le "buffer" qui contient la chaine du fichier et non pas son path?

    Merci pour vos éclaircissements.

  2. #2
    Expert confirmé
    Avatar de Sub0
    Homme Profil pro
    Développeur Web
    Inscrit en
    Décembre 2002
    Messages
    3 573
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 51

    Informations professionnelles :
    Activité : Développeur Web

    Informations forums :
    Inscription : Décembre 2002
    Messages : 3 573
    Points : 4 219
    Points
    4 219
    Par défaut
    Salut.

    Regarde dans ce sujet si tu trouves une solution :
    http://www.developpez.net/forums/sho...d.php?t=591345

  3. #3
    Membre actif Avatar de renaudjuif
    Inscrit en
    Avril 2006
    Messages
    325
    Détails du profil
    Informations forums :
    Inscription : Avril 2006
    Messages : 325
    Points : 258
    Points
    258
    Par défaut
    Cette solution passe par un upload de fichier.
    Il semblerait que je sois obligé de créer mon fichier sur le serveur, peut-être avec tmpfile().
    C'est ça ?

  4. #4
    Expert confirmé
    Avatar de Sub0
    Homme Profil pro
    Développeur Web
    Inscrit en
    Décembre 2002
    Messages
    3 573
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 51

    Informations professionnelles :
    Activité : Développeur Web

    Informations forums :
    Inscription : Décembre 2002
    Messages : 3 573
    Points : 4 219
    Points
    4 219
    Par défaut
    non, si ton fichier est déjà sur le serveur, c'est plus simple :
    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
    <?php
      require_once('class.phpmailer.php'); 
     
      $fichier='piece.pdf';
      $destinataire='destinataire@serveur.com';
      $expediteur='expediteur@server.com';
      $sujet='Objet du mail';
      $message='Le message html dans le corps du mail';
     
      $mail = new PHPmailer();
      $mail->IsHTML(true);
      $mail->FromName='';
      $mail->From=$expediteur;  
      $mail->AddReplyTo($expediteur);
      $mail->AddAddress($destinataire);    
      $mail->Subject=$sujet;
      $mail->Body=htmlentities($message);
      $mail->AddAttachment($fichier);
     
      if($mail->Send())
        echo 'Mail envoyé avec succès.'; else
        echo $mail->ErrorInfo;
     
      unset($mail);  
    ?>
    Tu trouveras aussi ces infos dans ce sujet.

  5. #5
    Membre actif Avatar de renaudjuif
    Inscrit en
    Avril 2006
    Messages
    325
    Détails du profil
    Informations forums :
    Inscription : Avril 2006
    Messages : 325
    Points : 258
    Points
    258
    Par défaut
    Ca marche très bien, mais mon fichier n'est pas sur le serveur car je le génère (fpdf) et le garde dans 1 variable php.

    Donc je le crée sur le serveur en passant par tempnam() et je l'attache, et je fais un unlink() à la fin.

    Donc voilà, merci tout marche bien maintenant.

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

Discussions similaires

  1. [PHP 4] PHP Mail() + envoi pièce jointe VIDE
    Par Thanor dans le forum Langage
    Réponses: 1
    Dernier message: 19/04/2012, 11h36
  2. Envoi de mail sous Unix avec pièce jointe et texte
    Par guicecal dans le forum Unix
    Réponses: 0
    Dernier message: 23/02/2010, 15h25
  3. Préparation d'envoi de mail sous Outlook avec pièce jointe
    Par Ivynox dans le forum Windows Forms
    Réponses: 1
    Dernier message: 22/04/2008, 12h08
  4. [javamail] envoi mail avec message en pièce jointe
    Par k4eve dans le forum API standards et tierces
    Réponses: 5
    Dernier message: 16/11/2007, 12h17
  5. Envoi d'un mail avec fichier en pièce jointe
    Par cjacquel dans le forum MFC
    Réponses: 1
    Dernier message: 14/06/2005, 17h30

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