Administrare server open source

Platforma de hosting cu software liber, gratuit, open source.

Azi am avut un task mai rar intalnit. Trebuia sa fac o copie a fiecarui mesaj livrat. Desi pare putin ciudat, in Exim e usor de implementat.

Exim ne permite sa folosim filtre pentru procesarea mesajelor. Pentru asta specificam in exim.conf cu ajutorul instructiunii system_filter fisierul care va contine regulile. De exemplu:

system_filter=/etc/filter.exim

Urmatorul pas ar fi sa editam fisierul /etc/filter.exim si sa adaugam urmatoarele linii:

if first_delivery
    then
        unseen deliver "[email protected]"
endif

Liniile de mai sus vor verifica daca mesajul este la prima livrare (daca se reincearca livrarea mai tarziu datorita unei erori nu mai sunt procesate) iar daca mesajul e la prima livrare va trimite in mod transparent o copie a mesajului catre „[email protected]„.

Daca avem nevoie doar de anumite mesaje, putem adauga conditii instructiunii if. De exemplu, pentru a face o copie doar pentru mesajele trimise de catre conturile domeniului exemplu.ro vom face urmatoarea regula:

if first_delivery and
   and ("$h_from:" contains "@exemplu.ro")
    then
        unseen deliver "[email protected]"
endif
Mail

5 Responses so far.

  1. iphonix says:

    eu nu am inteles niciodata de ce cu sendmail() din php poti sa trimiti mail cu orice, chiar si cu [email protected]

    stiu ca mailul ruleaza pe protocoale, dar …

  2. Ana says:

    Ti-am observat lipsa. Mai revii pe blog sau sun la 112?:) Respect!

  3. Sergiu Tot says:

    Ana, sper sa imi pot face timp sa scriu iar. Mi-e dor sa scriu un tutorial, fie el cat de mic 😀

  4. Laurentiu says:

    Chiar m-am lovit de asta recent si am tot cautat tutoriale pe net despre cum as putea implementa functia! Pare si chiar este simplu, dar de mare ajutor. Multam fain.

  5. Un filipinez says:

    Foarte interesante articolele tale, dar cam vechi? Nu mai postezi nimic nou?