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 :

Envoi de mail avec piece jointe


Sujet :

Langage PHP

  1. #1
    Candidat au Club
    Femme Profil pro
    Développeur Web
    Inscrit en
    Avril 2016
    Messages
    7
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : France, Rhône (Rhône Alpes)

    Informations professionnelles :
    Activité : Développeur Web
    Secteur : High Tech - Opérateur de télécommunications

    Informations forums :
    Inscription : Avril 2016
    Messages : 7
    Points : 4
    Points
    4
    Par défaut Envoi de mail avec piece jointe
    Bonjour à tous,
    je tente désespérément de créer un script d'automatisation d'envoie de mail avec piece jointe en csv.
    Probleme: mon bout de code fonctionne pour gmail mais uniquement pour gmail.
    Hotmail et la messagerie de ma boite (gerer par exchange) recoivent bien mon mail , la piece jointe en csv est envoyée mais elle est vide et un fichier txt est aussi envoyé son nom est AT00001.txt il est vide aussi et ne correspond a rien
    Bref tout ça est très mysterieux pour moi et j'ai grand besoin de votre aide
    Merci a vous tous vous êtes mon seul espoir

    Le bout de 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
    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
    <?php
    // To
    $to = $mail_courant;
     
    // Subject
    $subject = 'Test Mail';
     
    // clé aléatoire de limite
    $boundary = md5(uniqid(microtime(), TRUE));
     
    // Headers
    $headers = 'From: moi <maguy286@gmail.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";
     
    // Texte
    $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";
     
    // Pièce jointe
    $file_name = 'Rapports/veolia/statTest2016-04-01_2016-04-30.csv';
    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";
    }
     
    // Fin
    $msg .= '--'.$boundary."\r\n";
     
    // Function mail()
    mail($to, $subject, $msg, $headers);
    ?>

  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
    Si tu veux moins t'embêter pour la construction des mails, utilise PHPMailer.
    N'oubliez pas de consulter les FAQ PHP et les cours et tutoriels PHP

  3. #3
    Candidat au Club
    Femme Profil pro
    Développeur Web
    Inscrit en
    Avril 2016
    Messages
    7
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : France, Rhône (Rhône Alpes)

    Informations professionnelles :
    Activité : Développeur Web
    Secteur : High Tech - Opérateur de télécommunications

    Informations forums :
    Inscription : Avril 2016
    Messages : 7
    Points : 4
    Points
    4
    Par défaut
    Merci Sabotage, Effectivement avec PHPMailer tout fonctionne. Bon je saurai pas pourquoi l'autre ne marchait pas mais l'affaire est réglée
    Je continue a faire une serie de test avec de mettre mon sujet en résolu
    merci beaucoup

  4. #4
    Membre régulier
    Homme Profil pro
    Étudiant
    Inscrit en
    Janvier 2015
    Messages
    84
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 29
    Localisation : France, Nord (Nord Pas de Calais)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Janvier 2015
    Messages : 84
    Points : 83
    Points
    83
    Par défaut
    PHPMailler est effectivement une bonne solution dès que l'on veut envoyer des mail, sinon pour ton problème, je pense qu'il peut venir du \r\n que certaines boites mail prennent en charge et où l'écriture devient juste \n.

    tu peux utiliser PHP_EOL pour résoudre ce genre de problème
    Sans pomme nous n'aurions jamais découvert la gravité... Sans tête Non plus.

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