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 :

echec d'envoi de mail avec piece jointe


Sujet :

Langage PHP

  1. #1
    Membre habitué Avatar de thaundeadboss
    Homme Profil pro
    Développeur COBOL & JAVA
    Inscrit en
    Février 2007
    Messages
    211
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 36
    Localisation : Maroc

    Informations professionnelles :
    Activité : Développeur COBOL & JAVA
    Secteur : Finance

    Informations forums :
    Inscription : Février 2007
    Messages : 211
    Points : 199
    Points
    199
    Par défaut echec d'envoi de mail avec piece jointe
    salut à tous et à toutes.
    dans un formulaire d'envoi de mail je recupere un fichier depuis un serveur ftp dont le nom est envoye comme parametre apres submit du formulaire.
    le probleme c'est que je recois rien et si je recois quelque chose le fichier joint est corrompu et illisible.

    voici mon code source
    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
    clearstatcache();
    session_start();
    include("DoConn.php");
     
    function mail_attachement($to , $sujet , $message,$FILE,$reply , $from){ 
    $limite = "_parties_".md5(uniqid (rand())); 
     
    $headers = 'MIME-Version: 1.0' . "\n"; // Version MIME
    $headers .= 'From: '.$from.''."\n"; // Expediteur
    $headers .= 'Reply-To: '.$from."\n"; // Mail de reponse
    $headers .= 'Delivered-to: '.$to."\n"; // Destinataire
    $headers .= "Date: ".date("l j F Y, G:i")."\n"; 
    $headers .= "MIME-Version: 1.0\n"; 
    $headers .= "Content-Type: multipart/mixed;\n"; 
    $headers .= " boundary=\"----=$limite\"\n\n"; 
     
    //Le message en texte simple pour les navigateurs qui n'acceptent pas le HTML 
    $texte = "This is a multi-part message in MIME format.\n"; 
    $texte .= "Ceci est un message est au format MIME.\n"; 
    $texte .= "------=$limite\n"; 
    $texte .= "Content-Type: text/plain; charset=\"iso-8859-1\"\n"; 
    $texte .= "Content-Transfer-Encoding: 7bit\n\n";
    $texte .= $message; 
    $texte .= "\n\n";
     
    //le fichier 
    $attachement = "------=$limite\n"; 
    $attachement .= "Content-Type: application/octet-stream; name=".basename($fichier)."\n"; 
    $attachement .= "Content-Transfer-Encoding: base64\n"; 
    $attachement .= "Content-Disposition: attachment; filename=".basename($fichier)."\n\n"; 
    //Ici je recupere le fichier du serveur ftp avec un ftp_get 
    $conn_id=DoConn();
    $login = @ftp_login($conn_id, "ged", "123456");
    $local="../mail/".basename($FILE);
    @ftp_get($conn_id,$local,$FILE, FTP_ASCII);
    echo"$local<br/>";
    $fd = fopen( $local, "r" ); 
    echofilesize($local)."<br/>";
    $contenu = fread( $fd, filesize( $local ) ); 
    fclose( $fd ); 
    $attachement .= chunk_split(base64_encode($contenu)); 
    $attachement .= "\n\n\n------=$limite\n"; 
    returnmail($to, $sujet, $texte.$attachement,$headers); 
    }
     
    $expediteur=$_SESSION['mail'];
    echo"||$expediteur||";
    $destinataire = $_GET['desti'];
    echo"//$destinataire//";
    $path=$_GET['attach_pt'];
    $file=$_GET['attach_fl'];
    $sujet = $_GET['obj'];
    $message_txt = $_GET['body_msg'];
    $File=$path."/".$file;
    echo"------------------------$fichier------------------------";
    if(mail_attachement($destinataire , $sujet , $message_txt , $fichier ,$File,$expediteur ,$expediteur)){
    echo'votre mail est bien envoyé';
    }else {
    echo'Votre mail n\'est pas envoyé';
    }
    s'il ya quelqu'un qui pourrait m'aider je lui serait reconnaissant
    Celui qui n'est pas occupé à naitre, est occupé à mourir (Chapeau Bas Bob Dylan)

  2. #2
    Membre chevronné Avatar de nosferapti
    Profil pro
    Inscrit en
    Avril 2009
    Messages
    1 157
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2009
    Messages : 1 157
    Points : 1 895
    Points
    1 895
    Par défaut
    essaye d'envoyer la pièce jointe avec PHPMailer :
    http://jcrozier.developpez.com/tutor...eloppeurs/#LIV
    GNAP !

  3. #3
    Membre habitué Avatar de thaundeadboss
    Homme Profil pro
    Développeur COBOL & JAVA
    Inscrit en
    Février 2007
    Messages
    211
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 36
    Localisation : Maroc

    Informations professionnelles :
    Activité : Développeur COBOL & JAVA
    Secteur : Finance

    Informations forums :
    Inscription : Février 2007
    Messages : 211
    Points : 199
    Points
    199
    Par défaut
    c'est exactement ce que je suis entrain d'essayer voici mon code source
    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
    <?php
    $expediteur=$_SESSION['mail'];
    //echo "||$expediteur||";
    $destinataire = $_GET['desti'];
    //echo "//$destinataire//";
    $path=$_GET['attach_pt'];
    $file=$_GET['attach_fl'];
    $sujet = $_GET['obj'];
    $message_txt = $_GET['body_msg'];
    //$fichier="ftp://ged:123456@10.64.5.78$path/$file";
    $File=$path."/".$file;
    //<==============>
    include ('DoConn.php');
    $conn_id=DoConn();
    $login = @ftp_login($conn_id, "ged", "123456");
    $local="../mail/".basename($FILE);
    if(@ftp_get($conn_id,$local,$FILE, FTP_BINARY)){
    echo$local;
    echo"<br/>////////////////done";
    }elseecho"rien";
    //<==============>
    require"../libs/class.phpmailer.php";
    $mail = new PHPmailer();
    $mail->IsSMTP();
    $mail->IsHTML(false);
    $mail->Host='10.2.5.40';
    $mail->From=$expediteur;
    $mail->AddAddress($destinataire);
    $mail->AddReplyTo($expediteur); 
    $mail->Subject=$sujet;
    $mail->Body=$message_txt;
    $mail->AddAttachment($local);
     
     
    if(!$mail->Send()){
    echo$mail->ErrorInfo; 
    }
    else{ 
    echo'Mail envoyé avec succès';
    }
    $mail->SmtpClose();
    unset($mail);
    ?>
    
    et il me sort l'erreur suivante
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    Language string failed to load: file_access../mail/
    je crois que l'appli ne telecharge pas le fichier depuis le serveur ftp
    Celui qui n'est pas occupé à naitre, est occupé à mourir (Chapeau Bas Bob Dylan)

  4. #4
    Membre habitué Avatar de thaundeadboss
    Homme Profil pro
    Développeur COBOL & JAVA
    Inscrit en
    Février 2007
    Messages
    211
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 36
    Localisation : Maroc

    Informations professionnelles :
    Activité : Développeur COBOL & JAVA
    Secteur : Finance

    Informations forums :
    Inscription : Février 2007
    Messages : 211
    Points : 199
    Points
    199
    Par défaut
    j'arrive à enfin envoyer un mail
    mais dans outlook j'ai plein de message et sans la piece jointe s'il ya quelque chose que je dois modifier quelque part.
    et merci d'avance
    Images attachées Images attachées  
    Celui qui n'est pas occupé à naitre, est occupé à mourir (Chapeau Bas Bob Dylan)

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

Discussions similaires

  1. Envois e-mail avec pieces jointe
    Par mp59100 dans le forum EDI, CMS, Outils, Scripts et API
    Réponses: 13
    Dernier message: 08/04/2009, 13h38
  2. Réponses: 4
    Dernier message: 02/08/2006, 10h38
  3. [oracle 9] Envoi de mail avec piece jointe
    Par tipote69 dans le forum Oracle
    Réponses: 2
    Dernier message: 01/03/2006, 15h01
  4. probleme d'envoi de mail avec pieces jointes
    Par tmryuga dans le forum ASP
    Réponses: 9
    Dernier message: 23/02/2006, 14h56
  5. Réponses: 5
    Dernier message: 12/12/2005, 08h52

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