Serverdatum

Mowee

Well-known member
ID: 266520
L
22 Dezember 2006
795
102
Ich nutze auf einem Webspace von mir eine normale Forensoftware. Unter anderem verschickt die dann auch ab und zu mal mails was ja ganz normal ist. Jetzt habe ich aber folgendes Problem. Die Uhrzeit und das Datum auf dem Server gehen nicht wirklich korrekt. Dies sind nicht nur ein paar Minuten sondern knapp zwei Tage die die Uhr hinterhergeht.

Jetzt habe ich nicht die Möglichkeit die Systemuhr neu zu stellen da ich darauf keinen Zugriff habe. Auch antwortet mir der Serveradmin aktuell nicht. Genausowenig habe ich die Möglichkeit den Server zu wechseln. Schwierige Geschichte, aber ist so :)

Jetzt meine Frage hier an die Profis :) Da ich genau weiß auf wie viele Stunden die Uhr falsch geht. Habe ich eine Möglichkeit die Stunden zu addieren so das die Uhrzeit dann auch wieder richtig geht und die mails mit dem korrigierten Datum versendet werden?

Gruß
thestyler
 
öhm, recht lustiges problem...also in der forensoftware müsstes gehen in dem du bei den time() aufrufen, diese dann um die verzögerung addierst.
ich denke mal das der mailer genauso mit solchen aufrufen funktionieren wird, wenn sendmail da net selber rumpfuscht

eine weitere sache wäre mal nach zuschauen in welcher zeitzone der server arbeitet...funktioniert mit php
 
:arrow: Programmierung / Scripts & Software

Ich denke mal, dass du ein größeres Problem bei einem Forum hast, weil da nicht nur Mails mit falscher Zeit rausgehen, sondern auch alle Posts zu einer falschen abgesendet wurden.
Wir kennen ja das Problem, wenn ein klamm-Server mal nicht mehr richtig tickt, was dann für Phänomene hier auftreten :ugly:

Was ich nicht verstehe, warum es nur die Mails betrifft.
Solang das Forum gesamt "falsch geht" dürfte doch alles funktionieren :think:
Problematisch dürfte es erst werden, wenn du eine Zeit manipulierst und die anderen nicht. Und dass du alle Zeiten erwischt, dürfte sehr schwierig, n Mordsfummelei am Code und v.a. unnötig sein, weil der Server ja irgendwann ja wieder richtig geht ;)
 
Das Problem liegt natürlich nicht nur bei den mails sondern sämtlichen funktionen die auf die serverzeit zurückgreifen.
allerdings stört es bei den mails am meisten. denn durch das falsche datum landen mails nicht am anfang im mailordner sondern irgendwo dazwischen und man muss suchen bis man die entsprechende mail gefunden hat.

ich habe jetzt mal ein bisschen gegoogelt und es scheint so als ob man direkt bei der mail funktion den parameter "date" eintragen kann. mal sehen ob es damit klappt. das müsste ich einfach mal testen.

das forum selbst hat eine klasse über die die mails verschickt haben. das heißt ich kann an zentraler stelle das ganze bearbeiten. mal sehen was draus wird.
 
So, ich habe es jetzt herausgefunden. Man muss nur einmal ein bisschen genauer die Dokumentation studieren und schon hat man es :)

So klappt es:

PHP:
<?php
$empfaenger = 'test@localhost';
$betreff = 'Der Betreff';
$nachricht = 'Hallo';
$header = 'From: test@localhost' . "\r\n" .
   'Reply-To: test@localhost' . "\r\n" .
   'X-Mailer: PHP/' . phpversion() . "\r\n" .
   'Date: Sun, 28 Nov 2008 23:48:37 +0100 (CET)';

mail($empfaenger, $betreff, $nachricht, $header);
?>
 
Danke ;) War zwar nicht ganz das was ich brauchte aber auch nett. Allerdings verstehe ich nicht so ganz warum die bei dem Codebeispiel so einen Aufwand betreiben :D So gehts doch viel einfacher und ist außerdem fehl effektiver falls die Seite mal nicht erreichbar sein sollte.

PHP:
<?php
function get_atom_time()
{
	if(!$file = @file ('https://www.uni-leipzig.de/cgi-bin/date/index.htm')) {
		return time();
	} else {
		return strtotime(implode('', $file));
	}
}
?>
 
Ich hätte das auch wohl umgeschrieben^^
Habe mich auch gewundert wie kompliziert die das machen als ich das da zum ersten mal gesehen habe.