[PREVIOUS CHAPTER]
[______TOC_______]
Appendix A Crosspost
Appendix A.1 Introduction
When mail is cross-posted over ML's, each ML driver passes them
through. Hence the number of mails is amplified since each ML driver
runs independently. It is too sad;-)
There exist two solutions to avoid this.
1 Interprocess communication between ML drivers over Internet.
2 Each driver has ML server's member lists over a lot of ML's.
Each driver determines delivery in considering such member lists,
To: and Cc: fields in the mail to deliver.
When the communication or protocol fails in the case 1, mail loop
may occur over Internet. In the case 2, we turn back again to the
current independent delivery. We avoid loops at lease. We adopt
scenario 2.
Also in scenario 2, FML can interpret member lists for other ML
drivers though other drivers deliver mail irrespective of a ML or a
person address. FML needs to know the ML's information to determine
cross post or not among ML's.
Appendix A.2 Crosspost Judgment Algorithm
Let ML's be a, b, c and the in-coming mail header be
To: a, b
Cc: c
To check whether we should deliver the current article to
aoi@chan.panic or not, FML proceeds the following steps:
aoi@cha.panic is in ML "a"'s member list
aoi@cha.panic is in ML "b"'s member list
aoi@cha.panic is in ML "c"'s member list
........
An article to aoi@chan.panic is delivered under the ML when the
address is found firstly in the steps above. If the address to deliver
is found firstly in "a" ML member list, the "a" ML driver delivers the
mail to aoi@chan.panic. If ML is "b", the driver should not deliver
it. This is cross post operation. It is important that ML servers run
independently. Each mailing list driver determines which address it
should deliver mail to.
How to reply depends on
1 each person's judgment
2 person which posts an article determines Reply-To:
Appendix A.3 Config.ph Configurations
To support crosspost judgment, set
$USE_CROSSPOST = 1;
Of course, it is sad unless all related ML run under cross post
operations.
Appendix A.4 Configuration file: @CROSSPOST_CF
The configuration is
=
ML Address location of config.ph
FML requires config.ph and member lists (e.g. actives, members ...)
for each ML. If you support for other ML drivers, you need to create
virtual config.ph for them.
Example: We determine judgment for elena ML by checking
/var/spool/ml/elena/config.ph and lists under /var/spool/ml/elena.
elena@baycity.asia /var/spool/ml/elena
Freekick@baycity.asia /var/spool/ml/Freekick