Résolu Mail et heure php

Solutions (14)
Tags :
  • Php
  • Serveur d'application
  • Email
  • Serveur
  • Programmation
|
Bonjour!

Une fois n'est pas coutume, j'ai une question qui me taraude l'esprit depuis hier...

Nous sommes passés à l'heure d'été, chouette, ou plutôt, mince, car on perd une heure de sommeil, le matin quand on part au boulot, il fait plus froid...
Bref, on va parler PC/serveur.

J'ai un serveur d'application sur lequel fonctionne un serveur apache, avec php et MySQL, ainsi que d'autres choses indépendantes les unes des autres.

Nous utilisons un vpn national, et le serveur va chercher l'heure sur un fédérateur, qui lui même va chercher l'heure au national. Tout fonctionne bien, nos postes sont à l'heure etc...

Cependant, j'ai un truc sympatoche, j'ai un script en php,
basique, une fonction mail qui envoie, de par son nom, un mail, renseignant des données etc... Tout fonctionne, seulement, nous sommes le 30mars 2010, le vent est très fort(aucun rapport mais je viens de regarder par la fenêtre), 14heures30 où j'écris ces lignes, je lance le programme ci dessous:
  1. <?php
  2. ini_set("SMTP","x.x.x.x");
  3. $aujourdhui = date("H:i:s");
  4. echo $aujourdhui;
  5. $headers="";
  6. $headers ='From: "pifpafpoufsontsurunbateau..."<pifetpaftombent@leau.fr>'."\n";
  7. $headers .='Reply-To: blabla@wahou.fr'."\n";
  8. $headers .='Content-Type: text/plain; charset="iso-8859-1"'."\n";
  9. $headers .='Content-Transfer-Encoding: 8bit';
  10.  
  11. mail('monadresseamoi@jeneladonnepashihi.fr','titre',$aujourdhui,$headers)
  12. ?>

et ça m'affiche: 14:30:00...
Oui c'est normal!
Le serveur est à la bonne heure.

Vite, vite! je relève mes mails.
dans le message c'est affiché l'heure...

Mais j'ai reçu le message le 30 mars 2010 à 16heures30.

Je suis fan de science fiction, mais quand même!

J'ai testé la même manipulation sur mon poste de développement, même serveur, même chemin pour aller sur le serveur smtp, ou pop, et ça fonctionne.

Quelqu'un aurait il une idée, du pourquoi ces deux heures de décalages?

La semaine dernière, ce n'était qu'une seule heure de décalage.
Le passage à l'heure d'été à ajouté une heure, c'est pas grave, on a l'impression de voyager dans le temps.

PS: Changer l'heure du système est une solution, mais non recevable.


-------------------
[:shinea:1]
Contenus similaires
Meilleure solution
partage
|
Je ne connais pas thunderbird, y a t il un moyen d'afficher la source du mail pour voir l'heure dans les header du mail ?
  • Commenter cette solution |
Score
0
òh
òi
|
Bonjour merci pour ta réponse. Il y a toute fois une petite erreur les secondes sont inversées avec les minutes.
Pour ceux qui utilisent libmail.php, j'ai fait ce rajout à la fonction : function BuildMail()
  1. $this->xheaders['Date'] = date('D, d M Y H:i:s O T' );



shinea a dit :
Bon, finalement, j'ai corrigé mon soucis.

Je force la date dans l'header du mail:

  1. $headers .= "Date:" . date("D, d M Y h:s:i") . " +0300n";


Mais ceci n'explique pas pourquoi, sans, le serveur mets deux heures en plus dans un ce serveur là, et dans les autres, heures normales.(que ce soit XP, ou serv 2008)

-------------------
[:shinea]

  • Commenter cette réponse |
Score
0
òh
òi
|
Sinon il y avait la fonction time qui marchait!
  • Commenter cette réponse |
Score
0
òh
òi
|
Meilleure réponse sélectionnée par shinea.
  • Commenter cette réponse |
Score
0
òh
òi
|
Bon, finalement, j'ai corrigé mon soucis.

Je force la date dans l'header du mail:

  1. $headers .= "Date:" . date("D, d M Y h:s:i") . " +0300n";


Mais ceci n'explique pas pourquoi, sans, le serveur mets deux heures en plus dans un ce serveur là, et dans les autres, heures normales.(que ce soit XP, ou serv 2008)

-------------------
[:shinea]
  • Commenter cette réponse |
Score
0
òh
òi
|
Toutes les heures sont correctes, en effet pour aller chercher l'heure, on travaille via ntp sur un serveur qui est lui aussi à la bonne heure, sinon, toutes les machines seraient déréglées, ce qui n'est pas le cas.

Ensuite, le INI_SET ne s'applique que sur le serveur sur lequel le code est hébergé, et oui justement il est à la bonne heure, qui est sous windows server 2k.

-------------------
[:shinea]
  • Commenter cette réponse |
Score
0
òh
òi
, Ex-AdMiN |
A quel heure est le serveur SMTP ? (celui à l'ip ***.***.***.***) ?

Pour moi ce serveur est à GMT. Il est configuré comme les autres serveurs pour utiliser ntp ? (les serveurs pour régler l'heure dont tu parles).

Toutes tes machines sont bien sous Windows ? la ligne 1 ne fonctionnant que sous Windows. Mais la question mérite je pense d'être posée.
  • Commenter cette réponse |
Score
0
òh
òi
|
Ah, oui tiens... mon curseur dépasse de la jauge :p .

Alors, ce header marque bien deux heures supplémentaires...

Donc, pour récapituler, heure serveur système: h
header = h+2
date d'envoie du mail = h+2

(désolée de répondre tardivement, j'ai eu une pile de dossier aujourd'hui...)

-------------------
[:shinea]
  • Commenter cette réponse |
Score
0
òh
òi
|
Wow en effet, elle a explosé la jauge.. :D 

Et sinon ce header ?
  • Commenter cette réponse |
Score
0
òh
òi
|
Juste un p'tite remarque qui n'a pas grand-chose à voir, mais bon (sauf si on parle des bugs de servers...) ... Sur http://www.infos-du-net.com/forum/profil-1298871.htm, y'a un gros bug qui fait que la p'tite flèche avec les points, et ben elle sort de la jauge... :D 
  • Commenter cette réponse |
Score
0
òh
òi
|
J'en dirais d'avantage demain, je suis rentrée chez moi,
Mais je crois bien que c'est l'header du mail qui change.
Par pur hasard, peut on forcer l'heure de l'header?

-------------------
[:shinea:1]
  • Commenter cette réponse |
Score
0
òh
òi
|
Ah! de nouveaux tests,
j'ai relancé le script, je vais voir l'intramail, l'heure de réception est bonne...
je relève le courrier depuis mozilla thunderbird, heure+2.

sur l'intramail, l'heure affichée et celle à laquelle le serveur de l'intramail a reçu le mail + 2heures...
Quand je le relève, ca mets h+2...

Cependant, d'autres messages envoyés depuis un poste lambda revient à la bonne heure...

Un serveur a manger un clown ou...?

-------------------
[:shinea:1]
  • Commenter cette réponse |
Score
0
òh
òi
|
Hihi, à force de vouloir faire claire, et de façon à ne pas endormir le lecteur, j'oublie des détails.

En effet, dans le corps du message, l'heure est bonne, c'est l'heure de réception du message qui ne l'est pas.

Je me suis amusée à faire une diffusion du mail, et tous les postes ont reçu le mail venant du "futur" (deux heures de décalage).

Malheureusement, via script je ne peux pas faire d'envoi mail de ce genre vers l'extérieure (authentification forte demandée).

Niveau fuseau horaire, je n'ai aucune anomalie repérée...

Je suis du sud ouest aussi ;) .

-------------------
[:shinea:1]

  • Commenter cette réponse |
Score
0
òh
òi
|
C'est l'heure qui est inscrite dans ton mail qui est à 16:30:00 ? (le 3eme paramètre)
Ou c'est l'heure de réception que ton client de messagerie t'indique ?

Je suppose que l'heure inscrite dans le mais est correcte, vu qu'elle s'affiche correctement sur le script php..
C'est l'heure que t'affiche ton client mail qui doit avoir un problème ?

Si c'est le cas ça doit être un problème de paramétrage du fuseau horaire.
Tu utilise quel client mail ?

As tu essayé d'envoyer ton mail vers une autre boite mail ? (hotmail par exemple) Si sur hotmail l'heure est correcte, cela confirmera que c'est bien ton client mail qui est mal configuré.
(Ou bien le serveur qui collecte les mail)

Et puis je c'est pas d'où tu es, mais à Bordeaux aussi ya du vent !!!
  • Commenter cette réponse |

Ce n'est pas ce que vous cherchiez ?

Tom's guide dans le monde
  • Allemagne
  • Italie
  • Irlande
  • Royaume Uni
  • Etats Unis
Suivre Tom's Guide
Inscrivez-vous à la Newsletter
  • ajouter à twitter
  • ajouter à facebook
  • ajouter un flux RSS