Bonjour,
J'ai 2 scripts php pour l'envoi d'un mail dans le quel je calcule le nombre de lignes d'un fichier. J'éxecute le script via un batch , celui ci est resté 8 heures en train de tourner en bloquant sur l'envoi d'email finalement. Le mail n'a jamais été reçu. De plus la batch en question n'a pas fait figuré de log. L'étape bloquante est donc l'envoi du mail.
Il n'y a que 2 taches dans le batch. Le batch est correct car l'inscription dans les logs seul fonctionne. Et si je fais afficher mon programme php en simple commentaire dans l'invite de commande ceci s'affiche aussi.
1) envoi du mails avec comptage du nombre de ligne.
2) inscirption de la tache dans un rapport de tache.
Mon mail contient donc , le nombre de lignes d'un fichier .
En passant directement par le localhost de wamp , le programme me met un message d'erreur qu'il a tourné plus de 2 minutes. Le message n'est donc jamais envoyé.
Le fichier en question comporte 30 lignes environs. C'est tout de même inquietant que le programme ne face pas l'envoi d'email avec comptage ! Que dire si mon fichier fait 1000 ou 2000 lignes à compter ?!
Voici mon main.php :
Code php : 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 <?php ini_set ( "SMTP", "smtp.mondomaine.fr" ); ini_set ("sendmail_from", "mail1@mondomaine.fr" ); include("D:/dossier/soudossier1/mail.php"); $cpt=0; $chaine='D:\dossier\soudossier1\fichier.CSV'; if(file_exists($chaine)) { $file = fopen($chaine, 'r'); while (!feof($file)) { $cpt++; } } $texte = "Bonjour,\n \n Le fichier compte : \n \n $cpt mails sont dans le fichier.\n \n Cordialement\n"; mail_rapport("personne1@mondomaine.fr,personne2@mondomaine.fr,personne2@mondomaine.fr","Nb lignes fichier",$texte); ?>
Voici mon mail.php :
Code php : 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 <?php function mail_rapport($mail,$objet,$message_txt) { //=====Création de la boundary. $boundary = "-----=".md5(rand()); $boundary_alt = "-----=".md5(rand()); //========== $header = "From: mail_alerte@mondomaine.fr\r\n"; $header.= "MIME-Version: 1.0\r\n"; $header.= "Content-Type: multipart/mixed;\r\n boundary=\"$boundary\"\r\n"; //=====Création du message. $message = "\r\n--".$boundary."\r\n"; $message.= "Content-Type: multipart/alternative;\r\n boundary=\"$boundary_alt\"\r\n"; $message.= "\r\n--".$boundary_alt."\r\n"; //=====Ajout du message au format texte. $message.= "Content-Type: text/plain; charset=\"ISO-8859-1\"\r\n"; $message.= "Content-Transfer-Encoding: 8bit\r\n"; $message.= "\r\n".$message_txt."\r\n"; //========== $message.= "\r\n--".$boundary_alt."\r\n"; //=====On ferme la boundary alternative. $message.= "\r\n--".$boundary_alt."--\r\n"; //========== $message.= "\r\n--".$boundary."\r\n"; //===== Envoi de l'e-mail. mail($mail,$objet,$message,$header); } ?>
Merci de m'aiguiller
Partager