&fmldevel; Overview See on the detail of difference between &fml4; and &fml8;. &fmldevel; Features &fml8; configuration file format is changed to new Postfix style format configuration files (.cf files). usage of CUI is almost same as &fml4; (it is same as could as possible). You can use CUI (makefml and fml command) to create/remove an ML, to add/remove/change an addresse of ML members, to add/remove/change an address of remote administrators, to see log and member list, et.al. Makefml and fml are same programs except for argument order. See on the CUI usage difference between &fml4; and &fml8;. GUI (CGI) interface. The functions are a subset of CUI ones. to create/remove an ML, to add/remove/change an address of ML members, to add/remove/change an address of remote administrators, to see log and member list, et.al. The configuration file editing is incomplete yet. article delivery, header rewriting and several filters ( corresponding with &fml4;'s envelope filter and content filter ). command mail for users. to add/remove/change the address, get article summary, get old articles, et.al. command mail (admin command mail) for remote administratoin by mail. to add/remove/change an addresse of ML members, to add/remove/change an address of remote administrators, to see log and member list, et.al. automatic analyzer of error messages. IPv6 ready. tiny thread track system. built-in module for HTML converter of articles. support automatic conversion by default. fmlhtmlify and makefml supports html conversion functions. main programs (fml/libexec): distribute command error utilities: fmladdr fmlailas fmlconf fmldoc makefml fml fml4 emulation: if you replace fml.pl of fml4 and fml.pl of fml8, fml8 runs as fml4. After 2004 summer, the queueing system is implemanted. Currently the delivery system is queuing based. So, &fml8; is a MTA in fact. Abstracted IO layer to get member list in unified way from a file, /etc/group, NIS, SQL. Installation Overview Run GNU autoconf firstly, and "make install". It is defact standard in the world of open sources. This procedure is different from &fml4; installation steps. It may confuse you if you are customered with &fml4; But &fml8; is more friendly for package systems of free unix like systems. The main differece between &fml4; and &fml8; in installation is "run programs as root", "use of configure", and editing of configuration files. Suppose we create a new ML named elena ML (elena@fml.org). The brief flow of installation is as follows: Download &fml8; source and extract it on the disk. Install it by user root. Firstly, change user to "root" and create the user "fml" and the group "fml". Secondly, run configure and "make install". % su root # groupadd fml # useradd -m -g fml fml # ./configure # make install By default, 4.4 BSD style sub-directories are created. The path is configurable at configure options. For example, main programs called from MTA such as distribute, command, et.al. are installed into under /usr/local/libexec/fml/. Instead, utility programs are installed to /usr/local/bin. These are wrappers to call real programs at /usr/local/libexec/fml/. Perl modules are installed into /usr/local/lib/fml/$fml_version/ and message templates et.al. are installed into /usr/local/share/fml/$fml_version/. Change user to "fml" and create elena ML for test. % su fml % makefml newml elena You can use "fml" instead of makefml. Both are same except for the argument order. % su fml % fml elena newml Set up MTA which runs &fml8; programs. Test. Customize your ML. Please install by user root. It is different from &fml4;. Create An ML Create an ML by CUI (makefml). To create elena@fml.org ML (fml.org is the default domain), run % su fml % makefml newml elena . See the section for more details. In the virtual domain case, specify the whole address as an argument. For example, to create an ML elena@nuinui.net, run the following command: (At the first time) % su root % makefml newdomain nuinui.net /some/where/nuinui.net % su fml % makefml newml elena@nuinui.net (After the 2nd time) % su fml % makefml newml elena@nuinui.net See for the virtual domain case detail. Add A New User To ML In the case of the default domain (fml.org) % su fml % makefml subscribe elena rudo@nuinui.net in the case of virtual domain (nuinui.net), specify the whole adress of ML name. % su fml % makefml subscribe elena@nuinui.net fukachan@sapporo.iij.ad.jp Remove The User In the case of the default domain (fml.org), % su fml % makefml unsubscribe elena rudo@nuinui.net in the case of virtual domain (nuinui.net), specify the whole adress of ML name. % su fml % makefml unsubscribe elena@nuinui.net fukachan@sapporo.iij.ad.jp Customize "makefml config" is a CUI to customize ML by menu form. BUT YET INCOMPLETE. Edit configuration files anyway now. Common Configurations On This Host /usr/local/etc/fml/site_default_config.cf affects all ML on this host irrespective of the default domain or virtual domains. This corresponds to site_force.ph of &fml4;. The format of site_default_config.cf is same as config.cf described below. See list of all variables for the configurable variation. elena ML's Configuration To customize elena ML, edit /var/spool/ml/elena/config.cf file. The format is a little modified postfix style. It is different from both &fml4;'s config.ph and cf. Add hooks after =cut line if needed. Add or modify the least variables. If unspecified, the default value is used. The default value depends fml version and is defined at /usr/local/etc/fml/defaults/${fml_version}/default_config.cf The library path depends fml version. This technique ensures the easy upgrade/downgrade procedure. This is a feature of &fml8;. §.overview.fml.recipes;