File: INSTALL

package info (click to toggle)
postman 2.1-6
  • links: PTS
  • area: main
  • in suites: lenny
  • size: 8,248 kB
  • ctags: 3,249
  • sloc: cpp: 33,376; ansic: 2,014; sh: 768; makefile: 300
file content (306 lines) | stat: -rw-r--r-- 11,185 bytes parent folder | download | duplicates (3)
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
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306

/* ====================================================================
 * Copyright (c) 2000-2002 University of Valencia.  All rights reserved.
 *
 * Redistribution and use in source and binary forms, with or without
 * modification, are permitted provided that the following conditions
 * are met:
 *
 * 1. Redistributions of source code must retain the above copyright
 *    notice, this list of conditions and the following disclaimer. 
 *
 * 2. Redistributions in binary form must reproduce the above copyright
 *    notice, this list of conditions and the following disclaimer in
 *    the documentation and/or other materials provided with the
 *    distribution.
 *
 * 3. All advertising materials mentioning features or use of this
 *    software must display the following acknowledgment:
 *    "This product includes software developed by the University 
 *    of Valencia."
 *
 * 4. The names "Postman" must not be used to endorse or promote products 
 *    derived from this software without prior written permission.
 *
 * 5. Redistributions of any form whatsoever must retain the following
 *    acknowledgment:
 *    "This product includes software developed by the University of Valencia"
 *
 * THIS SOFTWARE IS PROVIDED ``AS IS'' AND ANY EXPRESSED OR 
 * IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
 * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR
 * PURPOSE ARE DISCLAIMED.  IN NO EVENT SHALL ITS CONTRIBUTORS
 * BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
 * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT
 * NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;
 * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
 * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT,
 * STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
 * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED
 * OF THE POSSIBILITY OF SUCH DAMAGE.
 * ====================================================================
 */


You can get info for Postman in:

   http://www.uv.es/postman/

To subscribe to Postman mail list, please send one message with body
        "subscribe Postman-l YourFirstName YourLastName"
to address
        "listserv@listserv.uv.es"   


Install for Postman v. 2.0
---------------------------




WARNING: For change old Postman releases to 1.8 or upper
---------------------------------------------------------

Admin must delete all the files .savedmsg in the postman users directories.
(or make a script to add a blank line next to the 5th line of this file)


Install for Postman v. 1.12
----------------------------

-I have got working Postman in Linux and HP systems. Some people
 have Postman working on Solaris 7, 8 y 2.5.1. It must be easy got
 working on other UNIX systems. If you get it working on other systems, 
 please email me.

-Compile imap c-client from University of Washington. You do not need make 
a install of the imap sources! That software has the IMAP and MIME static 
library for Postman use. I have tested with Postman the last imap releases 
(4.7, 2000 and 2001). In
    ftp://ftp.uv.es/pub/unix/postman/postman.html
you can see the releases I have tested with Postman, but probably any upper
release will work Ok.
You can get some of then from:
    ftp://ftp.cac.washington.edu/imap/imap.tar.Z
 or from our ftp server
    ftp://ftp.uv.es/pub/unix/postman/

(One problem that can arise when compiling the library is the presence in the 
file 'mail.h' of the variables 'or' and 'not' (in the struct SEARCHPGM). 
You will rename them in the files where they appear (approximately 20 times,
search them with "grep -r -e '->or' imap_dir").
The "or" and "not" structure members in c-client produce errors in C++ 
compilations since gcc 2.95; the reason is that in a recent ANSI draft of C++, 
those strings have become reserved words and are illegal for use as identifiers.)
Put the imap sources at the same level that postman sources. Something like:
    /sources/imap.xx.xx
    /sources/postman
    
-Create an UNIX user to run the daemons (must be part of the web server group).
-Edit and setup the next files: Makefile, Config.h and files/interdaemon.cfg
-Run make
-Run make install
-The directory structure after install must be something like that:

     (Root dir)
     #ls -dl /var/postman
     drwxr-x---    7 postman    www         1024 Jul 11  2000 /var/postman
     
     (for postman users structure)
     #ls -al /var/postman/
     drwx------    2 postman  www          4096 Jul 11 11:01 locks
     drwxr-x---    2 postman  www          4096 Jul 11 11:01 netnews
     drwxrwx---    2 postman  www          4096 Jul 11 11:02 server
     drwxr-x---    2 postman  www          4096 Jul 11 11:01 sessions
     drwxrwx---    2 postman  www          4096 Jul 11 11:01 tmp
     drwx--x---    2 postman  www          4096 Jul 11 11:01 users
     -rw-r-----    1 postman  www       2621440 Feb 13 00:17 postman.db

     (for postman web pages)
     #ls -al /usr/local/apache/htdocs/postman/
     -rw-r--r--    1 root     www           617 Jul 11 11:01 disabled.html
     drwxr-sr-x    2 root     www          4096 Jul 11 11:01 help
     drwxr-sr-x    2 root     www          4096 Jul 11 11:01 icons
     -rw-r--r--    1 root     www          1992 Jul 11 11:01 postman_eng.html
     -rw-r--r--    1 root     www          2018 Jul 11 11:01 postman_spa.html
     -rw-r--r--    1 root     www          2045 Jul 11 11:01 postman_val.html

     (for postman web cgi)
     #ls -al /usr/local/apache/cgi-bin/       
     -rwxr-xr-x    1 root     www        156008 Jul 11 11:02 postman

     (more stuff)
     #ls -al /usr/local/etc
     -rw-r--r--    1 root     www           320 Jul 11 11:01 interdaemon.cfg
     -rw-r--r--    1 root     www             1 Jul 11 11:01 postman.disabledx
     -rw-r--r--    1 root     www            76 Jul 11 11:01 postman.mailcap
     -rw-r--r--    1 root     www           136 Jul 11 11:01 postman.motd.eng
     -rw-r--r--    1 root     www           154 Jul 11 11:01 postman.motd.spa
     -rw-r--r--    1 root     www           136 Jul 11 11:01 postman.motd.val

     (true daemon and the conf file)
     #ls -al /usr/local/sbin
     -rwxr-xr-x    1 root     root         997 Jul 11 11:01 interdaemon.ini
     -rwxr-xr-x    1 root     root      914424 Jul 11 11:02 interdaemon

-The user postman and his group:
# grep postman /etc/passwd
postman:*:37:102:Postman user:/var/postman:/bin/bash
# grep postman /etc/group 
www::102:www,postman

Moreover, you must have a Web Server (like Apache) in the same computer and
one IMAP server (in the same or other computer).

You can now access to postman with

http://the.httpd.server/cgi-bin/postman?lang=eng

If you want to use postman.db, every user must have the next info:
    imapserver char[49]
    imapport   integer
    smtpserver char[49]
    maildomain char[49]

The login pages
----------------

Postman have, in the distribution, four login pages:

    postman_eng.html (for english language)
    postman_spa.html (for spanish language)
    postman_val.html (for catala language)
    postman_xxx.html (english example page for user imap server choosing demostration
                      writing it in a text field)
    postman_xxx2.html (english example page for user imap server choosing 
                       demostration selecting it from combobox)

(
Have in mind that these pages are not pure html. Postman preprocess that pages
for special tags. For example, the next line will include a file
in the html returned by Postman for user announcements:
^ INC /usr/local/etc/postman.motd.spa
)   
   
For avoid the selection of server by the user:
-you must set the switch allowotherimapservers = 0 in "interdaemon.cfg".
-In html login page: <INPUT TYPE=HIDDEN name=imapserver value="#">
 WARNING: "#" is NOT localhost.
 This value for imapserver mean:
  If usedbforconf is 1 and the user exists in db, search postman.db for user conf (imapserver,
    imapport, smtpserver, maildomain).
  If usedbforconf is 0 or the user do not exists in db, use def_user_not_in_db entry
    in "interdaemon.cfg" for default section entry.
  
For allow the selection of any server by the user (not listed in "interdaemon.cfg"):
-you must set the switch allowotherimapservers = 1 in "interdaemon.cfg".
-In html login page: 
   <INPUT TYPE=TEXT SIZE=20 name=imapserver value="postal"> <BR>  
   
   or
   
    <SELECT NAME="imapserver">
    <OPTION VALUE=postal.uv.es selected>postal
    <OPTION VALUE=post.uv.es>post
    <OPTION VALUE=charlot.uv.es>charlot
    <OPTION VALUE=teleline>teleline
    </SELECT>
             
    
You can also, of course, include a brief login box in anyone html page
including the html code:

    <HR>
    <FORM ACTION="http://xxx.xx.xx/cgi-bin/postman" METHOD="POST">
    <INPUT TYPE=HIDDEN NAME="lang" VALUE="spa"><INPUT TYPE=HIDDEN NAME="cmd" VALUE="login">
    <INPUT TYPE=HIDDEN NAME="beginmailbox" VALUE="#local.a">
    <INPUT TYPE=SUBMIT NAME="Entrar" VALUE="Mail">
    <INPUT TYPE=HIDDEN name=imapserver value="#">
    User:
    <input type=text size=10 name=user value="">&nbsp;&nbsp; 
    Password:
    <input type=password size=10 name=pw>&nbsp;&nbsp; 
    </font>
    </FORM>
    <HR>


If you want to specify the initial mailbox to open will be 
, by example, your IMAP folder "postmanlist" you must put
the next line in the html page:

    <INPUT TYPE=HIDDEN NAME="beginmailbox" VALUE="postmanlist">

or one NNTP folder:

    <INPUT TYPE=HIDDEN NAME="beginmailbox" VALUE="#comp.os.linux.announce">

You could do like as the next:

    <SELECT NAME="beginmailbox">
    <OPTION VALUE="" selected>My mail
    <OPTION VALUE="#local.announces">Institutional announces
    </SELECT>


Screenshots:
-------------

We have a working Postman in
  http://correo.uv.es
Sorry, no demo user at this moment.

You can see screenshots in:

ftp://ftp.uv.es/pub/unix/postman/screenshots/screenshots.html

Problems:
----------

-Postman configuration is not yet automatized. The most problems
 are for wrong file permission or owners.
-You must have one Apache conf entry like that in /usr/local/apache/conf/httpd.conf

     DocumentRoot "/usr/local/apache/htdocs"
     ScriptAlias /cgi-bin/ "/usr/local/apache/cgi-bin/"
     <Directory "/usr/local/apache/cgi-bin">
         AllowOverride None
         Options ExecCGI
         Order allow,deny
         Allow from all
     </Directory>

 or you can use virtual hosts:

#NON SECURE MAIL
<VirtualHost 147.156.1.19:80>
SSLDisable
DocumentRoot /u/www/htdocs
ServerName correo.uv.es
ErrorLog logs/correo_error.log
TransferLog logs/correo_access.log
ScriptAlias /cgi-bin/ /u/www/cgi-bin/
RewriteEngine on
RewriteRule  ^/$  /cgi-bin/postman?lang=spa [PT]
</VirtualHost>

#SECURE MAIL
<VirtualHost 147.156.1.19:443>
SSLEnable
Port 443
DocumentRoot /u/www/htdocs
ServerName correo.uv.es
ErrorLog logs/correo_secure_error.log
TransferLog logs/correo_secure_access.log
ScriptAlias /cgi-bin/ /u/www/cgi-bin/
RewriteEngine on
RewriteRule  ^/$  /cgi-bin/postman?lang=spa [PT]
</VirtualHost>

Copyright:
-------------

Jose Agustin Lopez Bueno (Agustin.Lopez@uv.es) and University of Valencia.