Forum de FilmDeCulte

Le forum cinéma le plus méchant du net...
Nous sommes le 18 Avr 2024, 14:06

Heures au format UTC + 1 heure




Poster un nouveau sujet Répondre au sujet  [ 5 messages ] 
Auteur Message
MessagePosté: 13 Sep 2005, 12:32 
Hors ligne
Sacré trou du cul
Avatar de l’utilisateur

Inscription: 19 Juin 2005, 22:59
Messages: 11249
Ca fait 6 mois que je me prends la tête là-dessus, alors comme y'a des têtes ici, j'vais peut-être trouvé ma soluce. Je veux envoyer un mail avec une pièce jointe tous les jours à 2h du mat'. Donc j'ai fait un script en PHP :

Code:
<?php
$boundary = "-----=".md5(uniqid(rand()));
$header = "MIME-Version: 1.0\r\n";
$header .= "Content-Type: multipart/mixed; boundary=\"$boundary\"\r\n";
$header .= "\r\n";
$msg = "Ceci est un message au format MIME 1.0 multipart/mixed.\r\n";
$msg .= "--$boundary\r\n";
$msg .= "Content-Type: text/plain; charset=\"iso-8859-1\"\r\n";
$msg .= "Content-Transfer-Encoding:8bit\r\n";
$msg .= "\r\n";
$date = date("d/m/Y");
$msg .= "Sauvegarde du $date \r\n";
$msg .= "\r\n";
$file = "fichier.gz";
$fp = fopen($file, "rb");
$attachment = fread($fp, filesize($file));
fclose($fp);
$attachment = chunk_split(base64_encode($attachment));
$msg .= "--$boundary\r\n";
$msg .= "Content-Type: application/x-gzip; name=\"$file\"\r\n";
$msg .= "Content-Transfer-Encoding: base64\r\n";
$msg .= "Content-Disposition: inline; filename=\"$file\"\r\n";
$msg .= "\r\n";
$msg .= $attachment . "\r\n";
$msg .= "\r\n\r\n";
$msg .= "--$boundary--\r\n";
$destinataire = "destinataire@gmail.com";
$expediteur   = "expediteur@gmail.com";
$reponse      = $expediteur;
mail($destinataire, "Sauvegarde de la base de données du $date", $msg,
     "Reply-to: $reponse\r\nFrom: $expediteur\r\n".$header);
?>


Jusque là rien de compliquer et tout fonctionne, le script envoie bien le mail avec la pièce jointe et le fichier n'est pas corrompu... Maintenant le même script lancé par une tâche Cron envoie bien le mail mais par contre la pièce jointe est vide (0 octets). Alors je me suis dit que ça venait du temps max d'exécution d'apache, donc j'ai décidé de lancer le script en shell pour outrepasser cette limite, donc j'ai rajouté au début du fichier :

Code:
#!/usr/local/bin/php -q


Mais ça ne fait rien j'ai toujours le problème. Alors je me suis dit on va carrément pas passer par PHP j'ai donc fait plusieurs tests :

Code:
mail -s "sauvegarde" destinataire@gmail.com < fichier.gz 
cat fichier.gz | mail -s "sauvegarde" destinataire@gmail.com 
uuencode fichier.gz | mail -s "sauvegarde" destinataire@gmail.com 


Le premier lit le fichier et l'inclut à l'intérieur du mail donc pas en pièce jointe, le deuxième le fichier n'est pas encodé donc pas joignable et le troisième le serveur n'a pas la fonction uuencode et je ne veux pas l'installer car un peu dépassée (et que ça m'énerve de passer par une solution tierce alors que je suis sûr qu'on peut faire autrement). Je ne veux pas non plus utiliser Mutt ou autre... Donc si quelqu'un a une soluce à me proposer ou peut m'expliquer où j'ai merdé, je veux bien, à mon avis d'ailleurs c'est une connerie car logiquement le premier script doit fonctionner.

_________________
Delirium Tremens


Haut
 Profil  
 
 Sujet du message:
MessagePosté: 14 Sep 2005, 00:10 
Hors ligne
Connaisseur
Avatar de l’utilisateur

Inscription: 04 Juil 2005, 16:26
Messages: 162
t'as essayé de faire ton fclose($fp) en toute fin de script ? C'est pas totalement impossible que $attachement soit lié dynamiquement au fichier et que, une foiscelui ci sorti de la mémoire, il contienne des trucs à la con...
Sinon ptet que cest les messages que tu rajoute après ton attachement qui ne correspondent pas à la norme UNICODE du style '\' est un parametre d'échappement donc bon...
Mais bon, je fais juste une analyse globale de programmeux parce que je connais pas le langage que t'utilises.

_________________
"I'm so cool you could keep a side of meat in me for a month! I'm so hip I have trouble seeing over my pelvis!"


Haut
 Profil  
 
 Sujet du message:
MessagePosté: 14 Sep 2005, 09:06 
Hors ligne
Sacré trou du cul
Avatar de l’utilisateur

Inscription: 19 Juin 2005, 22:59
Messages: 11249
vimes a écrit:
t'as essayé de faire ton fclose($fp) en toute fin de script ? C'est pas totalement impossible que $attachement soit lié dynamiquement au fichier et que, une foiscelui ci sorti de la mémoire, il contienne des trucs à la con...
Sinon ptet que cest les messages que tu rajoute après ton attachement qui ne correspondent pas à la norme UNICODE du style '\' est un parametre d'échappement donc bon...
Mais bon, je fais juste une analyse globale de programmeux parce que je connais pas le langage que t'utilises.


En fait le code en php que je donne fonctionne parfaitement, mais si il est lancé par une tâche cron la pièce jointe est vide. Je vais quand même essayer le fclose à la fin, mais j'y crois moyen... Merci qd même...

_________________
Delirium Tremens


Haut
 Profil  
 
 Sujet du message:
MessagePosté: 14 Sep 2005, 10:31 
Hors ligne
Sacré trou du cul
Avatar de l’utilisateur

Inscription: 19 Juin 2005, 22:59
Messages: 11249
Et la solution était... mettre le chemin complet du fichier car quand c'est une tâche cron php part de la racine du disque, alors que quand c'est lancé directement par apache il part du répertoire où est situé le script. Merci moi-même puisque j'ai trouvé tout seul comme un grand (et si j'avais été intelligent j'aurai trouvé en 5 minutes)...

_________________
Delirium Tremens


Haut
 Profil  
 
 Sujet du message:
MessagePosté: 14 Sep 2005, 14:51 
Hors ligne
Connaisseur
Avatar de l’utilisateur

Inscription: 04 Juil 2005, 16:26
Messages: 162
ah ben *clap-clap* alors.

_________________
"I'm so cool you could keep a side of meat in me for a month! I'm so hip I have trouble seeing over my pelvis!"


Haut
 Profil  
 
Afficher les messages postés depuis:  Trier par  
Poster un nouveau sujet Répondre au sujet  [ 5 messages ] 

Heures au format UTC + 1 heure


Articles en relation
 Sujets   Auteur   Réponses   Vus   Dernier message 
Aucun nouveau message non-lu dans ce sujet. question

Jericho Cane

5

1402

19 Juin 2009, 07:19

Zad Voir le dernier message

Aucun nouveau message non-lu dans ce sujet. question wi-fi

Zad

10

1781

15 Avr 2006, 18:46

Zad Voir le dernier message

Aucun nouveau message non-lu dans ce sujet. Question NAS

[ Aller à la pageAller à la page: 1, 2 ]

Delirium Tremens

26

2994

11 Sep 2013, 17:24

Delirium Tremens Voir le dernier message

Aucun nouveau message non-lu dans ce sujet. Une petite question

the black addiction

7

1176

17 Juin 2009, 20:00

Pandor Voir le dernier message

Aucun nouveau message non-lu dans ce sujet. Question Newsletter

Zaphod

3

1506

29 Juin 2006, 16:09

Janet Voir le dernier message

Aucun nouveau message non-lu dans ce sujet. Question MySQL / PHP

[ Aller à la pageAller à la page: 1, 2 ]

Cosmo

22

2514

10 Déc 2011, 15:00

deudtens Voir le dernier message

Aucun nouveau message non-lu dans ce sujet. question Word

skip mccoy

3

1341

10 Juil 2008, 15:31

Arnotte Voir le dernier message

Aucun nouveau message non-lu dans ce sujet. Question sécurité wi-fi

Sam

5

1246

24 Juil 2007, 16:52

Delirium Tremens Voir le dernier message

Aucun nouveau message non-lu dans ce sujet. question réseau

Sam

10

1471

10 Avr 2007, 18:20

Sam Voir le dernier message

Aucun nouveau message non-lu dans ce sujet. Question de javascript

Zad

2

1243

30 Aoû 2012, 08:05

Zad Voir le dernier message

 


Qui est en ligne

Utilisateurs parcourant ce forum: Aucun utilisateur enregistré et 3 invités


Vous ne pouvez pas poster de nouveaux sujets
Vous ne pouvez pas répondre aux sujets
Vous ne pouvez pas éditer vos messages
Vous ne pouvez pas supprimer vos messages

Rechercher:
Aller à:  
Powered by phpBB® Forum Software © phpBB Group
Traduction par: phpBB-fr.com
phpBB SEO
Hébergement mutualisé : Avenue Du Web