fml8 provides size limit for header and body. Also you can use different size limit of article or command mail.
Implementation of this filter is easy since the input message is analyzed already.
=head1 size limit =head2 default size limit # Descriptions: header size limit # History: # Value: NUM # Examples: 102400 default_mail_header_size_limit = 102400 # Descriptions: body size limit # History: # Value: NUM # Examples: 10240000 default_mail_body_size_limit = 10240000 # Descriptions: the maximum number of cached incoming mails # History: $NUM_LOG_MAIL # Value: NUM # Examples: 128 incoming_mail_cache_size = 128 # Descriptions: the maximum number of cached outgoing mails # History: $NUM_LOG_MAIL # Value: NUM # Examples: 128 outgoing_mail_cache_size = 128 # Descriptions: log rotation policy. # History: none # Value: SELECT ( size interval ) # Examples: size log_rotate_policy = size # Descriptions: rotate log if the size is over this size. # History: $LOGFILE_NEWSYSLOG_LIMIT value. # Value: NUM # Examples: 300000 (300K bytes) log_rotate_size_limit = 300000 =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 # 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 size limit # Descriptions: maximum size limit of article header passed from MTA. # History: # Value: NUM # Examples: 102400 incoming_command_mail_header_size_limit = $default_mail_header_size_limit # Descriptions: maximum size limit of article body passed from MTA. # History: # Value: NUM # Examples: 10240000 incoming_command_mail_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_command_mail_header_size_limit = $default_mail_header_size_limit # Descriptions: maximum size limit of deliverd article body. # (not yet implemented ;-) # History: # Value: NUM # Examples: 10240000 outgoing_command_mail_body_size_limit = $default_mail_body_size_limit # Descriptions: # History: # Value: MIX ( command_mail_size_filter ) # Examples: command_mail_filter_functions = command_mail_size_filter =head2 size based filter # Descriptions: use size based filter # History: # Value: YES_OR_NO # Examples: use_command_mail_size_filter = yes # Descriptions: size based filter rules. # first match. # permit if no rule matched. # History: # Value: MIX ( # check_header_size # check_body_size # check_command_limit # check_line_length_limit # permit # ) # Examples: command_mail_size_filter_rules = check_header_size check_body_size check_command_limit check_line_length_limit permit # Descriptions: cache size. # it implies days if the cache mode is temporal. # History: none # Value: NUM # Examples: error_mail_analyzer_cache_size = 14
Copyright (C) 1993-2022 Ken'ichi Fukamachi mail:< fukachan at fml.org >