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

Bibliothèques et frameworks PHP Discussion :

[TCPDF] Impossible d'envoyer par mail


Sujet :

Bibliothèques et frameworks PHP

  1. #1
    Membre habitué
    Profil pro
    Inscrit en
    Juin 2005
    Messages
    329
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2005
    Messages : 329
    Points : 151
    Points
    151
    Par défaut [TCPDF] Impossible d'envoyer par mail
    Bonjour,

    J'essaie d'envoyer mon fichier généré par tcpdf par email mais apparemment tous les codes que j'ai essayé ne fonctionne pas..
    J'ai fais comme recommande la doc de tcpdf mais je reçois un mail vide.

    Mon code :
    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
     
    $fileatt = $pdf->Output('fichier.pdf', 'E');
     
    	$to = "cdt_conrad@yopmail.com";
     
        $from = "TEST ENVOI";
     
        $subject = "test de fichier pdf";
     
    	$headers = "From: $from";
     
    	$message = "texte du message du mail";
     
    	$data = chunk_split($fileatt);
     
        if(mail($to, $subject, $message, $headers)) {
     
        echo "Mail envoyé a ".$to;
     
        }else{
     
        echo "Erreur, impossible d'envoyer le mail.";
     
        }
    Merci pour votre aide.

    Cordialement.

  2. #2
    Expert confirmé
    Avatar de Thes32
    Homme Profil pro
    Développeur PHP, .Net, T-SQL
    Inscrit en
    Décembre 2006
    Messages
    2 379
    Détails du profil
    Informations personnelles :
    Sexe : Homme

    Informations professionnelles :
    Activité : Développeur PHP, .Net, T-SQL

    Informations forums :
    Inscription : Décembre 2006
    Messages : 2 379
    Points : 4 853
    Points
    4 853
    Par défaut
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    if(mail($to, $subject, $message, $headers))
    Mais où est $data ?!?
    Développeur | Zend Certified Engineer

    Étapes Pour mieux se servir du forum:
    1. Commencez par lire les cours et tutoriels ;
    2. Faites une recherche;
    3. Faites un post si rien trouvé dans les deux étapes précédentes en respectant les règles;

    Nix>_Rien n'est plus pratique que la théorie

  3. #3
    Membre habitué
    Profil pro
    Inscrit en
    Juin 2005
    Messages
    329
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2005
    Messages : 329
    Points : 151
    Points
    151
    Par défaut
    ici -> $data = chunk_split($fileatt);

    on crée $data depuis chunk_split($fileatt) non ?

  4. #4
    Expert confirmé
    Avatar de Thes32
    Homme Profil pro
    Développeur PHP, .Net, T-SQL
    Inscrit en
    Décembre 2006
    Messages
    2 379
    Détails du profil
    Informations personnelles :
    Sexe : Homme

    Informations professionnelles :
    Activité : Développeur PHP, .Net, T-SQL

    Informations forums :
    Inscription : Décembre 2006
    Messages : 2 379
    Points : 4 853
    Points
    4 853
    Par défaut
    Oui, mais où intervient elle dans le mail que tu envois ?
    Développeur | Zend Certified Engineer

    Étapes Pour mieux se servir du forum:
    1. Commencez par lire les cours et tutoriels ;
    2. Faites une recherche;
    3. Faites un post si rien trouvé dans les deux étapes précédentes en respectant les règles;

    Nix>_Rien n'est plus pratique que la théorie

  5. #5
    Membre habitué
    Profil pro
    Inscrit en
    Juin 2005
    Messages
    329
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2005
    Messages : 329
    Points : 151
    Points
    151
    Par défaut
    bon alors j'ai modifié le code comme ç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
    20
    21
    22
     
    	$fileatt = $pdf->Output('fichier.pdf', 'E');
     
    	$to = "cdt_conrad@yopmail.com";
     
            $from = "TEST ENVOI";
     
            $subject = "test de fichier pdf";
     
    	$headers = "From: $from";
     
    	$message = chunk_split($fileatt);
     
            if(mail($to, $subject, $message, $headers)) {
     
            echo "Mail envoyé a ".$to;
     
        }
    	else
    	{
        echo "Erreur, impossible d'envoyer le mail.";
        }
    Je récupere cela en réception du mail :


    Content-Type: application/pdf;
    name="fichier.pdf"
    Content-Transfer-Encodi
    ng: base64
    Content-Disposition: attachment;
    filename="fichier.pdf"

    JVB
    ERi0xLjcKJeLjz9MKNiAwIG9iago8PCAvVHlwZSAvUGFnZSAvUGFyZW50IDEgMCBSIC9MYXN0
    T
    W9kaWZpZWQgKEQ6MjAxNTA3MTAxODEzNTMrMDInMDAnKSAvUmVzb3VyY2VzIDIgMCBSIC9NZWRp

    YUJveCBbMC4wMDAwMDAgMC4wMDAwMDAgNTk1LjI3NjAwMCA4NDEuODkwMDAwXSAvQ3JvcEJveCB
    b
    MC4wMDAwMDAgMC4wMDAwMDAgNTk1LjI3NjAwMCA4NDEuODkwMDAwXSAvQmxlZWRCb3ggWzAuM

    etc...

    Je pense que ça doit être le pdf.. Mais illisible.

  6. #6
    Membre habitué
    Profil pro
    Inscrit en
    Juin 2005
    Messages
    329
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2005
    Messages : 329
    Points : 151
    Points
    151
    Par défaut
    Bonjour,

    Finalement à force de retourner le pb. et de recherche sur le net J'ai résolu mon soucis.

    Je met le code pour ceux qui en aurait besoin.

    Cordialement.

    PS: le code est à inséré dans le fichier php de TCPDF

    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
     
    // Parametre du mail
    $to = "le mail du destinataire";
    $from = "de qui ça vient"; 
    $subject = "le sujet"; 
    $message = "le message qui peut être au format html";
     
    // hash aléatoire pour envoi de contenu mixte
    $separator = md5(time());
     
    // retour chariot (la constante PHP End Of Line est utilisée)
    $eol = PHP_EOL;
     
    // nom du fichier attaché
    $filename = "test.pdf";
     
    // encode les données (met la pièce jointe au format approprié)
    $pdfdoc = $pdf->Output("", "S");
    $attachment = chunk_split(base64_encode($pdfdoc));
     
    // header principal
    $headers  = "From: ".$from.$eol;
    $headers .= "MIME-Version: 1.0".$eol; 
    $headers .= "Content-Type: multipart/mixed; boundary=\"".$separator."\"";
     
    //plus de header après cette ligne, ici commence le body
    $body = "--".$separator.$eol;
    $body .= "Content-Transfer-Encoding: 7bit".$eol.$eol;
    //$body .= "This is a MIME encoded message.".$eol;
     
    // message
    $body .= "--".$separator.$eol;
    $body .= "Content-Type: text/html; charset=\"iso-8859-1\"".$eol;
    $body .= "Content-Transfer-Encoding: 8bit".$eol.$eol;
    $body .= $message.$eol;
     
    // attachement
    $body .= "--".$separator.$eol;
    $body .= "Content-Type: application/octet-stream; name=\"".$filename."\"".$eol; 
    $body .= "Content-Transfer-Encoding: base64".$eol;
    $body .= "Content-Disposition: attachment".$eol.$eol;
    $body .= $attachment.$eol;
    $body .= "--".$separator."--";
     
    // Envoi le mail
     
    if (mail($to, $subject, $body, $headers))
    	{
        echo "Mail envoyé à ".$to;
    	}
    else 
    	{
        echo "Erreur ! Impossible d'envoyé le mail.";
    	}

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

Discussions similaires

  1. Krusader clic droit > envoyer par mail
    Par j_marc dans le forum Applications et environnements graphiques
    Réponses: 1
    Dernier message: 24/02/2006, 12h24
  2. Réponses: 1
    Dernier message: 04/12/2005, 18h02
  3. [Mail] Impossible d'envoyer un mail
    Par bugalood dans le forum Langage
    Réponses: 4
    Dernier message: 17/09/2005, 02h38
  4. etat a envoyer par mail
    Par alkmehd dans le forum Access
    Réponses: 2
    Dernier message: 13/09/2005, 15h56
  5. Envoyer par mail un document Rave Report
    Par Wilco dans le forum Bases de données
    Réponses: 3
    Dernier message: 10/10/2004, 10h55

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