mmdf(5)

NUME
MMDF - Formatul căsuței poștale a mecanismului de distribuire a memorandumurilor pe mai multe canale (Multi-channel Memorandum Distribution Facility)

DESCRIERE
Acest document descrie formatul de căsuță poștală MMDF utilizat de unele MTA și MUA (de exemplu, scomail(1)) pentru a stoca mesajele poștale la nivel local.

O căsuță poștală MMDF este un fișier text care conține un număr arbitrar de mesaje e-mail. Fiecare mesaj este format dintr-un ștampilă poștală, urmată de un mesaj de poștă electronică formatat în conformitate cu RFC822 / RFC2822, urmat de o ștampilă poștală. Formatul fișierului este orientat pe linii. Liniile sunt separate prin caractere de avansare de linie (ASCII 10). O linie de ștampilă poștală este formată din cele patru caractere „^A^A^A^A” (Control-A; ASCII 1).

Exemplu de căsuță poștală MMDF care conține două mesaje poștale:

    ^A^A^A^A
    From: example@example.com
    To: example@example.org
    Subject: test

    >Din ceea ce am aflat despre formatul MMDF:
    ^A^A^A^A
    ^A^A^A^A
    From: example@example.com
    To: example@example.org
    Subject: test 2

    bar
    ^A^A^A^A

Spre deosebire de majoritatea celorlalte formate de căsuțe poștale cu un singur fișier, cum ar fi MBOXO și MBOXRD (a se vedea mbox(5)), nu este necesară punerea între ghilimele/eliminarea ghilimelelor liniilor - "From " în căsuțele poștale MMDF, deoarece aceste linii nu au o semnificație specială în acest format.

Dacă timpul de modificare (determinat de obicei prin stat(2)) al unui fișier de căsuță poștală care nu este gol este mai mare decât timpul de acces, fișierul are corespondență nouă. Multe MUA-uri plasează un antet „Status:” în fiecare mesaj pentru a indica ce mesaje au fost deja citite.

BLOCAREA
Deoarece fișierele MMDF sunt accesate frecvent de mai multe programe în paralel, fișierele MMDF nu ar trebui, în general, să fie accesate fără blocare.

Trei mecanisme de blocare diferite (și combinații ale acestora) sunt utilizate în general:

•   Blocarea fcntl(2) este utilizată în principal pe sistemele recente, conforme cu POSIX. Utilizarea acestei metode de blocare este, în special, recomandabilă în cazul în care fișierele MMDF sunt accesate prin intermediul sistemului de fișiere de rețea (NFS), deoarece pare a fi singura modalitate de a invalida în mod fiabil spațiul de prestocare (cache) al clienților NFS.

•   Blocarea flock(2) este utilizată în principal pe sistemele bazate pe BSD.

•   Mecanismul „dotlocking” este utilizat pe toate tipurile de sisteme. Pentru a bloca un fișier MMDF numit folder, o aplicație creează mai întâi un fișier temporar cu un nume unic în directorul în care se află folder. Apoi, aplicația încearcă să utilizeze apelul de sistem link(2) pentru a crea o legătură permanentă numită folder.lock cu fișierul temporar. Succesul apelului de sistem link(2) trebuie verificat suplimentar cu ajutorul apelurilor stat(2). În cazul în care legătura a reușit, dosarul de corespondență este considerat „dotlocked”. Fișierul temporar poate fi apoi dezlegat în siguranță.

    Pentru a elibera blocarea, o aplicație trebuie doar să dezlege fișierul folder.lock.

În cazul în care se combină mai multe metode, implementatorii trebuie să se asigure că utilizează variantele fără blocare ale apelurilor de sistem fcntl(2) și flock(2) pentru a evita blocajele.

În cazul în care se combină mai multe metode, nu trebuie să se considere că un fișier MMDF a fost blocat cu succes înainte de a fi fost obținute toate blocările individuale. În cazul în care una dintre metodele individuale de blocare eșuează, o aplicație trebuie să elibereze toate dispozitivele de blocare pe care le-a obținut cu succes și să reia întreaga procedură de blocare de la început, după o întârziere corespunzătoare.

Mecanismul de blocare utilizat pe un anumit sistem este o chestiune de politică locală și ar trebui să fie utilizat în mod consecvent de toate aplicațiile instalate pe sistem care accesează fișiere MMDF. Nerespectarea acestei reguli poate duce la pierderea datelor de corespondență electronică și la coruperea fișierelor MMDF.

ÎN CONFORMITATE CU
MMDF nu face parte din niciun standard acceptat în prezent.

ISTORIC
MMDF a fost dezvoltat la Universitatea din Delaware de către Dave Crocker.

CONSULTAȚI ȘI
scomail(1), fcntl(2), flock(2), link(2), stat(2), mbox(5), RFC822, RFC2822

AUTOR
Urs Janssen <urs@tin.org>

TRADUCERE
Traducerea în limba română a acestui manual a fost făcută de Remus-Gabriel Chelu <remusgabriel.chelu@disroot.org>

Această traducere este documentație gratuită; citiți Licența publică generală GNU Versiunea 3 (https://www.gnu.org/licenses/gpl-3.0.html) sau o versiune ulterioară cu privire la condiții privind drepturile de autor. NU se asumă NICIO RESPONSABILITATE.

Dacă găsiți erori în traducerea acestui manual, vă rugăm să trimiteți un e-mail la translation-team-ro@lists.sourceforge.net.