Horodatage des missives
L'horodatage de la missive doit permettre d'assurer une datation raisonnablement fiable de la missive, et par voie de conséquence du message à l'intérieur de la missive. Par "raisonnablement fiable", on entend une date synchronisée sur les serveurs de temps normalisés et accessibles au travers de l'Internet.
L'adhérent SEPAmail devra donc disposer d'une référence horaire auprès d'un serveur de temps de niveau 1 (ou de niveau zéro), en utilisant le protocole NTP, avec une mise à l'heure au moins une fois par jour. Le protocole STIME n'est pas demandé mais possible.
La procédure pour garantir la fiabilité se fonde sur 3 mécanismes à mettre en œuvre :
- une mise à l'heure régulière du serveur d'émission assurant l'horodatage (du serveur qui écrit la date dans le schéma XML de la missive).
- une mise à l'heure régulière du serveur de réception.
- un contrôle de chaque missive en réception. Le serveur en réception contrôle l'heure de la missive reçue vis-à-vis de sa propre heure.
- la logique de traitement, dès lors que les 2 serveurs ont une même heure, veut que l'heure d'envoi de la missive (champ SndDtTm de l'en-tête de la missive) soit toujours inférieure à l'heure du serveur de réception
- le contrôle se fait par comparaison de l'heure du serveur de réception (H2) et l'heure de la missive (H1), en prenant en compte les fuseaux horaires.
- si H2 > H1 (cas normal) :
- la missive est traitée normalement
- la missive d'acquittement est renvoyée avec un résultat standard
- si H2 < H1 < H2 + 3 secondes :
- la missive est traitée normalement
- la missive d'acquittement doit comporter un avertissement (RoutingWarning, A6.7) avec un code "BAD_TIME"
- une mise à l'heure du serveur de réception est effectuée
- si H1 > H2 + 3 secondes :
- la missive n'est pas traitée
- la missive d'acquittement doit indiquer un code erreur 4.3.3 (temporaire, heure erronée)
- une mise à l'heure du serveur de réception est effectuée
- si H2 > H1 (cas normal) :
- à la réception d'une missive d'acquittement ayant un code 4.3.3 ou 5.3.3 ou d'une missive d'acquittement avec un avertissement BAD_TIME, une mise à l'heure du serveur d'émission doit être effectuée
- de plus, si le code d'acquittement est 4.3.3, le serveur d'émission doit renvoyer la missive après cette remise à l'heure
NOTA : l'horodatage des missives ne doit pas être confondu avec un éventuel horodatage des messages, celui-ci étant spécifique au besoin métier du message.