diff options
| author | fukachan <fukachan> | 2003-07-26 07:31:27 +0000 |
|---|---|---|
| committer | fukachan <fukachan> | 2003-07-26 07:31:27 +0000 |
| commit | c4d052f52ad6631ddd8891c49d158f990b1bce60 (patch) | |
| tree | d106f5e25bbd5e57a1c28902bab03e02ccc9abee /fml/doc/en/tutorial/customize | |
| parent | a4dd4a4cce04c1578cea2b21e54982ec3ea1ee2f (diff) | |
| download | fml8-c4d052f52ad6631ddd8891c49d158f990b1bce60.tar.gz fml8-c4d052f52ad6631ddd8891c49d158f990b1bce60.tar.bz2 fml8-c4d052f52ad6631ddd8891c49d158f990b1bce60.zip | |
translated
Diffstat (limited to 'fml/doc/en/tutorial/customize')
| -rw-r--r-- | fml/doc/en/tutorial/customize/autoreply.sgml | 39 | ||||
| -rw-r--r-- | fml/doc/en/tutorial/customize/case_studies.sgml | 106 | ||||
| -rw-r--r-- | fml/doc/en/tutorial/customize/chapter.command.sgml | 30 | ||||
| -rw-r--r-- | fml/doc/en/tutorial/customize/chapter.config.sgml | 29 | ||||
| -rw-r--r-- | fml/doc/en/tutorial/customize/chapter.header.sgml | 34 | ||||
| -rw-r--r-- | fml/doc/en/tutorial/customize/chapter.message.sgml | 30 | ||||
| -rw-r--r-- | fml/doc/en/tutorial/customize/chapter.ml_style.sgml | 25 | ||||
| -rw-r--r-- | fml/doc/en/tutorial/customize/command_permit_anyone.sgml | 20 | ||||
| -rw-r--r-- | fml/doc/en/tutorial/customize/command_rejectall.sgml | 32 | ||||
| -rw-r--r-- | fml/doc/en/tutorial/customize/filter.sgml | 17 | ||||
| -rw-r--r-- | fml/doc/en/tutorial/customize/mailmagazine.sgml | 44 | ||||
| -rw-r--r-- | fml/doc/en/tutorial/customize/post_permit_anyone.sgml | 30 | ||||
| -rw-r--r-- | fml/doc/en/tutorial/customize/recipe.filter.notice.sgml | 53 | ||||
| -rw-r--r-- | fml/doc/en/tutorial/customize/recipe.header.tag.lowercase.sgml | 23 | ||||
| -rw-r--r-- | fml/doc/en/tutorial/customize/recipe.header.tag.uppercase.sgml | 23 |
15 files changed, 535 insertions, 0 deletions
diff --git a/fml/doc/en/tutorial/customize/autoreply.sgml b/fml/doc/en/tutorial/customize/autoreply.sgml new file mode 100644 index 00000000..4c891b83 --- /dev/null +++ b/fml/doc/en/tutorial/customize/autoreply.sgml @@ -0,0 +1,39 @@ +<!-- + $FML$ + $jaFML: autoreply.sgml,v 1.2 2003/01/05 08:00:59 fukachan Exp $ +--> + +<sect1 id="config.autoreply"> + <title> + case study: auto file responder + </title> + +<para> +Modify delivery process ( libexec/distribute ) to send back +/etc/fml/help file. For example, when a user can send anything to +help@fml.org, fml sends back help file to the sender. +</para> + +<para> +In this case, set at config.cf +<screen> +post_restrictions = permit_anyone +</screen> +and define the following hook after =cut line. +<screen> +$distribute_run_start_hook = q{ + + $curproc->reply_message( { + type => "text/plain; charset=iso-2022-jp", + path => "/etc/fml/help", + filename => "help", + disposition => "help example", + }); + + $curproc->refuse_further_processing(); + +}; +</screen> +</para> + +</sect1> diff --git a/fml/doc/en/tutorial/customize/case_studies.sgml b/fml/doc/en/tutorial/customize/case_studies.sgml new file mode 100644 index 00000000..4294cdd9 --- /dev/null +++ b/fml/doc/en/tutorial/customize/case_studies.sgml @@ -0,0 +1,106 @@ +<!-- + $FML$ + $jaFML: case_studies.sgml,v 1.4 2003/04/15 14:51:36 fukachan Exp $ +--> + + +<sect1 id="sect.casestudy.01"> + <title> + case study: office (1) + </title> + +<para> +no tag of subject. +<footnote> +<para> +This is default in &fml8;. +</para> +</footnote> +<screen> +article_header_rewrite_rules -= rewrite_article_subject_tag +</screen> +</para> + +<para> +Prepend office# at X-ML-Name:. That is, +mlname is changed to office#mlname. +<screen> +# office#$mlname +x_ml_name = office#$ml_name +</screen> +</para> + +<para> +Anybody can post to this ML since customers send mail to here. +<screen> +post_restrictions = permit_anyone +</screen> +Disale almost all filters. +<screen> +use_body_filter = no +use_article_body_filter = no +use_article_non_mime_filter = no +use_article_mime_component_filter = no +use_article_text_plain_filter = no +</screen> +</para> + +<para> +change spool type as subdir since the number of articles may become +over milion. +<screen> +spool_type = subdir +</screen> +</para> + +<para> +disable command mail. +<screen> +use_command_mail_program = no +</screen> +To enable the use of command mail by CGI, we use this variable. +It is recommended to remove proper alias entries if could. +</para> + +</sect1> + + +<sect1 id="sect.casestudy.02"> + <title> + case study: office (2) + </title> + +<para> +Edit /etc/fml/site_default_config.cf and reflects all ML's. +</para> + +<para> +Add uppercase-ed ML name to the article subject tag. +<screen> +article_subject_tag = (\U$ml_name\E %05d) +</screen> +For example, an article of support@example.co.jp has the tag +<screen> +Subject: (SUPPORT 10000) +</screen> +. +</para> + +<para> +Allow the use of command mail, which comes only from the specific +domain (my domain e.g. example.co.jp). This hook enables it. +<screen> +$command_verify_request_end_hook = q{ + my $cred = $curproc->{ credential }; + my $from = $cred->sender(); + + unless ($from =~ /\@example\.co\.jp/i) { + $curproc->stop_this_process(); + LogError("deny command request from $from"); + } +}; +</screen> +</para> + + +</sect1> diff --git a/fml/doc/en/tutorial/customize/chapter.command.sgml b/fml/doc/en/tutorial/customize/chapter.command.sgml new file mode 100644 index 00000000..7af1cf35 --- /dev/null +++ b/fml/doc/en/tutorial/customize/chapter.command.sgml @@ -0,0 +1,30 @@ +<!-- + $FML$ + $jaFML: chapter.command.sgml,v 1.1 2002/09/15 01:46:30 fukachan Exp $ +--> + +<chapter id="customize.command"> + <title> + Extend command + </title> + + +<sect1 id="customize.command.myproc"> + <title> + case study: create your own help command. + </title> + +<para> +To extend help command of elena ML. +Create help.pm perl module at +<screen> +/var/spool/ml/elena/local/lib/FML/Command/User/help.pm +</screen> +In loading module, libraries under local/ path is preferred. So, this +help command is loaded for help command (FML::Command::User::help). +</para> + +</sect1> + + +</chapter> diff --git a/fml/doc/en/tutorial/customize/chapter.config.sgml b/fml/doc/en/tutorial/customize/chapter.config.sgml new file mode 100644 index 00000000..72a3b25c --- /dev/null +++ b/fml/doc/en/tutorial/customize/chapter.config.sgml @@ -0,0 +1,29 @@ +<!-- + $FML$ + $jaFML: chapter.config.sgml,v 1.3 2003/04/15 14:51:36 fukachan Exp $ +--> + +<chapter id="config"> + <title> + Modify configuration files + </title> + + +<sect1 id="config.sitedefaultconfig.cf"> + <title> + change default for all ML's on thie host + </title> + +<para> +Edit /usr/local/etc/fml/site_default_config.cf. +The format is same as config.cf. +</para> + +<para> +This file corresponds to site_init.ph of &fml4;. +</para> + +</sect1> + + +</chapter> diff --git a/fml/doc/en/tutorial/customize/chapter.header.sgml b/fml/doc/en/tutorial/customize/chapter.header.sgml new file mode 100644 index 00000000..2b87456a --- /dev/null +++ b/fml/doc/en/tutorial/customize/chapter.header.sgml @@ -0,0 +1,34 @@ +<!-- + $FML$ + $jaFML: chapter.header.sgml,v 1.3 2003/04/15 14:51:36 fukachan Exp $ +--> + +<chapter id="customize.header"> + <title> + header rewriting + </title> + +<para> +Header information is stored at FML::Header class object. +FML::Header class inherits Mail::Header. +See Mail::Header for method details. +</para> + + + +<sect1 id="recipies.cutomize.header"> + <title> + Recipe's + </title> + +<qandaset> + +&recipe.header.tag.uppercase; +&recipe.header.tag.lowercase; + +</qandaset> + +</sect1> + + +</chapter> diff --git a/fml/doc/en/tutorial/customize/chapter.message.sgml b/fml/doc/en/tutorial/customize/chapter.message.sgml new file mode 100644 index 00000000..48116d8a --- /dev/null +++ b/fml/doc/en/tutorial/customize/chapter.message.sgml @@ -0,0 +1,30 @@ +<!-- + $FML$ + $jaFML: chapter.message.sgml,v 1.2 2003/04/15 14:51:36 fukachan Exp $ +--> + +<chapter id="customize.message"> + <title> + extend message + </title> + + +<sect1 id="customize.message.myproc"> + <title> + case study: customze message + </title> + +<para> +Create file at +<screen> +/var/spool/ml/elena/local/share/message/$language/class +</screen> +See +/usr/local/share/fml/$version/message/$language/class +as samples. Copy, cut and paste one of them :) +</para> + +</sect1> + + +</chapter> diff --git a/fml/doc/en/tutorial/customize/chapter.ml_style.sgml b/fml/doc/en/tutorial/customize/chapter.ml_style.sgml new file mode 100644 index 00000000..b43ab7bb --- /dev/null +++ b/fml/doc/en/tutorial/customize/chapter.ml_style.sgml @@ -0,0 +1,25 @@ +<!-- + $FML$ + $jaFML: chapter.ml_style.sgml,v 1.4 2003/02/16 13:07:15 fukachan Exp $ +--> +<chapter id="cuctomize"> + <title> + Case studies of customization + </title> + + +§.config.autoreply; +§.config.command.permit.anyone; +§.config.command.rejectall; +§.config.mailmagazine; +§.config.post.permit.anyone; +§.config.ml.hier; + +<!-- procmail --> +§.usage.procmail; + +<!-- case studies --> +§.customize.casestudies; + + +</chapter> diff --git a/fml/doc/en/tutorial/customize/command_permit_anyone.sgml b/fml/doc/en/tutorial/customize/command_permit_anyone.sgml new file mode 100644 index 00000000..b33fd0b9 --- /dev/null +++ b/fml/doc/en/tutorial/customize/command_permit_anyone.sgml @@ -0,0 +1,20 @@ +<!-- + $FML$ + $jaFML: command_permit_anyone.sgml,v 1.2 2003/01/05 08:00:59 fukachan Exp $ +--> + +<sect1 id="config.command.permitanyone"> + <title> + case study: anyonen can use command mail. + </title> + +<para> +$command_restrictions defines who can use command mail. +By default user registerd as a poster can use command mail. +To set anyone can use command mail, set +<screen> +command_restrictions = permit_anyone +</screen> +</para> + +</sect1> diff --git a/fml/doc/en/tutorial/customize/command_rejectall.sgml b/fml/doc/en/tutorial/customize/command_rejectall.sgml new file mode 100644 index 00000000..aaf44c69 --- /dev/null +++ b/fml/doc/en/tutorial/customize/command_rejectall.sgml @@ -0,0 +1,32 @@ +<!-- + $FML$ + $jaFML: command_rejectall.sgml,v 1.3 2003/04/15 14:51:36 fukachan Exp $ +--> + +<sect1 id="config.command.rejectall"> + <title> + case study: disable command mail + </title> + +<para> +It is most safe to remove entries from aliases. +</para> + +<para> +<screen> +use_command_mail_program = no +</screen> +In this case, /usr/local/libexec/fml/command is kicked off once but +does not work and exit as soon as possible. +</para> + +<para> +In another level of rejection, this configuration is possible: +<screen> +command_restrictions = reject +</screen> +When fml receives the command mail, +it inform the rejection to the sender. +</para> + +</sect1> diff --git a/fml/doc/en/tutorial/customize/filter.sgml b/fml/doc/en/tutorial/customize/filter.sgml new file mode 100644 index 00000000..5baf6c30 --- /dev/null +++ b/fml/doc/en/tutorial/customize/filter.sgml @@ -0,0 +1,17 @@ +<!-- + $FML$ + $jaFML: filter.sgml,v 1.2 2003/04/13 04:36:11 fukachan Exp $ +--> + +<chapter> + <title> + Firtering + </title> + +<qandaset> + +&recipe.filter.notice; + +</qandaset> + +</chapter> diff --git a/fml/doc/en/tutorial/customize/mailmagazine.sgml b/fml/doc/en/tutorial/customize/mailmagazine.sgml new file mode 100644 index 00000000..1e4168e5 --- /dev/null +++ b/fml/doc/en/tutorial/customize/mailmagazine.sgml @@ -0,0 +1,44 @@ +<!-- + $FML$ + $jaFML$ +--> + +<sect1 id="config.mailmagazine"> + <title> + case study: mail magazine + </title> + + +<para> +Consider asymmetric case of member list (list of persons who can post) +and recipient list. +</para> + +<para> +Firstly, remove primary_member_maps from $member_maps. Instead, add +$ml_home_dir/members-mailmag who can post to $member_maps. +<screen> +member_maps = $ml_home_dir/members-mailmag +</screen> +</para> + +<para> +In this case, when a new user is subscribed, the user address is added +to both $ml_home_dir/members and $ml_home_dir/recipinets. +But $member_maps is defined as $ml_home_dir/members-mailmag. +$ml_home_dir/members is not used. +Hence, recipients is updated but the list of posters is unchanged. +</para> + +<warning> +<para> +Strictly speaking, this configuration is not enough safe. If somebody +fakes From: address, he/she can post since fml checks only From: +address. +</para> +</warning> + +<para> + + +</sect1> diff --git a/fml/doc/en/tutorial/customize/post_permit_anyone.sgml b/fml/doc/en/tutorial/customize/post_permit_anyone.sgml new file mode 100644 index 00000000..f8664a7b --- /dev/null +++ b/fml/doc/en/tutorial/customize/post_permit_anyone.sgml @@ -0,0 +1,30 @@ +<!-- + $FML$ + $jaFML: post_permit_anyone.sgml,v 1.3 2003/04/15 14:51:37 fukachan Exp $ +--> + +<sect1 id="config.post.permitanyone"> + <title> + case study: anyone can post. + </title> + +<para> +<screen> +post_restrictions = permit_anyone +</screen> +$post_restrictions parameter controls who can post to this ML. +To set this as "permit_anyone", anybody can post. +</para> + +<para> +By default, +<screen> +post_restrictions = reject_system_accounts + permit_member_maps + reject +</screen> +"reject_system_accounts" denys post if +From: looks like system accounts e.g. root, postmaster. +</para> + +</sect1> diff --git a/fml/doc/en/tutorial/customize/recipe.filter.notice.sgml b/fml/doc/en/tutorial/customize/recipe.filter.notice.sgml new file mode 100644 index 00000000..919ec236 --- /dev/null +++ b/fml/doc/en/tutorial/customize/recipe.filter.notice.sgml @@ -0,0 +1,53 @@ +<!-- + $FML$ + $jaFML: recipe.filter.notice.sgml,v 1.2 2003/04/15 14:51:37 fukachan Exp $ +--> + + +<qandaentry> + +<question> +<para> +where the mail is sent back to when filter system rejects ? +</para> +</question> + +<answer> + +<para> +By default, these are defined +<screen> +use_article_filter_reject_notice = yes +article_filter_reject_notice_recipient = maintainer sender +</screen> +When the filter system rejects the request, +fml sends back it to the ML maintainer not the sender. +</para> + + +<para> +To change the recipient to the sender (From: address), set +<screen> +article_filter_reject_notice_recipient = sender +</screen> +</para> + + +<para> +To notify the rejection to both ML maintainer and the sender, set +<screen> +article_filter_reject_notice_recipient = maintainer sender +</screen> +</para> + + +<para> +To disable notification of rejection, set +<screen> +use_article_filter_reject_notice = no +</screen> +</para> + +</answer> + +</qandaentry> diff --git a/fml/doc/en/tutorial/customize/recipe.header.tag.lowercase.sgml b/fml/doc/en/tutorial/customize/recipe.header.tag.lowercase.sgml new file mode 100644 index 00000000..5089baf5 --- /dev/null +++ b/fml/doc/en/tutorial/customize/recipe.header.tag.lowercase.sgml @@ -0,0 +1,23 @@ +<!-- + $FML$ + $jaFML: recipe.header.tag.lowercase.sgml,v 1.1 2002/10/29 03:32:21 fukachan Exp $ +--> + + +<qandaentry> + +<question> +<para> +lower the tag in article Subject: +</para> +</question> + +<answer> +<para> +<screen> +article_subject_tag = [\L$ml_name\E:%05d] +</screen> +</para> +</answer> + +</qandaentry> diff --git a/fml/doc/en/tutorial/customize/recipe.header.tag.uppercase.sgml b/fml/doc/en/tutorial/customize/recipe.header.tag.uppercase.sgml new file mode 100644 index 00000000..7c0a6af9 --- /dev/null +++ b/fml/doc/en/tutorial/customize/recipe.header.tag.uppercase.sgml @@ -0,0 +1,23 @@ +<!-- + $FML$ + $jaFML: recipe.header.tag.uppercase.sgml,v 1.1 2002/10/29 03:32:21 fukachan Exp $ +--> + + +<qandaentry> + +<question> +<para> +upper the tag in article Subject: +</para> +</question> + +<answer> +<para> +<screen> +article_subject_tag = [\U$ml_name\E:%05d] +</screen> +</para> +</answer> + +</qandaentry> |
