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 :

Réception de "ATT00001.txt" au lieu d'un PDF avec la fonction "mail"


Sujet :

Langage PHP

  1. #1
    Futur Membre du Club
    Homme Profil pro
    Développeur Web
    Inscrit en
    Août 2017
    Messages
    4
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 26
    Localisation : France, Nord (Nord Pas de Calais)

    Informations professionnelles :
    Activité : Développeur Web
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Août 2017
    Messages : 4
    Points : 6
    Points
    6
    Par défaut Réception de "ATT00001.txt" au lieu d'un PDF avec la fonction "mail"
    Bonjour,

    J'aimerai envoyer un mail avec une pièce jointe, j'ai trouvé un tutoriel pour envoyer un JPG et j'ai essayé de la modifier pour qu'il envoie un PDF, quelque soit la pièce jointe que j'envoie (JPG ou PDF), la pièce joite que je reçoit est "ATT00001.txt"

    Voici mon programme :

    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
     
    <?php
    // To
    $to = 'mail@test.com';
     
    // Subject
    $subject = 'Test pdf';
     
    // random boundary
    $boundary = md5(uniqid(microtime(), TRUE));
     
    // Headers
    $headers = 'From: Test <mail@test.com>'."\r\n";
    $headers .= 'Mime-Version: 1.0'."\r\n";
    $headers .= 'Content-Type: multipart/mixed;boundary='.$boundary."\r\n";
    $headers .= "\r\n";
     
    // Message
    $msg = 'This is a multipart/mixed message.'."\r\n\r\n";
     
    // Text
    $msg .= '--'.$boundary."\r\n";
    $msg .= 'Content-type:text/plain;charset=utf-8'."\r\n";
    $msg .= 'Content-transfer-encoding:8bit'."\r\n";
    $msg .= 'Un message avec une pièce jointe.'."\r\n";
     
    // Attachement
    $file_name = 'test.pdf';
    if (file_exists($file_name))
    {
        $file_type = filetype($file_name);
        $file_size = filesize($file_name);
     
        $handle = fopen($file_name, 'r') or die('File '.$file_name.'can t be open');
        $content = fread($handle, $file_size);
        $content = chunk_split(base64_encode($content));
        $f = fclose($handle);
     
        $msg .= '--'.$boundary."\r\n";
        $msg .= 'Content-type:'.$file_type.';name='.$file_name."\r\n";
        $msg .= 'Content-transfer-encoding:base64'."\r\n";
        $msg .= $content."\r\n";
    }
     
    // End
    $msg .= '--'.$boundary."\r\n";
     
    // Function mail()
    mail($to, $subject, $msg, $headers);
    echo "test pdf";
    ?>
    J'espère que vous pourrez m'aider

    Meilleurs regards ☻♥

  2. #2
    Membre confirmé Avatar de Inazo
    Profil pro
    Gérant - société de développement web
    Inscrit en
    Avril 2007
    Messages
    417
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations professionnelles :
    Activité : Gérant - société de développement web
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Avril 2007
    Messages : 417
    Points : 632
    Points
    632
    Par défaut
    Bonjour,

    En fait tu n'utilises pas la bonne fonction pour définir le type de fichier. Regarde ce que fait filetype(), elle va te retourner si c'est un fichier ou un dossier.

    Toit tu as besoin de savoir si c'est un fichier text, un pdf etc. Tu devrais donc plutôt utiliser la fonction mime_content_type()

    @+

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

Discussions similaires

  1. Formulaires : problème avec les slashes et les quotes
    Par GarGamel55 dans le forum Langage
    Réponses: 1
    Dernier message: 12/10/2005, 16h59

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