OS/2 Tips: Ultimail Lite Information

James Springfield: Warp Connect users will need the above fix to cure a problem with sendmail under TCP/IP v 3.0. Because this is an older fix it is becoming increasingly harder to find. Fortunately it is available from this very special location, the IBM EMEA Help Desk, which is also a source for other difficult-to-find items.

Kevin Royalty: Shouldn't you use IC12049 instead? It is a later version of SENDMAIL, which should contain this versions fixes as well.

James Springfield: I have been having an awful time trying to get UML up and running with Warp Connect (blue) and TCP/IP (DOIP) v 3.0, but at last it seems to be functioning partially, if not mostly. To get to this point I have had to make the following changes which are recommended by IBM:

1.- Install the latest version of ultimail lite itself, contained in umf21004.zip


 * Special Note: the sendmail.uml file in this package assumes that TCP/IP has been installed on the C: drive. If this is not the case, then before starting UML, open the file with a text editor and look for the line toward the end of the file which reads:

# Mlocal, P=C:\TCPIP\UMAIL\umailer.exe, F=lsm, S=10, R=0, A=-dest C:\TCPIP\UMAIL\SERVER\INBOX -to $u

and change the 2 C:'s to the drive where tcpip is installed, e.g. for drive F: the line will look like: # Mlocal, P=F:\TCPIP\UMAIL\umailer.exe, F=lsm, S=10, R=0, A=-dest F:\TCPIP\UMAIL\SERVER\INBOX -to $u

If this line is followed by a similar line, but without the leading # sign, change that line also (especially that line since the # sign is a remark sign).

If this is not done, UML will not be able to find the umailer program, and outgoing mail composed offline will get stuck in the queue (MQUEUE sub-directory). Every time a connection to the ISP is made, the program will try to send the queued mail, but it won't go out.

2.- Install an updated copy of sendmail.exe, which is contained in ic12049.zip

3.- Install updated versions of afinet.sys and inetcfg.exe, which are part of TCP/IP v 3.0, and are contained in ic10390.zip. There are newer and more extensive updates to TCP/IP v 3.0 which contain these files as well as many other updated files, but the basic fix for sendmail not sending due to TCP/IP is contained in this one, which is the original. One example of one of the newer and more extensive TCP/IP v 3.0 fix files is ic12657.zip which contains a dozen or more updated files, including the two mentioned above.

In addition to these basic changes I have had to hunt down some rare configuration info which is listed on the Masterupdate page, IAK subpage, and labeled IBM Ultimail Lite Help.

ULTIMAIL LITE SETUP FOR WARP CONNECT V3 WITH TCP/IP V3
These are my notes and experiences for setting up TCP/IP v 3.0 on Warp Connect (blue). They should also apply to Warp Connect (red), since these two versions were released within a few weeks of each other, and the differences should be in OS/2 itself, and not in TCP/IP.

I installed TCP/IP just to be able to use the internet with my own ISP--not using IBM Advantis, or getting involved with a LAN. I have a desktop 486, and although I also installed IBM Peer, it has nothing to do with my use of TCP/IP and the internet.

TIP #1 - Installation
During the installation of TCP/IP you will be given many chances to fill in domains, etc. as if you were connecting to a LAN, but do not answer any of them. When you use the Dial Other Internet providers to establish contact with your ISP, TCP/IP automatically starts and provides the services you need.

TIP #2 - The TCP/IP Configuration Notebook
There are several references to settings in this notebook, but I bypassed this as we shall see later, and then the only one that needs to be set is the mail environment. There are three choices--select Internet Only, and exit. No other selections need to be made.

TIP #3 - Updating Ultimail Lite
There are bugs in the distribution files, so that some updating is necessary. Fortunately IBM has developed a series of fixes/upgrades which takes care of all the problems.

Find and install the following:

1.- umf21004.zip - this is a complete update for Ultimail Lite. After installing this update, consider where you installed TCP/IP. If it is installed on the C: drive no further consideration is necessary. If, however, it is on another drive, say F:, then the sendmail.uml file must be edited. Using a text editor, open the file and scroll almost to the end and find the line for Mlocal. In that line there will be 2 path statements. Change them both from C: to the F:, or whatever drive your TCP/IP is located on.

Available from: ftp://service.boulder.ibm.com/ps/products/umlite/fixes/umf21004.zip

2.- sendmail.exe, 4/25/96, 104262 bytes (ic12049)--an updated sendmail.exe which is necessary.

Available from: ftp://service.boulder.ibm.com/ps/products/tcpip/fixes/v2.0os2/sendmail/sendmail.exe

3.- ic10390.zip - this contains 2 replacement files for TCP/IP v3.0 which are necessary for Ultimail to work.

Available from: http://www.ibm.net/emea --then go to "The latest updates, upgrades, fixes of OS/2 internet software" --then go to ic10390.zip.

TIP #4 - Dial Other Internet Providers Dialer
Be sure to capitalize the entry on the first line, for Name. In my case it is the name of my ISP, and I have it entered on line 1 as VISI. Note this is in all capital letters.

TIP #5 - Edit the UMAIL.PRO File
There are 2 choices here- 1) let the TCP/IP configuration priorities work, or 2) eliminate the need for configuring TCP/IP. I chose the latter.

Refer to the FAQ which comes with comes with the ultimail information notebook. If your internet provider uses one id for a login, and a slightly different one for the e-mail address, be sure to put the login id with the user id, and the email data with the reply_id and reply_domain.

My login id is jspringf.ppp (to signify a PPP connection) and my e-mail address is jspringf@visi.com, so the USER info I added to UMAIL.PRO looks like this:

id              = 'jspringf.ppp' password        = 'xxxxxxx'                 (disguised) reply_id        = 'jspringf' reply_domain    = 'visi.com' other_id        = 'Internet' .

Leave out the password line the first time, and you will be prompted for it. It will then show up in this file in encoded format.

Also, when using this setup method, you should completely delete the PROFILE lines shown below: :PROFILE     provider        =  'ADVANTIS' file           =  'D:\TCPIP\ETC\TCPOS2.INI' . This will tell UML to ignore the info in the TCP/IP settings notebook except for the one item which is checked for Use Internet only.

TIP #6 - Edit the UMAILSRV.PRO File
Delete the PROFILE lines shown above, which also appear in this file, and add this first set of ACCESS lines as shown--changing the F to whichever drive letter your TCP/IP directory is on. This is a catchall address for improperly addressed mail which happens to come in. :ACCESS      user              = '*' info             = 'RULE' mailstore        = 'F:\TCPIP\UMAIL\Mailstor' . If you do not add the second set of ACCESS lines you will be prompted for information for the POPmail server, and then something like this will appear after you exit UML and check this file. :ACCESS       user             = 'jspringf.ppp' (this must be the same                                                   as in UMAIL.PRO) password        = 'xxxxxx'       (this must be the same                                                   as in UMAIL.PRO) access          = 'readwrite' info            = 'FILE' . If the user and password are not the same as in UMAIL.PRO, then change them to make them the same.

The FILE being referred to here is the ACCESS file, and in my case it is named JSPRINGF.PPP.ACC.

TIP #7 - Edit the ACCESS File
After you have tried to logon and you have been prompted to give POP Mail information, find this file in the \\\server\access directory, and check to see if it looks like this: :ACCESS    user    = 'jspringf.ppp'                      (your logon id) password= 'xxxxxx'                           (your encoded pw) root   = 'F:\TCPIP\UMAIL\MailStor\jspringf'  (use your tcpip                                                           drive letter, and                                                           e-mail name) access = 'readwrite' popuser = 'jspringf'                (your e-mail id) popserver= 'mail.visi.com'          (your internet mail server) popport = '110'                     (standard popport #) poppassword= 'xxxxxx'               (your encoded password) . If you did not know what to put in the dialog box when you were prompted for POP Mail information, you can correct it here. This is the only place it can be corrected since the dialog box may not appear again, and if it does, it probably will not ask you for the same information.

SUMMARY
This all takes a bit of work--locating the files, doing the initial setups, trying to use UML, and then going back to check the files above to be sure the setups were corrected where necessary. I know--it took me a month to figure out how to do all this and where to find it.

Having said all this--does it work? YES.

My Ultimail Lite works perfectly now. I've been using it for a couple of weeks and have not had any problems with sending, receiving, forwarding, replying, composing letters off-line and having them queued and sent on the next Internet connection. I have not tried the MIME or the Multimedia attachments--I'll leave that to someone smarter than me.

If you been having trouble, I hope this works for you also.

James F.(Fred) Springfield Plymouth, MN 612-557-2933 February 20, 1997 jspringf@visi.com

Using MIME in Ultimail Lite (Part 1)
Added: 3/6/97

The scant documentation on the use of MIME, focuses on the sending of MIME encoded binary files. In spite of the scarceness of user information, it is possible to pull in a file, and it will be attached to the text portion of the letter automatically.

However, if you receive a letter with a binary file attached, it will be immediately obvious that the decoding tools and user information are either lacking or very cleverly hidden. Either way, the user is left in a quandry as to how to extract the file from the message.

After some trial and error, I have figured out one way to do the decoding from UML.

I have tried various decoders in the past,unsuccessfully, but the one which worked for me here is uudeview. It is Available from:

ftp://hobbes.nmsu.edu/os2/unix/uudeview.zip

You will also need a current version (c) of the emx run time module (dll's) which is Available from:

ftp://hobbes.nmsu.edu/os2/unix/emx09c/emxrt.zip

Place uudeview.exe in a convenient place like the X:\OS2\APPS directory, and the emx dll's in the X:\OS2\APPS\DLL directory, both of which will already be in your path in the CONFIG.SYS (X: is your OS/2 drive).

Now to the decoding process:

1.- Start UML offline (it is very important not to be connected now) and open the received message, click on the binary file icon in the table of contents, and click on export to save the file. In the dialog box give it the name INFILE.ENC or something distinctive to make obvious what it is.

2.- Since UML stores this file in ASCII symbols (as can be seen by trying to read the file in an editor) the decoders will not be able to decode it, and it must be converted to a regular text format with upper and lower case characters as in the original MIME encoding. To make this conversion using the MIME.DLL which is part UML itself, open up a new letter, and make a dummy letter to someone, something short like--Done. Bye. Fred

3.- Next, click on the binary file icon above to add a file to the letter, and when the dialog box opens, select the previously saved file, INFILE.ENC.

4.- Then click on the send icon to save it, with the file inside. The letter will not be sent, but it will be queued up for transmission the first time you connect to your ISP. It will be stored in the \\\MQUEUE directory under a strange name like E000AAAF. You might find this directory under X:\TCPIP somewhere if you are using the IAK. Warp Connect users will find this under the X:\MPTN\ETC directory if they are using the tcpip v3 which comes with Warp Connect.

5.- After locating what looks like the saved letter. open it in either of the editors which come with OS/2 and verify that it is the complete letter with the file attached at the bottom, which will be very obvious.

6.- Then, close the file, rename it to MSG.TXT, and move it to a temporary directory for decoding. Delete the other files in the MQUEUE directory which are fragments of the complete file.

7.- Before decoding the file, open up the mailbox, and inbox and delete the dummy letter which was "sent" to store the file. This completes the "clean-up".

8.- Next, open an OS/2 window, go to the temporary directory where MSG.TXT is stored, and decode it with the command: C:\TMP>uudeview msg.txt

When it locates the file, it will prompt you for further instructions. Enter 'd' to decode it, and note the filename assigned to the decoded file.

9.- After the decoding is complete, rename the file to whatever you want, probably given to you by the sender such as MYFILE.ZIP. If it is a zipped file, then unzip it, and it is ready for use.

It has taken me several months to decode my first file, let alone learning to extract it from UML, but I tried it on a file sent to me recently and it works very well.

I hope it will work just as well for you. With this method, after you own OS/2, you can easily transfer files from person to person via e-mail, and EVERYTHING IS FREE!

March 6, 1997 James F. Springfield Plymouth, MN 612-557-2933 jspringf@visi.com

Using MIME in Ultimail Lite (Part 2)
Added: 3/10/97

In the first part we found out how to decode an ordinary (small) binary file in MIME format. I don't know the exact definition of small here, except to say that the entire file will be contained in one segment.

The next question is: what happens with a large file? The answer to that question came to me when a client sent me a program file which filled an entire floppy, 1.44 Mb. In this case, the text form of the file which ended up in the dummy message, was broken down into 8 segements, DFAA0126 through DFAA0133, as they appeared in the \\\MQUEUE directory, along with the fragment headers QFAA0126 through QFAA0133.

To put the file together for decoding, I deleted all the fragment headers, QFAA0126 through QFAA0133, and combined the 8 main parts together to form one complete file by copying them a single file as follows:

1.- Open an OS/2 window 2.- At the C:> type

COPY C:\MPTN\ETC\MQUEUE\QFAA*.* C:\TMP\MSG.TXT

and press ENTER.

The directories shown here are for my installation in Warp Connect. The MQUEUE subdirectory may be located in a different place, probably under c:\tcpip, if you use the UML in the IAK which comes in the bonus pack.

The new file MSG.TXT will contain the dummy message plus the complete MIME encoded binary file in alphanumeric format.

Then decode this file with the command

uudeview msg.txt

to get the binary file UNKNOWN.001, which is renamed to whatever it is is supposed to be.

With this information, you can now decode any binary file you receive, and make the fullest use of your Ultimail.

Have a great day! March 9, 1996 James F. Springfield Plymouth, MN 612-557-2933 jspringf@visi.com