=head1 article handling =head2 article delivery system # Descriptions: user article delivery function ? # History: # Value: YES_OR_NO # Examples: use_article_delivery = yes # Descriptions: specify transport for article delivery. # try MTA of $smtp_servers incrementary in the case of smtp. # History: none # Value: SELECT ( smtp lmtp ) # Examples: smtp article_delivery_transport = smtp =head2 article sequence number # Descriptions: file to store sequence number # History: $SEQ_FILE # Value: FILE # Examples: article_sequence_file = $sequence_file =head2 ACL # Descriptions: how to inform the rejected message # when the filter system rejects. # We prefer string not mime/multipart to avoid parsing by MUA. # History: string in 4.0. # Value: SELECT ( multipart string ) # Examples: string article_post_restrictions_reject_notice_data_type = string =head2 ACL and thread # Descriptions: permit post from anyone if the posted message follows # one of valid current threads. # useful to permit post from another mail address, # which receives forwarded ML articles. # History: none # Value: NUM # Examples: 86400 article_post_article_thread_lifetime = 86400 =head2 size limit # Descriptions: maximum size limit of article header passed from MTA. # History: # Value: NUM # Examples: 102400 incoming_article_header_size_limit = $default_mail_header_size_limit # Descriptions: maximum size limit of article body passed from MTA. # History: # Value: NUM # Examples: 10240000 incoming_article_body_size_limit = $default_mail_body_size_limit # Descriptions: maximum size limit of deliverd article header. # (not yet implemented ;-) # History: # Value: NUM # Examples: 102400 outgoing_article_header_size_limit = $default_mail_header_size_limit # Descriptions: maximum size limit of deliverd article body. # (not yet implemented ;-) # Value: NUM # Examples: 10240000 outgoing_article_body_size_limit = $default_mail_body_size_limit =head2 filter # Descriptions: # History: fml8 rearragena fml4 filter functions and integrates them # into one. # Roughly speaking, fml8 filter is composed of the following # $USE_DISTRIBUTE_FILTER # $INCOMING_MAIL_SIZE_LIMIT # ADD_CONTENT_HANDLER() # functions. # Value: YES_OR_NO # Examples: yes use_article_filter = yes # Descriptions: # History: # Value: MIX ( # article_size_filter # article_header_filter # article_non_mime_filter # article_mime_component_filter # article_text_plain_filter # article_spam_filter # article_virus_filter # ) # Examples: article_filter_functions = article_size_filter article_header_filter article_non_mime_filter article_mime_component_filter article_text_plain_filter article_spam_filter article_virus_filter =head2 size based filter # Descriptions: use size based filter. # History: no # Value: YES_OR_NO # Examples: use_article_size_filter = yes # Descriptions: size based filter rules. # first match. # permit post if no rule matched. # History: # Value: MIX ( check_header_size # check_body_size # permit # ) # Examples: article_size_filter_rules = check_header_size check_body_size permit =head2 header base filter # Descriptions: use header based filter ? # History: disabled by default. # "yes" always if $USE_DISTRIBUTE_FILTER is yes. # Value: YES_OR_NO # Examples: use_article_header_filter = yes # Descriptions: header filter rules. # first match. # permit post if no rule matched. # History: fml4 has no check_date rule. # Value: MIX ( # check_message_id # check_date # permit # ) # Examples: article_header_filter_rules = check_message_id check_date permit =head2 filter for non MIME structure # Descriptions: dummy # History: disabled by default. # !MIME of 4.0 content filter. # Value: YES_OR_NO # Examples: use_article_non_mime_filter = yes # Descriptions: dummy # History: # Value: MIX ( permit reject_empty_content_type ) # Examples: permit article_non_mime_filter_rules = permit # Descriptions: MIME structure based filter # History: 4.0 content filter. disabled by default. # Value: YES_OR_NO # Examples: use_article_mime_component_filter = yes # Descriptions: file of filter rules # History: @CONTENT_HANDLER # Value: FILE # Examples: article_mime_component_filter_rules = $fml_config_dir/mime_component_filter =head2 filter for text/plain # Descriptions: use text/plain filter, which is a simple syntax checker. # History: 4.0's EnvelopeFilter. # half of the following rules applied when # $USE_DISTRIBUTE_FILTER is enabled. # Value: YES_OR_NO # Examples: use_article_text_plain_filter = yes # Descriptions: filter rules of text/plain filter. # first match. # permit post if no rule matched. # History: See kern/libenvf.pl for more detail. # [DISABLED BY DEFAULT] # # reject_not_iso2022jp_japanese_string # <=> FILTER_ATTR_REJECT_INVALID_JAPANESE # reject_old_fml_command_syntax # <=> FILTER_ATTR_REJECT_COMMAND # reject_japanese_command_syntax # <=> FILTER_ATTR_REJECT_2BYTES_COMMAND # # [ENABLED BY DEFAULT] # # reject_null_mail_body # <=> FILTER_ATTR_REJECT_NULL_BODY # reject_invalid_fml_command_syntax # <=> FILTER_ATTR_REJECT_INVALID_COMMAND # reject_one_line_message # <=> FILTER_ATTR_REJECT_ONE_LINE_BODY # reject_ms_guid # <=> FILTER_ATTR_REJECT_MS_GUID # # Note: permit by default # Value: MIX ( # reject_not_iso2022jp_japanese_string # reject_null_mail_body # reject_one_line_message # reject_old_fml_command_syntax # reject_invalid_fml_command_syntax # reject_japanese_command_syntax # reject_ms_guid # permit # ) # Examples: article_text_plain_filter_rules = reject_not_iso2022jp_japanese_string reject_null_mail_body reject_one_line_message reject_old_fml_command_syntax reject_invalid_fml_command_syntax reject_japanese_command_syntax reject_ms_guid permit =head2 external SPAM filter # Descriptions: use external spam checker. # disabled by default. # add flag to header and go through if the message looks a spam. # History: none # Value: YES_OR_NO # Examples: no use_article_spam_filter = no # Descriptions: action if the message looks a spam. # History: none # Value: MIX ( reject ignore header_rewrite ) # Examples: header_rewrite article_spam_filter_rules = header_rewrite # Descriptions: external spam checker. # if plural drivers specified, try them sequentially. # History: none # Value: MIX ( spamassasin spamc bogofilter ) # Examples: bogofilter article_spam_filter_drivers = bogofilter =head2 external virus checker # Descriptions: external virus checker. disabled by default. # History: none # Value: YES_OR_NO # Examples: no use_article_virus_filter = no # Descriptions: action if virus found. # History: none # Value: MIX ( reject ignore header_rewrite ) # Examples: reject article_virus_filter_rules = reject # Descriptions: external virus checker. # if plural drivers specified, try them sequentially. # History: none # Value: MIX ( clamscan ) # Examples: clamscan article_virus_filter_drivers = clamscan =head2 inform the filter rejection # Descriptions: infor the filter rejection ? # History: halfly hard-coded in fml 4.0. # notice is always sent to maintainer, # but not to sender by default. # $FILTER_NOTIFY_REJECTION controlls notice to sender. # Value: YES_OR_NO # Examples: yes use_article_filter_reject_notice = yes # Descriptions: recipients to inform # History: halfly hard-coded in fml 4.0. # notice is always sent to maintainer, # but not to sender by default. # $FILTER_NOTIFY_REJECTION controlls notice to sender. # Value: MIX ( maintainer sender ) # Examples: maintainer sender article_filter_reject_notice_recipients = maintainer sender # Descriptions: how fml refer the rejeced message. # We prefer string not multipart to avoid parsing of MUA. # History: string in fml 4.0. # Value: SELECT ( multipart string ) # Examples: string article_filter_reject_notice_data_type = string =head2 article thread # Descriptions: add thread outline automatically ? # History: none # Value: YES_OR_NO # Examples: no use_article_thread_outline = no # Descriptions: where should we add thread outline ? # History: none # Value: SELECT ( add_outline_to_header | append_outline_to_body ) # Examples: add_header append_body article_thread_outline_rules = add_outline_to_header append_outline_to_body # Descriptions: スレッドの概要が始まる部分につける挨拶 # History: none # Value: STR # Examples: [本スレッドのあらすじ] article_thread_outline_greeting_ja = [本スレッドのあらすじ] # Descriptions: greeting prepended to thread outline # History: none # Value: STR # Examples: [outline of this thread] article_thread_outline_greeting_en = [outline of this thread] =head2 EXPIRE # Descriptions: expire too old article or not ? # History: $USE_EXPIRE # Value: YES_OR_NO # Examples: no use_article_expire = no # Descriptions: how old article to be removed # History: $EXPIRE_LIMIT # Value: TIME # Examples: 90d article_expire_limit = 90d