home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
OS/2 Shareware BBS: 22 gnu
/
22-gnu.zip
/
mh683u05.zip
/
README.OS2
< prev
Wrap
Text File
|
1996-09-23
|
54KB
|
1,551 lines
;;;
;;; $Id: README.OS2,v 1.5 1996/09/16 23:16:34 H.Ueno Exp $
;;;
::: Hiroshi Ueno <zodiac@ibm.net>
:::
In this document, you can find the information of how you can install
and configure MH under OS/2 environment.
This document is not intented for MH tutorial. If you want the
`How-To' information of MH, please consult the documents provided in
the MH archive and man manuals, or try to find someone arround you who
can kindly teach you what you wnat to know.
+---------------------------------+
| 1.0 Introduction to MH for OS/2 |
+---------------------------------+
MH for OS/2 is a set of patches for MH 6.8.3/6.8.4 and some other files
which are used to make MH under OS/2 environment. MH for OS/2 can be
used from OS/2 command prompt or via Emacs+mh-e/Mew interface.
MH for OS/2 sends and receives the mails using TCP/IP (SMTP/POP, sendmail)
or UUCP connection. Most of the internet service providers support the
mail exchange via SMTP/POP and/or UUCP protocols.
The installation and configuration of MH for OS/2 is explained in the
following chapters of this document:
For SMTP/POP:
"3.0 Installation and Configuration for SMTP/POP"
For sendmail/POP:
"4.0 Installation and Configuration for sendmail/POP"
For UUCP:
"5.0 Installation and Configuration for UUCP"
+-------------------+
| 2.0 Prerequisites |
+-------------------+
1. OS/2 Version 2.1 or later.
2. MH 6.8.3 or MH 6.8.4 source files.
This package only contains files required under OS/2 environment.
You need to have the MH 6.8.3 or MH 6.8.4 archive. You can find
the archive file at many anonymous ftp sites as `mh-6.8.3.tar.gz'
or `mh-6.8.4.tar.gz'
If you have MH 6.8.3 sources, you do not need to update them to
MH 6.8.4 by yourself. MH for OS/2 configuration program
automatically updates MH 6.8.3 sources to 6.8.4 during its process.
3. You need the following programs to unpack an MH 6.8.3 archive:
GNU gzip
GNU tar
Also you need the following utilities to build and install MH for OS/2:
Info-Zip UnZip 5.x
emx/gcc 0.9a or later (*1, *2)
GNU patch (*3)
GNU make
GNU sed
GNU file utilities (gnufutil.zip)
*1) If you use emx0.9a, make sure to apply fix06 before you start
making MH modules. Some modules made with emx0.9a without fixes
may dump at the execution time.
*2) You need to install bsddev.zip to make MH for OS/2.
*3) I recommend you to rename GNU patch program to gpatch.exe. It avoids
the conflict between OS/2's patch.exe. Also configure.cmd expects
gpatch.exe as a GNU patch program by default.
If you want to view man manuals, the following tools are required:
GNU man
GNU grof
GNU text utiliies (gnututil.zip)
less
You can find all these tools at ftp://hobbes.nmsu.edu or at its mirror
sites. You can get those from Hobbes CD-ROM too.
The following is a list of tools I used to make and test MH for
OS/2:
Info-Zip UnZip 5.12
GNU gzip 1.2.4 (32bit)
GNU tar 1.10
GNU patch 2.1
GNU make 3.74
GNU sed 2.05
GNU file utilities 3.12
emx/gcc 0.9a fix06
emx/gcc 0.9a fix06 + gcc 2.7.0
emx/gcc 0.9b fix05
emx/gcc 0.9c
GNU man 1.0
GNU groff 1.09
GNU text utilities 1.12
less 2.91
GNU Emacs 19.29.2/19.30.1/19.31/19.33
Mule 1.1m/2.3
mh-e 4.1/5.0
UUPC/Extended 1.12k/1.12r
4. HPFS formatted disk with at least 20MB of free spaces in order to
make MH for OS/2. Additional 6MB is required to install it.
5. One of the following software should have been installed and working:
a) When you use MH over TCP/IP (sendmail/SMTP/POP) connection:
- TCP/IP for OS/2 Version 2
- TCP/IP for OS/2 Version 3 included in Warp Connect
- Internet Access Kit (IAK)
The LAN or the dial up connection (SLIP or PPP) can be used.
b) When you use MH over UUCP connection:
- UUPC/Extended 1.12k or later
UUPC/Extended can be found at
ftp://ftp.leo.org/pub/comp/os/os2/mail+news/
or other ftp sites.
Note: UUPC/Extented 1.12b, which can be found at hobbes, does
not work with MH for OS/2.
4. If you are using OS/2 2.x, REXX feature needs to be installed.
+-------------------------------------------------+
| 3.0 Installation and Configuration for SMTP/POP |
+-------------------------------------------------+
With this configuration, you can send mails via SMTP server and receive
mails from POP host.
3.1 Making MH
-------------
0. Install all requires utilities for making MH. See
`Prerequisites' above.
1. Unpack MH 6.8.3 or 6.8.4 archive using GNU tar:
tar zxvf mh-6.8.{3|4}.tar.gz
This will create mh-6.8.3/ or mh-6.8.4/ directory and MH source
files will be places under that directory. mh-6.8.3/ is referred
as MH top directory hereafter.
2. Place an mhos2.zip file under the MH top directory.
3. Change the current directory to the MH top directory then unpack
an mhos2.zip file:
cd mh-6.8.3
unzip mhos2.zip
4. Edit a `mh-6.8.3\conf\os2\os2.tcpip' file to suit your environment.
You can modify the following lines:
bin A directory which MH executables files will be copied to.
etc A directory which MH library files will be copied to.
If your POP server allows RPOP and you want to use it, add the
following statement.
options RPOP
If you want the man manuals for MH, please change the `manuals'
statement as below:
manuals standard
Then change the `mandir' statement so that it points to the
directory to which you want to install the man manuals.
When you use emx/gcc 0.9c to compile and link MH for OS/2, you can
add -Zcrtdll to ldoptions line to reduce the size of MH executables.
5. Issue the following command from the MH top directory:
configure tcpip
A `configure.cmd' will;
- delete *.orig and *.rej files.
- apply the patches to update to MH 6.8.4 if the souces are
MH 6.8.3.
- apply OS/2 patches to the MH source files
- create a backup of `mhos2.pat' as `mhos2.pa_' then delete
`mhos2.pat'
- delete *.orig files created during applying patches
- make `mhconfig.exe'
- run `mhconfig.exe' to create configuration files and Makefiles
- issue `make clean' to clean up the grabage
- display messages if applying patches failed or mhconfig ended
with an error.
When some of the patches failed to be applied, please apply those
patches manually.
6. Now you are ready to build MH for OS/2. Just issue `make' at the
MH top directory.
make
All MH executable and library files will be created. The man
manuals will also be created if you specified in the configuration
file.
3.2 Install
-----------
1. Issue the following command at the MH top directory. This will
install all files except the MH man manuals.
make inst-all
To install the MH man manuals,
cd doc
make inst-all
3.3 Configuration
-----------------
1. Edit a `services' file of TCP/IP product to specify a port number
for pop3 protocol. It can be found under TCPIP\ETC or MPTN\ETC
directory. Add a following statement to the file:
pop3 110/tcp
2. Edit a file named `mtstailor' which has been installed in the MH
library file directory. The MH library file directory is a
directory which is specified by `etc' statement in a
`conf\os2\os2.tcpip' file or a directory pointed to by MHETCPATH
environment variable mentioned below.
You need the following statements in an `mtstailor' file:
pophost: The host name of a default POP host.
servers: A list of the names of the SMTP servers. You can
specify more than one SMTP servers by separating
them by one or more blanks between them.
localname: The name of your POP service host which will follow
your user id and `@' in the `From' field of your
sending mail.
Example 1: My POP host is `pophost.provider.com', SMTP server is
`smtp.provider.com', and pop service host name is
`provider.net'.
pophost: pophost.provider.com
servers: smtp.provider.com
localname: provider.net
Example 2: My POP host is `pophost.provider.com', SMTP server is
`smtp.provider.com'. I have a secondary smpt server at
`smtp2.network.com'. A pop service host name is
`provider.net'.
pophost: pophost.provider.com
servers: smtp.provider.com smtp2.network.com
localname: provider.net
** Important Note **
Each line in a `mtstailor' file must end with CR(+LF). Some
editors does not automatically insert CR(+LF) character at the end
of the last line so you need to intentionally insert it. If there
is no CR(+LF) at the end in the above examples, you may experience
a bad `From:' mail header because the `localname:' statement,
the last line in a file without CR(+LF), is ignored.
3. Add the statements to your `CONFIG.SYS' to set the environmet
variables. MH for OS/2 uses the following envionment varaibles:
HOME (Mundatory)
Your home directory where `.mh_profile',
`.netrc' etc. are placed.
example: SET HOME=D:\MY-HOME
USER (Mundatory)
Your user ID recognized by the SMTP/POP hosts.
TZ (Optional)
Your timezone. You have to set this right to make the
`Date:' field of your sending mail correct.
See "6.0 TZ environment variable" for the format
of TZ environment variable.
MHBINPATH (Optional)
You need this environment variable only when
the directory for the MH executable files is
different from the directory specified by `bin'
statement in a `conf\os2\os2.tcpip' file.
Set the full path of the directory where the MH
executable files are placed.
example: SET MHBINPATH=D:\MH\MH-PROGS
MHETCPATH (Optional)
You need this environment variable only when
the directory for the MH library files is
different from the directory specified by `etc'
statement in a `conf\os2\os2.tcpip' file.
Set the full path of the directory where the MH
library files are placed.
example: SET MHETCPATH=D:\MH\MH-LIB
TMP (Optional)
Directory where MH places its temporary files. If TMP
environmet is not specified, the temporary files will
be created under the current directory.
NOMHNPROC (Optional)
Now ``mhn'' command is available and it will be called
by show/next/prev commands by default for the MIME mails.
If you do not want to use ``mhn'' to show the mails or
if you want show/next/prev commands act as the previous
release of MH for OS/2, just set this envariable to
completely disable ``mhn'' command.
example: SET NOMHNPROC=1
4. Reboot the system to make the updated `CONFIG.SYS' effective.
5. Run `install-mh' program which has been installed under the MH
library file directory. It prompts you the candidates of the mail
directory where your mail will be saved. After you answered `N' to
all the candidates, you can type in the whole path of your mail
directory.
An `install-mh' program creates a `.mh_profile' under your home
directory if one does not exist. It refuses to run when a
`.mh_profile' already exists so you have to edit a profile
manually.
When you issue a MH command, e.g. inc, without a `.mh_profile' in
your home directory, an install-mh command is called and it creates
a profile automatically. In this case, your mail directory is set
to $HOME/Mail (Mail directory under your home drectory).
6. If your user ID for the POP host is not same as the one for the
SMTP server, try the following configuration.
1) Set the user ID for SMTP server to USER environment variable.
2) Add the statements like below to an .mh_profile (where xxxx is
your user ID for the POP host).
inc: -user xxxx
msgchk: -user xxxx
3.4 Verifying Setup
-------------------
1. Make sure you can access the POP server using ping or by some
means.
2. Run msgchk command. Type your pop3 password whem it prompts you to
enter the password. If MH was built with RPOP capability or if you
have a .netrc file in your home directory, msgchk command will not
ask for your password.
3. You will see a message like below if you can successfully
communicate with the POP host. The message can be of one of two
types depending on the existence of the waiting mails.
You don't have any mail waiting on pop.inter.net (No mail waiting)
You have 5 messages (28818 bytes) on pop.inter.net (Mail waiting)
If msgchk command ends with one of a messsages listed below, you
have not properly set up the MH. Take a proper action then try
again.
Message: You don't have any mail waiting
Cause: mtstailor does not exist.
mtstailor is in the wrong directory.
mtstailor does not have a valid `pophost:' statement
Action: Place a mtstailor file under the correct directory,
which the etc statement of the configuration file or
MHETCPATH environment variable points to.
See `Configuration' section above for the mtstailor
file format.
Message: msgchk: no servers available
Cause: Could not access a pop host.
A mtstailor file does not have a valid pophost:
statement.
Action: Check the accessibility to the pop host.
Add a valid pophost: statement to a mtstailor file.
Message: msgchk: tcp/pop3: unknown service
Cause: No pop3 definition in a `services' file.
Action: Add a required statement to a TCPIP\ETC\SERVICES or
a MPTS\ETC\SERVICES file. See `Configuration'
section above.
4. Send some mails to yourself to check the validity of the headers of
your mails. The insufficient or incorrect setup will lead to the
invalid headers, e.g. invalid `From:' or incorrect `Date:'. Check
your setting of TZ environmet variable and the contents of the
mtstailor file to correct the error. See "6.0 TZ environment
variable" for the correct TZ setting.
Check the following items if you failed to send mails to yourself:
- Does your `mtstailor' file have a proper servers: statement
and it specifies a correct SMTP server name or address?
- Is SMTP server accessible now? Use `ping' or other tools to
confirm.
- Have you set USER environment variable correctly?
3.5 POP3 password
-----------------
When you use POP3 protocol, you need to give your password to the POP
host. `Inc' and `msgchk' commands will prompt you to enter your
password everytime it is invoked. But that is not good for the Mew or
mh-e users as there is no way to enter your password via Mew or mh-e
interface.
If you want MH programs not to prompt for your password, you can save
your password in `.netrc' file under your HOME directory. A `.netrc'
file need to have a line shown like below:
machine POP-HOST-NAME passwd YOUR-PASSWORD
Example: If your POP host is pophost.inter.net and your password is
mypass.
machine pophost.inter.net passwd mypass
WARNING:
IF YOU SAVE YOUR PASSWORD IN A PLAIN TEXT FILE, IT IS POSSIBLE THAT
YOUR PASSWORD WILL BE EXPOSED TO SOMEONE ELSE. IT IS YOUR
RESPONSIBILITY TO KEEP YOUR PASSWORD FROM OTHERS. ESPECIALLY, YOU
MUST NOT PLACE IT TO THE NETWORK DRIVE OR ANY OTHER SHARED
RESOURCES.
3.6 Consideration for RPOP
--------------------------
1. You can build MH for OS/2 with RPOP capability (See `Making MH'
chapter). However, most of the internet service providers do not
support RPOP. You can simply disable RPOP feature of MH and let it
use the standard POP3 by adding the following statements to your
`.mh_profile' without re-building MH.
inc: -norpop
msgchk: -norpop
+-----------------------------------------------------+
| 4.0 Installation and Configuration for sendmail/POP |
+-----------------------------------------------------+
With this configuration, you can send mails using OS/2 sendmail and
receive mails from POP host.
4.1 Making MH
-------------
0. Install all requires utilities for making MH. See
`Prerequisites' above.
1. Unpack MH 6.8.3 or 6.8.4 archive using GNU tar:
tar zxvf mh-6.8.{3|4}.tar.gz
This will create mh-6.8.3/ or mh-6.8.4/ directory and MH source
files will be places under that directory. mh-6.8.3/ is referred
as MH top directory hereafter.
2. Place an mhos2.zip file under the MH top directory.
3. Change the current directory to the MH top directory then unpack
an mhos2.zip file:
cd mh-6.8.3
unzip mhos2.zip
4. Edit a `mh-6.8.3\conf\os2\os2.sendmail' file to suit your
environment. You can modify the following lines:
bin A directory which MH executables files will be copied to.
etc A directory which MH library files will be copied to.
If your POP server allows RPOP and you want to use it, add the
following statement.
options RPOP
If you want the man manuals for MH, please change the `manuals'
statement as below:
manuals standard
Then change the `mandir' statement so that it points to the
directory to which you want to install the man manuals.
When you use emx/gcc 0.9c to compile and link MH for OS/2, you can
add -Zcrtdll to ldoptions line to reduce the size of MH executables.
5. Issue the following command from the MH top directory:
configure sendmail
A `configure.cmd' will;
- delete *.orig and *.rej files.
- apply the patches to update to MH 6.8.4 if the souces are
MH 6.8.3.
- apply OS/2 patches to the MH source files
- create a backup of `mhos2.pat' as `mhos2.pa_' then delete
`mhos2.pat'
- delete *.orig files created during applying patches
- make `mhconfig.exe'
- run `mhconfig.exe' to create configuration files and Makefiles
- issue `make clean' to clean up the grabage
- display messages if applying patches failed or mhconfig ended
with an error.
When some of the patches failed to be applied, please apply those
patches manually.
6. Now you are ready to build MH for OS/2. Just issue `make' at the
MH top directory.
make
All MH executable and library files will be created. The man
manuals will also be created if you specified in the configuration
file.
4.2 Install
-----------
1. Issue the following command at the MH top directory. This will
install all files except the MH man manuals.
make inst-all
To install the MH man manuals,
cd doc
make inst-all
4.3 Configuration
-----------------
1. Edit a `services' file of TCP/IP product to specify a port number
for pop3 protocol. It can be found under TCPIP\ETC or MPTN\ETC
directory. Add a following statement to the file:
pop3 110/tcp
2. MH for OS/2 forces OS/2 sendmail to use %ETC%\SENDMAIL.UML as its
configuration file. If you do not have it, you should create
it or copy SENDMAIL.CF to SENDMAIL.UML and edit it. Please refer
the TCP/IP manuals or other books to know how to setup your
SENDMAIL.UML file.
** IMPORTANT NOTE **
Never use the editor like tedit.exe which replaces TAB characters
with spaces. If TAB's are replaced with spaces, sendmail will trap
at execution time.
3. Edit a file named `mtstailor' which has been installed in the MH
library file directory. The MH library file directory is a
directory which is specified by `etc' statement in a
`conf\os2\os2.sendmail' file or a directory pointed to by MHETCPATH
environment variable mentioned below.
MH for OS/2 retrieves the information which is set by IBM dialer.
If you have set the required information in the IBM dialer, you can
omit the optional portion of the `mtstailor'. If you use the other
dialer or you use the LAN connection, you should set all information
in the `mtstailor'. The setting in the `mtstailor' overrides the
setting in the IBM dialer.
You need the following statements in an `mtstailor' file:
pophost: The host name of a default POP host.
servers: (Optional) The host name or IP addess of the mail
gateway which sendmail.exe talks to. This
overrides the ``Mail Gateway'' setting of the
dialer.
localname: (Optional) The name of your POP service host
which will follow your user id and `@' in the
`From' field of your sending mail. This
overrides the ``Reply Domain'' setting of the
dialer.
Example: My POP host is `pophost.provider.com', mail gateway is
`smtp.provider.com', and pop service host name is
`provider.net'.
pophost: pophost.provider.com
servers: smtp.provider.com
localname: provider.net
** Important Note **
Each line in a `mtstailor' file must end with CR(+LF). Some
editors does not automatically insert CR(+LF) character at the end
of the last line so you need to intentionally insert it. If there
is no CR(+LF) at the end in the above examples, you may experience
a bad `From:' mail header because the `localname:' statement,
the last line in a file without CR(+LF), is ignored.
4. Add the statements to your `CONFIG.SYS' to set the environmet
variables. MH for OS/2 uses the following envionment varaibles:
HOME (Mundatory)
Your home directory where `.mh_profile',
`.netrc' etc. are placed.
example: SET HOME=D:\MY-HOME
USER (Mundatory)
Your user ID recognized by the SMTP/POP hosts.
TZ (Optional)
Your timezone. You have to set this right to make the
`Date:' field of your sending mail correct.
See "6.0 TZ environment variable" for the format
of TZ environment variable.
MHBINPATH (Optional)
You need this environment variable only when
the directory for the MH executable files is
different from the directory specified by `bin'
statement in a `conf\os2\os2.sendmail' file.
Set the full path of the directory where the MH
executable files are placed.
example: SET MHBINPATH=D:\MH\MH-PROGS
MHETCPATH (Optional)
You need this environment variable only when
the directory for the MH library files is
different from the directory specified by `etc'
statement in a `conf\os2\os2.sendmail' file.
Set the full path of the directory where the MH
library files are placed.
example: SET MHETCPATH=D:\MH\MH-LIB
TMP (Optional)
Directory where MH places its temporary files. If TMP
environmet is not specified, the temporary files will
be created under the current directory.
NOMHNPROC (Optional)
Now ``mhn'' command is available and it will be called
by show/next/prev commands by default for the MIME mails.
If you do not want to use ``mhn'' to show the mails or
if you want show/next/prev commands act as the previous
release of MH for OS/2, just set this envariable to
completely disable ``mhn'' command.
example: SET NOMHNPROC=1
5. Reboot the system to make the updated `CONFIG.SYS' effective.
6. Run `install-mh' program which has been installed under the MH
library file directory. It prompts you the candidates of the mail
directory where your mail will be saved. After you answered `N' to
all the candidates, you can type in the whole path of your mail
directory.
An `install-mh' program creates a `.mh_profile' under your home
directory if one does not exist. It refuses to run when a
`.mh_profile' already exists so you have to edit a profile
manually.
When you issue a MH command, e.g. inc, without a `.mh_profile' in
your home directory, an install-mh command is called and it creates
a profile automatically. In this case, your mail directory is set
to $HOME/Mail (Mail directory under your home drectory).
4.4 Verifying Setup
-------------------
1. Make sure you can access the POP server using ping or by some
means.
2. Run msgchk command. Type your pop3 password whem it prompts you to
enter the password. If MH was built with RPOP capability or if you
have a .netrc file in your home directory, msgchk command will not
ask for your password.
3. You will see a message like below if you can successfully
communicate with the POP host. The message can be of one of two
types depending on the existence of the waiting mails.
You don't have any mail waiting on pop.inter.net (No mail waiting)
You have 5 messages (28818 bytes) on pop.inter.net (Mail waiting)
If msgchk command ends with one of a messsages listed below, you
have not properly set up the MH. Take a proper action then try
again.
Message: You don't have any mail waiting
Cause: mtstailor does not exist.
mtstailor is in the wrong directory.
mtstailor does not have a valid `pophost:' statement
Action: Place a mtstailor file under the correct directory,
which the etc statement of the configuration file or
MHETCPATH environment variable points to.
See `Configuration' section above for the mtstailor
file format.
Message: msgchk: no servers available
Cause: Could not access a pop host.
A mtstailor file does not have a valid pophost:
statement.
Action: Check the accessibility to the pop host.
Add a valid pophost: statement to a mtstailor file.
Message: msgchk: tcp/pop3: unknown service
Cause: No pop3 definition in a `services' file.
Action: Add a required statement to a TCPIP\ETC\SERVICES or
a MPTS\ETC\SERVICES file. See `Configuration'
section above.
4. Send some mails to yourself to check the validity of the headers of
your mails. The insufficient or incorrect setup will lead to the
invalid headers, e.g. invalid `From:' or incorrect `Date:'. Check
your setting of TZ environmet variable and the contents of the
mtstailor file to correct the error. See "6.0 TZ environment
variable" for the correct TZ setting.
Check the following items if you failed to send mails to yourself:
- Does your `mtstailor' file have a proper servers: statement
and it specifies a correct mail gateway name or address?
- Is mail gateway accessible now? Use `ping' or other tools to
confirm.
- Is SENDMAIL.UML correct?
5. If you try to send a mail when your PC is off-line, it will be
queued in %ETC%\MQUEUE directory. You can send that mail by
invoking MAILQ.EXE when your PC is on-line. IBM dialer
automatically calls MAILQ.EXE when the SLIP/PPP session is
established and the queued mails are sent at this point.
If you use the other dialer, you have to invoke MAILQ.EXE by
yourself or, if possible, setup the dialer's auto-start program.
4.5 POP3 password
-----------------
When you use POP3 protocol, you need to give your password to the POP
host. `Inc' and `msgchk' commands will prompt you to enter your
password everytime it is invoked. But that is not good for the Mew or
mh-e users as there is no way to enter your password via Mew or mh-e
interface.
If you want MH programs not to prompt for your password, you can save
your password in `.netrc' file under your HOME directory. A `.netrc'
file need to have a line shown like below:
machine POP-HOST-NAME passwd YOUR-PASSWORD
Example: If your POP host is pophost.inter.net and your password is
mypass.
machine pophost.inter.net passwd mypass
WARNING:
IF YOU SAVE YOUR PASSWORD IN A PLAIN TEXT FILE, IT IS POSSIBLE THAT
YOUR PASSWORD WILL BE EXPOSED TO SOMEONE ELSE. IT IS YOUR
RESPONSIBILITY TO KEEP YOUR PASSWORD FROM OTHERS. ESPECIALLY, YOU
MUST NOT PLACE IT TO THE NETWORK DRIVE OR ANY OTHER SHARED
RESOURCES.
4.6 Consideration for RPOP
--------------------------
1. You can build MH for OS/2 with RPOP capability (See `Making MH'
chapter). However, most of the internet service providers do not
support RPOP. You can simply disable RPOP feature of MH and let it
use the standard POP3 by adding the following statements to your
`.mh_profile' without re-building MH.
inc: -norpop
msgchk: -norpop
+---------------------------------------------+
| 5.0 Installation and Configuration for UUCP |
+---------------------------------------------+
With this configuration, you can exchange mails using UUCP/Extended.
5.1 Making MH
-------------
0. Install all requires utilities for making MH. See
`Prerequisites' above.
1. Unpack MH 6.8.3 or 6.8.4 archive using GNU tar:
tar zxvf mh-6.8.{3|4}.tar.gz
This will create mh-6.8.3/ or mh-6.8.4/ directory and MH source
files will be places under that directory. mh-6.8.3/ is referred
as MH top directory hereafter.
2. Place an mhos2.zip file under the MH top directory.
3. Change the current directory to the MH top directory then unpack
an mhos2.zip file:
cd mh-6.8.3
unzip mhos2.zip
4. Edit a `mh-6.8.3\conf\os2\os2.uucp' file to suit your environment.
You can modify the following lines:
bin A directory which MH executables files will be copied to.
etc A directory which MH library files will be copied to.
If you want the man manuals for MH, please change the `manuals'
statement as below:
manuals standard
Then change the `mandir' statement so that it points to the
directory to which you want to install the man manuals.
When you use emx/gcc 0.9c to compile and link MH for OS/2, you can
add -Zcrtdll to ldoptions line to reduce the size of MH executables.
5. Issue the following command from the MH top directory:
configure uucp
A `configure.cmd' will;
- delete *.orig and *.rej files.
- apply the patches to update to MH 6.8.4 if the souces are
MH 6.8.3.
- apply OS/2 patches to the MH source files
- create a bakcup of `mhos2.pat' as `mhos2.pa_' then delete
`mhos2.pat'
- delete *.orig files created during applying patches
- make `mhconfig.exe'
- run `mhconfig.exe' to create configuration files and Makefiles
- issue `make clean' to clean up the grabage
- display messages if applying patches failed or mhconfig ended
with an error.
When some of the patches failed to be applied, please apply those
patches manually.
6. Now you are ready to build MH for OS/2. Just issue `make' at the
MH top directory.
make
All MH executable and library files will be created. The man
manuals will also be created if you specified in the configuration
file.
5.2 Install
-----------
1. Issue the following command at the MH top directory. This will
install all files except the MH man manuals.
make inst-all
To install the MH man manuals,
cd doc
make inst-all
5.3 Configuration
-----------------
1. Edit a file named `mtstailor' which has been installed in the MH
library file directory. The MH library file directory is a
directory which is specified by `etc' statement in a
`conf\os2\os2.uucp' file or a directory pointed to by MHETCPATH
environment variable mentioned below.
You do not need to have a `mtstailor' if you have properly
configured the UUPC/Extended. MH gets the necessary information
from the $UPCSYSRC and $UUPCUSRRC. The values in the mtstailor
override what are defined in the UUPC/Exteded configuration files.
You need the following statements in an `mtstailor' file:
systemname: (Optional) The name of the local host in the
UUCP domain. If omitted, the value from the
`Domain=' statement in $UUPCSYSRC is used.
uucpldir: (Optional) The name of the directory where UUCP
maildrops are kept. If omitted, the directory
is determined in the following order:
1) A directory specified by `MailDir=' directive
in $UUPCSYSRC.
2) "Mail" directory under the directory specified
by `ConfDir=' directive in $UUPCSYSRC.
3) "Mail" directory under the directory where
$UUPCSYSRC is in.
(Example) uucpldir: d:/uupc/mail
uucplfil: (Optional) The name of the maildrop file in the
directory where UUCP maildrops are kept. If
omitted, a file name is determined from
`MailBox=' in $UUPCUSRRC and `MailExt=' in
$UUPCSYSRC.
(Example) uucplfil: zodiac.SPB
mmdfldir: (Optional)
The directory where the maildrops in Unix formal,
converted from UUCP mail spool, are kept. If
omitted, your home directory is used.
mmdflfil: (Optional)
The name of the maildrop file in the directory
where Unix format maildrops are kept. If omitted,
the user's login name, gotten from USER environment
variable, is used.
Example 1: My local UUCP domain name is `xxx.yyy.uucp', UUCP maildrop
file is `d:/uupc/mail/myname.SPB'.
uucpldir: d:/uupc/mail
uucplfil: myname.SPB
systemname: xxx.yyy.uucp
** Important Note **
Each line in a `mtstailor' file must end with CR(+LF). Some
editors does not automatically insert CR(+LF) character at the end
of the last line so you need to intentionally insert it. If there
is no CR(+LF) at the end in the above examples, you may experience
a bad `From:' mail header because the `localname:' statement,
the last line in a file without CR(+LF), is ignored.
2. Add the statements to your `CONFIG.SYS' to set the environmet
variables. MH for OS/2 uses the following envionment varaibles:
HOME (Mundatory)
Your home directory where `.mh_profile' etc.
are placed.
example: SET HOME=D:\MY-HOME
USER (Mundatory)
UUCP node name.
TZ (Optional)
Your timezone. You have to set this right to make the
`Date:' field of your sending mail correct.
See "6.0 TZ environment variable" for the format
of TZ environment variable.
MHBINPATH (Optional)
You need this environment variable only when
the directory for the MH executable files is
different from the directory specified by `bin'
statement in a `conf\os2\os2.uucp' file.
Set the full path of the directory where the MH
executable files are placed.
example: SET MHBINPATH=D:\MH\MH-PROGS
MHETCPATH (Optional)
You need this environment variable only when
the directory for the MH library files is
different from the directory specified by `etc'
statement in a `conf\os2\os2.uucp' file.
Set the full path of the directory where the MH
library files are placed.
example: SET MHETCPATH=D:\MH\MH-LIB
TMP (Optional)
Directory where MH places its temporary files. If TMP
environmet is not specified, the temporary files will
be created under the current directory.
NOMHNPROC (Optional)
Now ``mhn'' command is available and it will be called
by show/next/prev commands by default for the MIME mails.
If you do not want to use ``mhn'' to show the mails or
if you want show/next/prev commands act as the previous
release of MH for OS/2, just set this envariable to
completely disable ``mhn'' command.
example: SET NOMHNPROC=1
3. Reboot the system to make the updated `CONFIG.SYS' effective.
4. Run `install-mh' program which has been installed under the MH
library file directory. It prompts you the candidates of the mail
directory where your mail will be saved. After you answered `N' to
all the candidates, you can type in the whole path of your mail
directory.
An `install-mh' program creates a `.mh_profile' under your home
directory if one does not exist. It refuses to run when a
`.mh_profile' already exists so you have to edit a profile
manually.
When you issue a MH command, e.g. inc, without a `.mh_profile' in
your home directory, an install-mh command is called and it creates
a profile automatically. In this case, your mail directory is set
to $HOME/Mail (Mail directory under your home drectory).
5.4 Verifying Setup
-------------------
1. Before using MH with UUPC/Extended, you have to make sure that you
can exchange the mails via UUPC/Extended alone. MH sends the mails
by queuing them via rmail.exe of UUPC/Extended. MH incorporates the
mails from the UUCP mail spool where the maildrops received by
UUPC/Extended are kept.
2. First, make sure your UUCP mail spool is empty. Then send mails to
yourself locally using MH and the mails are spooled in the mail
spool file.
Run `msgchk' command to see if MH can recognize the mail existence.
It displays the message like below when it finds the mails in the
mail spool.
You have new old-style bell mail waiting
If msgchk command ends with a messsage like below, you have not
properly set up the MH. Take a proper action then try again.
Message: You don't have any mail waiting
Cause: You have a wrong mtstailor.
rmail of UUPC/Extended was not executed properly.
Action: Check the mtstailor contents.
See `Configuration' section above for the mtstailor
file format.
Make sure rmail.exe in somewhere pointed to by PATH.
3. Run `inc' command to incorporate the mails from UUPC mail spool.
Check the validity of the headers of your mails. The insufficient
or incorrect setup will lead to the invalid headers, e.g. invalid
`From:' or incorrect `Date:'. Check your setting of TZ environmet
variable and the contents of the mtstailor file to correct the error.
See "6.0 TZ environment variable" for the correct TZ setting.
5.5 Effective UUPC/Extended Settings
------------------------------------
1. The following UUPC/Extended settings are effective for MH:
$UUPCSYSRC $UUPCUSRRC
Domain= MailDir=
MailExt= ConfDir=
MailBox=
Name=
Home=
FileSent=
Signature= and options=[no]autosign
5.6 Name Aliases
----------------
1. When you use MH with UUPC/Extended, the alias file of the
UUPC/Extended is not reffered. You need to setup the MH's
alias file if you want to use the name aliases.
+-----------------------------------+
| 6.0 TZ environment variable |
+-----------------------------------+
You have to set `TZ' environment variable right to make the `Date:'
field of your sending mail correct. TZ has the followng format:
<TZ1>[<OFF>[<TZ2>[,<SM>,<SW>,<SD>,<ST>,<EM>,<EW>,<ED>,<ET>,<SHIFT>]]]
<TZ1> is the three-letter name of the standard timezone.
<OFF> is the offset to Coordinated Universal Time; positive values
are to the west of the Prime Meridian, negative values are to the
east of the Prime Meridian. The offset can be specified as hours,
hours and minutes, or hours, minutes, and seconds. Hours,
minutes, and seconds are separated by colons. If <OFF> is not
specified, an offset of 0 will be used (this may change in the
future).
<TZ2> is the three-letter name of the summer timezone (daylight
saving time). If <TZ2> is not specified, daylight saving time
does not apply. If <TZ2> is specified, daylight saving time does
apply.
The remainder of the TZ's value specifies when and how to
change to and back from daylight saving time and only valid with
emx 0.9c or later. If you are using emx 0.9a or 0.9b, you should
not set it.
<SM> through <ST> define, in current local time, when to switch
from standard time to daylight saving time, <EM> through <ET> define,
in current local time, when to switch from daylight saving time to
standard time. (On the southern hemisphere, the end date precedes
the start date.) <SHIFT> is the amount of change in seconds.
<SM> specifies the month (1 through 12) of the change. <SW>
specifies the week of the change; if this value is zero, <SD>
specifies the day of month (1 through 31). If <SW> is positive (1
through 4), the change occurs on weekday <SD> (0=Sunday through
6=Saturday) of the <SW>th week of the specified month. The first
week of a month starts on the first Sunday of the month. If <SW>
is negative (-1 through -4), the change occurs on weekday <SD>
(0=Sunday through 6=Saturday) of the -<SW>th week of the specified
month, counted from the end of the month (that is, -1 specifies
the last week of the month). The last week of a month starts on
the last Sunday of the month. <ST> specifies the time of the
change, in seconds. Note that <ST> is specified in local standard
time and <ET> is specified in local daylight saving time.
Example:
CET-1CED,3,-1,0,7200,10,-1,0,10800,3600
In this example, the name of the standard time zone is CET, the
name of the summer time zone is CED. Daylight saving time starts
at 2:00 on the last Sunday of March and ends at 3:00 on the last
Sunday of October. Time changes by one hour in daylight saving
time.
If no characters follow <TZ2>, the rule
`,4,1,0,3600,10,-1,0,7200,3600' will be used: Daylight saving time
starts at 1:00 on the first Sunday of April and ends at 2:00 on
the last Sunday of October. Time changes by one hour in daylight
saving time.
If TZ is not set, Coordinated Universal Time will be used.
+---------------------------+
| 7.0 Using mh-e under OS/2 |
+---------------------------+
1. If you are an mh-e user, I recommend you to use mh-e 5. The mh-e 4
is not compatible with OS/2 and it needs patches to mh-utils.el to
work under OS/2 environment. If you have to use mh-e 4 by some
reason, please apply a `os2/mh4-utils.el.diff' patch.
2. You need to add the following 2 lines to your ~/.emacs file. (Please
change the names of the directories to match to your environment)
(setq mh-progs (cond (t "d:/mh/mh-progs/")))
(setq mh-lib (cond (t "d:/mh/mh-lib/")))
3. Some functions of mh-e hard-coded `/bin/sh' as a shell program and
uses a sh shell script to perform their functions. Therefore,
those functions does not work if you are using OS/2's standard
cmd.exe or any other non-Unix shell. Some of those functions are:
mh-redistribute (ESC d)
mh-edit-mhn (C-c C-e)
A `os2/mh5-os2cmd.diff' file contains patches for mh-e 5.0 to make
those functions work with cmd.exe.
Some other functions may not work under OS/2 by other reasons.
Currently, I do not have a list of the mh-e functions which are
incompatible under OS/2.
4. You need yo add a following statement to your `.emacs' to avoid the
problem where `mh-rmail' reports `no current message' even after it
successfully incorporates the incoming mails into your inbox folder.
(setq mh-auto-folder-collect nil)
This disables the mh-e's feature to automatically gather the folder
names in the backgound at mh-e startup time. An `mh-rmail'
function kicks `folders' process then call `inc'. When `inc' is
called before the `folder' process finishes, the problem takes
place.
+----------------+
| 8.0 About MIME |
+----------------+
1. If you use MH with mh-e on the Emacs editor, you can use a `tm'
package for the MIME message manipulation. The additional package
for OS/2, `tm-os2', is also available. You can get tm and tm-os2
from the following anonymous ftp site:
ftp://ftp.jaist.ac.jp/pub/GNU/elisp/mime
Beta testing of tm version 7 is currently under way (as of Sep
21, 1995). It is a powerful MIME tool for Emacs providing the
fuctions to compose and view a various types of MIME messages.
+---------------------------+
| 9.0 Consideration for mhn |
+---------------------------+
1. Mhn command is invoked by show/prev/next commands by defualt for
the MIME mails. If you do not want to use mhn command, just set
the following envariable:
SET NOMHNPROC=1
This will disable the use of mhn and force show/prev/next commands
act as the previous release of MH for OS/2.
2. A file named ``mhn_defaults'' is created in your MH library directory
during MH installtion. The installer searches the programs in your
PATH directories and adds the entries for each MIME type.
You can modify a ``mhn_defaults'' file by yourself to add entries
for new MIME types or to modify the existing entries set by the
installer. You can find the information of the mhn_defaults
syntax in the man manual. Also, you may want to get more
information for mhn and mhn_defaults from:
ftp://ftp.ics.uci.edu/mh/contrib/multimedia/mhn-tutorial.ps.Z
ftp://ftp.ics.uci.edu/mh/contrib/multimedia/mhn-tutorial.tex.Z
3. OS/2 mhn has the following default values for showing `text/plain'
and `message/rfc822' MIME types:
mhn-show-text/plain: %pless %F
mhn-show-message/rfc822: %pless %F
+--------------------+
| 10.0 Compatibility |
+--------------------+
1. The group can not be specified in an alias file. That is, you can
not use identifiers like `=' and `+'.
2. The default showproc is `mhl' in OS/2 while `more' is default in
Unix. The default moreproc is not defined in OS/2 while the
default is `more' in Unix.
3. The environment variables MHBINPATH and MHETCPATH are OS/2 unique
enhancements. With these variables, you can move MH binaries to
the other PC's without re-compiling them.
4. The pipe (`|') action of slocal calls the shell program which is
pointed to by COMSPEC environment variable, while Unix version of MH
alway calls /bin/sh.
+-----------------------+
| 11.0 Trouble Shooting |
+-----------------------+
1. Configure.cmd fails and no Makefiles are generated.
- If you are using an Unix like shell, back up to a CMD.EXE then
start configuration. After you complete making and installing
MH, you can restore the Unix shell.
2. Error occurs during making uip/Makefile.
- You may have GNU sed 3.0 which has a bug. GNU sed 3.0 was
re-release for the bug fix. Make sure you have a newer GNU
sed 3.0.
3. Make.exe traps during making doc/Makefile.
- New GNU make with a fix to this problem is available on hobbes
and leo.
4. Compilation fails wirh ``netdb.h: No such file or directory''
message.
- Install bsddev.zip of emx/gcc package.
5. Msgchk, inc, or send generates core dump.
- If you are using emx/gcc 0.9a, apply the latest fix, fix06, then
make MH modules again.
6. Cannot read a MIME mail due to mhn error.
- Mhn will fail when it processes a mail with CR+LF. If you have
used MH for OS/2 Rev 01, the mail files incorporated by it have
CR+LF EOL codes. You can convert EOL from CR+LF to LF by once
packing folder with packf command then unpack it with inc command.
The mail files with LF EOL can be properly handled by mhn.
- You may get the error message like below from mhn:
mhn: don't know how to display content
(content xxxxxxx in message y)
You need to add an entry for MIME type of xxxxxxx to your
mhn_defaults file to let mhn know how to process that MIME type.
7. `Date:' field of an outgoing mail is wrong.
- You should correctly set TZ environment variable. See "6.0 TZ
environment variable" for the detail.
8. OS/2 sendmail.exe traps while sending a mail.
- If you edited SENDMAIL.UML with the editor like tedit.exe which
replaces TAB with spaces, you may encounter this problem.
+-------------------+
| 12.0 Restrictions |
+-------------------+
1. The following commands are not available:
vmh wmh rcvtty
2. When you use MH with UUPC/Extended, the alias file of the
UUPC/Extended is not reffered. You need to setup the MH's
alias file if you want to use the name aliases.
+-----------------+
| 13.0 Bug Report |
+-----------------+
When you find a bug, please send an e-mail to
Hiroshi Ueno <zodiac@ibm.net>
I will fix your problem as much as I can, However, I can not garantee
that I will be able to fix all of your problems. Also, my response
may be delayed, depending on the time I can spend for MH for OS/2.
There is NO WARRANTY in this program. Use this program on your own
risk and responsibility.
;;; @
;;; Local Variables:
;;; mode: text
;;; End: