File: mhasiteinit.pl

package info (click to toggle)
mhonarc 2.6.10-1
  • links: PTS
  • area: main
  • in suites: sarge
  • size: 8,580 kB
  • ctags: 7,851
  • sloc: perl: 278,706; makefile: 34
file content (178 lines) | stat: -rw-r--r-- 7,320 bytes parent folder | download
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;