Sziasztok!
Van egy dolog amire nem tudok jo megoldast egyelore:
Van egy linux szerver postfix-szel egy helyen. Rajta egy virtualis domainnel, meg userekkel. Megkertek, hogy a ki-, es bemeno levelekbol legyen masolat (mentes stb miatt). Always_bcc opcioval ugye ez megoldhato. Azonban felmerultek tovabbi igenyek: Mivel 2 ember nem jarult ehhez hozza, igy az o leveleik nem kerulhetnek archivalasra - legalabbis hosszabb tavon - valamint a leveleket konyvtarakba kellene szervezni userek altal, hogy kesobb imap-pal lehessen egyszeruen bongeszni. Legeloszor arra gondoltam, hogy scripttel levalogatnam a leveleket egy masodik levelgyujto accountra, de ez igazabol nem tudom mennyire lenne jo. Aztan van olyan otletem is, hogy procmail-el csinalnam meg, de virtualis domain eseteben nem tudom ez mennyire mukodo dolog. Esetleg nektek lenne valami a tarsolyotokban?
Ja valahogy ugy kellene kinezni szerintem, hogy:
INBOX
|---user1@domain.hu
|--inbox
|--sent
|---user2@domain.hu
|--inbox
|--sent
...
- 1474 megtekintés
Hozzászólások
up!
Érthetetlen a kérdés, vagy nehéz a feladat? :)
-------------------------------
“The 0 in Raid 0 stands for how many files you’re going to get back if something goes wrong” :)
- A hozzászóláshoz be kell jelentkezni
a bejövő leveleknél a dolog igen egyszerű, mert a kézbesítést végző programnak (MDA) megmondod, hogy csináljon valahova egy másolatot. ezt a procmail, maildrop, stb. mind tudja.
a kimenő leveleknél viszont nincs rá előregyártott eszköz, talán azzal jársz a legjobban, ha csinálsz egy rewrite szabályt, ami a címzettekhez hozzáad még egy helyi gyűjtő címet is.
- A hozzászóláshoz be kell jelentkezni
Használok procmailt virtualba is, nem erre a célra.
Szerintem megoldható vele amit szeretnél:
http://voluntary-simplicity.org/linux/virtual-procmail
- A hozzászóláshoz be kell jelentkezni
Ah ez profi! Koszonom! :)
Ez itt a lenyeg:
/etc/postfix/transport:
user1@mydomain.com procmail
user2@mydomain.com procmail
-------------------------------
“The 0 in Raid 0 stands for how many files you’re going to get back if something goes wrong” :)
- A hozzászóláshoz be kell jelentkezni
Sajnos nem sikerult igy osszehoznom a dolgot. Igy inkabb helyi usernek tovabbitom, aki majd megcsinalja a dolgokat, es ezekutan bemasolom a virtualis user maildirjebe (es igy a 2 felhasznalo nevet is kihagyom, ergo nem lesz 1 pillanatig sem olyan mailboxban amelyet megtud nyitni a megfelelo jogosultsagu emberke).
Viszont procmail-el lenne egy kis gondom. Regebben szortiroztam leveleket vele, bar eleg alapszinte, ugyhogy a kerdesem az lenne, hogy valaki tudna nekem mutatni egy peldat, hogy regularis kifejezesre hogyan lehetne folderezni, illetve ilyen megoldhato-e?
-------------------------------
“The 0 in Raid 0 stands for how many files you’re going to get back if something goes wrong” :)
- A hozzászóláshoz be kell jelentkezni
up!
Valakinek valami megoldasa lenne erre? Ha kell fizetek is erte, ha ez az akadaly...
-------------------------------
“The 0 in Raid 0 stands for how many files you’re going to get back if something goes wrong” :)
- A hozzászóláshoz be kell jelentkezni
Én ldap-pal szoktam ilyet csinálni. Mindegyik felhasználónak van egy bcc cjme, ahova ha akarja továbbítja a leveleit. Ahol telepítettem, ott az out-of-office miatt szoktak ilyet használni. De ugye a bcc_maps-ban több helyre is lehet küldeni ugyanannak a felhasználónak a leveleit, így én mondjuk csinálnék egy attributumot az ldap-ban amire nem adnék a felhasználóknak olvasási jogot sem, majd mindegyiknél beállítanám, hogy amelyiknél kell, annak a leveleit elküldje a megadott archiválós címre. A másik attribútumot meg úgy állítják továbbra is ahogy akarják.
recipient_bcc_maps = ldap:/etc/postfix/ldap-bccmaps
server_host = ldap://valahol.avilagban.org:389
search_base = dc=valahol,dc=avilagban,dc=org
bind_dn = cn=proxyuser,dc=valahol,dc=avilagban,dc=org
bind_pw = jelszo
query_filter = (&(objectClass=myMailAccount)(isActive=TRUE)(uid=%u))
result_attribute = myMailBCCAddress
bind = no
scope = sub
Na nálam így néz ki. Ha a felhasználónak beállítod, hogy a myMailBCCAddress mi legyen, azontúl oda is küldi a levelet a postfix. A két delikvensnek nem adod hozzá a bcc-s attributumot és kész.
Így felhasználónként külön állítható minden. Persze ezt sima hash-elt file-ban is meg lehet csinálni, nem kell ehhez ldap.
A szétszedéshez meg
virtual_mailbox_maps = ldap:/etc/postfix/ldap-accounts
ldap-accounts file tartalma:
server_host = ldap://valahol.avilagon.org:389
search_base = dc=valahol,dc=avilagon,dc=org
bind_dn = cn=proxyuser,dc=valahol,dc=avilagon,dc=org
bind_pw = jelszo
query_filter = (&(objectClass=myMailAccount)(isActive=TRUE)(|(myMailAddress=%s)(uid=%u)))
result_attribute = uid
result_format = /home/mailusers/%s/Maildir/
bind = no
scope = sub
továbbiakban man 5 ldap_table. Bár ugye a result_format-on alakítani kell, hogy azt kapd amit akarsz: /home/mailusers/%u/Maildir/%s (vagy /home/mailusers/%u/%s/Maildir, de ezzel most nem vagyok tisztában), meg a result_attributumon: myMailAddress (mivel ez adja avissza a cím típusú változót
valaki@valahol.org
, ebből a %u a név, a %s a teljes visszaadott cím, a %d lenne a domain csak, stb, stb.)
- A hozzászóláshoz be kell jelentkezni
Mar megvannak mysql adatbazisban a userek. Amugy igen, ez megoldas, hogy felveszem, hogy oda is bcc-zze, igy ez a resze kilove, koszi! Viszont meg hatravan a szortirozas resze. Maildrop-ban egyelore nem akarja felfogni amit szeretnek ->ergo valamit nem jol csinalok.
-------------------------------
“The 0 in Raid 0 stands for how many files you’re going to get back if something goes wrong” :)
- A hozzászóláshoz be kell jelentkezni
Nem értek nagyon a mysql-es megoldáshoz, de mint láttad az ldap-ban van egy result_format, amiben megmondod, hogy hova is kerüljön a levél, hova hozza létra a maildirben. Én nem használok maildrop-ot, mikor a virtual-ban ez sokkal könnyebben megoldható.
Gyors megnéztem a mysql_table man-ját és ott ugyanezt csinálhatod. Ha a result_attribute a mailcím, akkor a result_format=/home/mailusers/%u/%s/Maildir vagy valami hasonló. Innetől úgy szortírozza a könyvtárszerkezetet, hogy a usrname alá rakja a domain-t, majd azalá a leveleket.
- A hozzászóláshoz be kell jelentkezni
Hol dolgozol? Már csak azért, mert bele kell írni a munkaszerződésbe, hogy az email-eket ilyen meg ilyen célból archiválják. Ennek a két embernek ha tetszik, ha nem, alá kell írni, mert tudomásul kell venniük, hogy a céges levél nem az övéké. Azt kell megoldani, ha über titkosak a levelek, hogy ne férjen senki rajtuk kívül az archivált levelekhez.
- A hozzászóláshoz be kell jelentkezni
Kulsos ceg, nem az en dolgom. Ezt kertek. Ez van :). Amugy en alapbol mashogy akartam az egeszet, no de mindegy...
-------------------------------
“The 0 in Raid 0 stands for how many files you’re going to get back if something goes wrong” :)
- A hozzászóláshoz be kell jelentkezni
Mit értesz ezen: "regularis kifejezesre hogyan lehetne folderezni"?
man maildropfilter szerint persze lehet reguláris kifejezésre filterezni, ott van is egy példa erre. Nem tudom neked pontosan mire lenne szükséged.
- A hozzászóláshoz be kell jelentkezni
Kozben megtalaltam a man-ben koszi a segitseget, nem nagyon vettem eszre ezt a man-t. Vagy nem neztem meg jol talan? :)
if ( /^From:\s*(.*)/ )
{
ADDR=getaddr($MATCH1)
}
Ha jol ertem, akkor ha szeretnem a kuldo nevenek a mappajaba rakni, akkor egy olyat kell csinalnom, hogy to $DEFAULT/.$ADDR.
Ezt kiprobalom,de megerositesnek, vagy cafolasnak orulnek :). Valamint latok oylat is, hogyha tobb cimzett van, akkor ezt kellene hasznalnom:
ADDRLIST=""
foreach /^(To|Cc): .*/
{
foreach (getaddr $MATCH) =~ /.+/
{
ADDRLIST="$ADDRLIST $MATCH"
}
}
Ebben az esetben az ADDRLIST valtozot kell hasznalom a cikluson belul az elhelyezesre, vagy mas parancs kell, hogy ne csak egy helyre masolja?
-------------------------------
“The 0 in Raid 0 stands for how many files you’re going to get back if something goes wrong” :)
- A hozzászóláshoz be kell jelentkezni
Na egyelore ugy nez ki kesz van az a resze, hogyha 1 embernek kuldenek. A tobb emberes mokat, meg ma probalgatom, csak picit mar kezd elegem lenni :).
Egy olyan kerdesem viszont van, hogy ugye vannak levelek, hogy
To: Kovacs Jozsi < jozsika@kovacs.hu > .
getaddr-szel kiszedem a jozsika@kovacs.hu email cimet, de ugye a vegen van egy NL karakter. Azt hogyan tudnam kiszedni, vagy van valami mas fugveny amivel ezt meglehetne oldani?
jo hulye vagyok en is:
ADDR=`echo $ADDR| sed '/^.*$/N;s/\r//g'`
Na mar csak a tobb cimzetnek valo dolgokat kene megoldani :)
-------------------------------
“The 0 in Raid 0 stands for how many files you’re going to get back if something goes wrong” :)
- A hozzászóláshoz be kell jelentkezni
Még most se értem, hogy ha virtul user-eid vannak miért nem jó a virtual delivery. De mindegy.
- A hozzászóláshoz be kell jelentkezni
Virtual delivery van, de a backup megoldasra csak ezt talaltam szamomra kivitelezhetonek - ugy hogy nem barmolom annyira szet a postfixet.
Ez az egy user meg megy maildrop-pal, es tud szabalyokat hasznalni. Amugy leirom majd osszegezve az egesz konfigolast, meg ilyeneket, hatha erdekel valakit.
-------------------------------
“The 0 in Raid 0 stands for how many files you’re going to get back if something goes wrong” :)
- A hozzászóláshoz be kell jelentkezni
Hát a bcc_maps használata az má' mér' szétbarmolás?
Gyön be a request. A bcc_maps=ldap|hash|mysql|szomtudja
A bcc_maps-ban felhasználó(tab)idemenjen még (ha hash), ha meg mysql vagy ldap, akkor csak a bcc addresst kell viszzaadni. Szóval gyön a request, arra meg jön hogy akkor ide tegyed (a felhasználó sajátjába), de mivel ráfut a bcc_maps-ra is, ott megnézi, hogy ha ez az e-mail, uid, akármi, akkor adja vissza a iderakjadmég paramétert. ha van, akkor a postfix oda is kinyomja a levelet.
Kb két perces munka:
1. alter table (hozzáadjuk a mezőt a mysql táblához)
2. bcc_maps=mysql:xxxx a main.cf-be
3. megírjuk az xxx-ben a lekérdezést, aminek a visszaadott értéke a hozzáadott mező lesz.
Nézde meg a fenti ldap-os példát. Tényleg két perc volt összeállítani. a main.cf-et meg nem barmola szét.
Ezek után pedig csak ki be kapcsolod a címeket az adatbázisban. vagy csinálsz egy tök külön táblát a bcc-knek. Tök mindegy. Minden központilag állítható, a postfix nincs szétbarmolva, nem kell scripteket írogatni, nem kell szkripteket módosítgatni.
- A hozzászóláshoz be kell jelentkezni