1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 140 141 142 143 144 145 146 147 148 149 150 151 152 153 154 155 156 157 158 159 160 161 162 163 164 165 166 167 168 169 170 171 172 173 174 175 176 177 178
|
##---------------------------------------------------------------------------##
## File:
## $Id: mhasiteinit.pl,v 1.3 2002/03/14 15:30:57 ehood Exp $
## Description:
## Site-specific initialization code for MHonArc. If used, it
## should be place in the MHonArc library directory as specified
## during initialization, or in a directory that perl checks
## when requiring libraries.
##
## >>> THE EXPRESSIONS IN THIS FILE ARE EXECUTED EVERYTIME AN
## >>> ARCHIVE IS OPENED FOR PROCESSING.
##
## Note, it is recommended to use a default resource file when
## possible.
##---------------------------------------------------------------------------##
## Set package to something other than "mhonarc" to protect ourselves
## from unintentionally screwing with MHonArc's internals
package mhonarc_site_init;
##---------------------------------------------------------------------------
## Uncomment the following to set the default LOCKMETHOD to flock.
## Flock is better than the directory file method if flock() is supported
## by your system. If using NFS mounted filesystems, make sure flock()
## under Perl works reliable over NFS. See the LOCKMETHOD resource
## page of the documentation for more information.
#&mhonarc::set_lock_mode(&mhonarc::MHA_LOCK_MODE_FLOCK);
##---------------------------------------------------------------------------
## Uncomment the following to set the callback function after a
## mail message header is read and before any other processing is done.
## Note, the function is called after any exclusion checks are
## performed by MHonArc.
##
## The function is invoked as follows:
##
## $boolean = &$mhonarc::CBMessageHeadRead(
## $fields_hash_ref, $raw_header_txt);
##
## Arguments:
## $fields_hash_ref
## Reference to hash containing parsed message header. Keys
## are the lowercase field names and the values are references
## to array contain the values for each field. If a field
## is only declared once in the header, the array will only
## contain one item.
##
## The hash also contains special keys represented the values
## MHonArc has extracted when parsing the message header.
## The values of these keys are regular scalars and NOT
## array references. The following summarizes the keys
## made available:
##
## x-mha-index
## The assigned index given to the message by MHonArc.
## x-mha-message-id
## The message-id MHonArc extracted. Note, if the
## message did not specified a message ID, MHonArc
## auto-generates one.
## x-mha-from
## Who MHonArc thinkgs the message is from. This value
## is controled by the FROMFIELDS resource.
## x-mha-subject
## The message subject. If no subject is defined, then
## the value is the empty string.
## x-mha-content-type
## The content-type of the message MHonArc will use for
## the message.
##
## $raw_header_txt
## The raw header data of the message. This data may be
## useful if pattern matches are desired against header
## data.
##
## Return Value:
## The return value is used by MHonArc to determine if the
## message should be excluded from any further processing.
## If the return value evaluates to true, then MHonArc will
## continue processing of the message. If the return value
## evaluates to false, the message will be excluded.
##
## Notes:
## . To distinquish between SINGLE operation mode and
## archive operation mode, you can check the $mhonarc::SINGLE
## variable. For example:
##
## if ($mhonarc::SINGLE) {
## # single message-based processing here
## } else {
## # archive-based processing here
## }
##
## . MHonArc resources exist that allow message exclusion
## capabilities: CHECKNOARCHIVE, EXPIREAGE, EXPIREDATE,
## and MSGEXCFILTER. If possible, use these resources
## to perform message exclusion filtering.
#require 'head_routine.pl'; # make sure source of routine is loaded
#$mhonarc::CBMessageHeadRead = \&your_head_routine_name;
##---------------------------------------------------------------------------
## Uncomment the following to set the callback function after a
## mail message body has been read a converted.
##
## The function is invoked as follows:
##
## &$mhonarc::CBMessageBodyRead(
## $fields_hash_ref, $html_text_ref, $files_array_ref);
##
## Arguments:
## $fields_hash_ref
## Reference to hash containing parsed message header. The
## structure of this hash is the same as described for
## the $mhonarc::CBMessageHeadRead callback.
##
## $html_text_ref
## Reference to string contain the HTML markup for the
## body. Modifications to the referenced data will be
## reflected in the message page generated. Therefore,
## care should be observed when doing any modification.
##
## If MHonArc was unable to convert the body of the
## message, the following expression will evaluate to
## true:
##
## $$html_text_ref eq ""
##
## If this is the case, you could set the value
## of $$html_text_ref to something else to customize
## the warning text MHonArc uses in the message page
## written.
##
## $files_array_ref
## Reference to array of derived files when the body
## was converted. Each file is typically relative
## to $mhonarc::OUTDIR, unless it is a full pathname.
## the mhonarc::OSis_absolute_path($filename) can
## be used to determine if a file is an absolute
## pathname or not. Note, it is possible that a
## file could designate a directory; this indicates
## that the directory, and all files in the directory,
## are derived.
##
## Modifications to the array will affect the list
## of derived files MHonArc stores for the message.
## You can add files to the array if your routine
## creates files, but you can also delete items if
## your routine removes files; CAUTION: the HTML markup
## typically contains links to derived files so removing
## files could cause broken links unless $html_text_ref
## is modified to reflect the file deletions.
##
## Return Value:
## N/A
##
## Notes:
## . To distinquish between SINGLE operation mode and
## archive operation mode, you can check the $mhonarc::SINGLE
## variable. For example:
##
## if ($mhonarc::SINGLE) {
## # single message-based processing here
## } else {
## # archive-based processing here
## }
##
## . The $mhonarc::CBMessageBodyRead routine can be used
## to trigger automatic virus scanning of attachments.
#require 'body_routine.pl'; # make sure source of routine is loaded
#$mhonarc::CBMessageBodyRead = \&your_body_routine_name;
##---------------------------------------------------------------------------##
## Make sure to return a true value for require().
##---------------------------------------------------------------------------##
1;
|