SCO OpenServer 5, SCO UnixWare 2.X and UnixWare 7 all contain different mail transport systems with different methods of configuration. However, the feature sets are similar and most features do migrate easily. This topic discusses those features that feature prominently in the GUI or character based configuration tools. (The mail transport in UnixWare 7 is modelled after the SCO OpenServer one, which makes duplicating complex configuration a little easier from that direction.)
Mail folder formats are completely backwards-compatible from UnixWare 7 to both of the other systems, and so folders can be imported with ease.
The following major areas are addressed by this document:
Note that this topic describes how to preserve the simple configuration options that were provided in the configuration programs (SCO UnixWare Release 2.X provided a GUI-based configuration tool for mailsurr, while SCO OpenServer provided a GUI for MMDF and a command line script for sendmail).
This topic describes the migration path from SCO UnixWare Release 2.X to UnixWare 7 for various aspects of the Mail and Messaging system.
User's inboxes in SCO UnixWare Release 2.X are in /var/mail, and remain there for UnixWare 7. It is therefore sufficient to copy these files to the new machine. No data conversion of these files is required.
Using the Mail Manager to change the inbox location to users' home directories, change the ``Users' INBOX Location'' setting (within the ``Folder Configuration'' container) to the appropriate setting.
The SCO UnixWare Release 2.X UNIX Mail Setup configuration manager specifies several items. This topic explains how to duplicate similar behavior on UnixWare 7.
In the ``Basic'' configuration category, the following fields are displayed:
If messages are to be routed to a ``smarter host'', this field contains the identifier of the desired host, and the ``Route All Msgs to Smarter Host?'' prompt is set to No.
This feature can be duplicated in UnixWare 7 using the
Settings Bad Host Forwarding/Delay
menu option to enable forwarding to the smart host. This has the effect
of sending SMTP mail addressed to an unknown host to that
specified host.
If the ``Route All Msgs to Smarter Host?'' prompt is set to Yes, then see the description of the ``Route All Msgs to Smarter Host?'' field for how to duplicate the functionality in UnixWare 7.
This field is analogous to the ``Mail Comes From'' field in the UnixWare 7 ``Basic Configuration'' category except that a blank value is equivalent to setting the ``Mail Comes From'' value to match the host name.
If this prompt is set to Yes, enable the badhost channel. Additionally, open the ``Mail Delivery Channels'' category in the UnixWare 7 Mail Manager tool, then open the SMTP channel, and change the forwarding host to the ``smarter host'' name. This has the effect of sending all SMTP mail to the smarter host, for both known and unknown hostnames.
A direct MHS mail gateway is not supported by UnixWare 7,
so there is no analog to this feature.
UnixWare 7 sendmail has a variety of logging features, some of which are turned on by default. For more information on these, see ``sendmail operations'' in SCOhelp. In general, sendmail logging goes to syslogd, which is the standard logging place.
Users of SCO UnixWare Release 2.X will have configured their vacation notifications from dtmail, the graphical mail user agent from CDE. Under UnixWare 7, they should use the Vacation Manager, accessible from the CDE desktop under the Mail panel.
The following SCO UnixWare Release 2.X files must be migrated:
SCO UnixWare Release 2.X users will have their vacation notification enabled by their ~/.forward file. While this file may be brought as-is for use on a UnixWare 7 system, SCO recommends conversion of ~/.forward to ~/.maildelivery, in order to retain compatibility with the UnixWare 7 Vacation Manager. To enable vacation notification, an entry in ~/.forward of the form
"|/usr/ucb/vacation"has an equivalent ~/.maildelivery entry of
* - pipe R vacationFor a full discussion of ~/.forward and ~/.maildelivery syntax, see the forward(4) and maildelivery(4) manual pages.
SCO UnixWare Release 2.X users will have to convert their vacation notification message from the file ~/.vacation.msg into two corresponding UnixWare 7 files:
The body of the message in ~/.vacation.msg should be transferred to ~/tripnote, while the Subject header text should be put into ~/tripsubject.
Subject:
header itself, should be in ~/tripsubject. Also, while other
headers may be specified in ~/.vacation.msg, this is not
possible in the UnixWare 7 ~/tripnote and
~/tripsubject files.
If your SCO UnixWare Release 2.X system uses a mailsurr file for mail configuration (you do not use sendmail as mail transport agent), then the following files must be migrated to your UnixWare 7 system:
On SCO UnixWare Release 2.X systems, all alias files are specified in the file /etc/mail/namefiles. Entries in this file take the form of pathnames to files or directories. If to a directory, then files within this directory are named after the alias, and the file contents specify the actual mail address or addresses. By default, /etc/mail/namefiles specifies the file /etc/mail/names as the aliases file, and the directory path /etc/mail/lists.
Multiple alias files may also be specified for the UnixWare 7 mail system, via the Mail Manager. Any files specified in the SCO UnixWare Release 2.X /etc/mail/namefiles file must be added to the list of alias files displayed in the Mail Manager, which will update the sendmail.cf configuration file appropriately. By default, these files are located in /etc/mail (and the default aliases file on UnixWare 7 is /etc/mail/aliases), but any path may be specified. These files must be converted to a sendmail format aliases file (see the description of /etc/mail/names).
For each entry which is a directory name in /etc/mail/namefiles, the files under that directory must be converted into sendmail style aliases, and then put into an existing or new alias file. For example, suppose /etc/mail/namefiles contains the directory /etc/mail/lists, and the file /etc/mail/lists/engr exists with the following contents:
fred barneyThen the following alias can be created in an alias file:
engr: fred, barney
The default aliases file on SCO UnixWare Release 2.X systems is /etc/mail/names. This file, and any alias file defined in /etc/mail/namefiles, must be converted to sendmail format for use on UnixWare 7 systems.
Conversion to sendmail alias file format:
name addr1 addr2 addr3These must be changed to the form:
name: addr1, addr2, addr3The main difference is the colon separator between alias name and recipient list, and the use of commas to separate addresses. (The white-space is optional in the UnixWare 7 format.)
name addr1 addr2 addr3\ addr4would be converted to
name: addr1, addr2, addr3, addr4Once alias files have been converted and put onto your UnixWare 7, their corresponding databases must be created using the newaliases(1M) utility.
The location of the aliases file is defined by the OA option line in the sendmail configuration file /etc/ucbmail/sendmail.cf. The default location is /etc/ucbmail/aliases. However, you should check the sendmail.cf file. This aliases file may be brought forward to the UnixWare 7 system without modification, and the location specified by the Mail Manager. However, you must ensure that aliases which use redirection to files or pipes have corresponding directory paths or programs which exist. The aliases database file(s) should then be created using the newaliases(1M) utility.
User-defined ~/.forward files may be migrated to UnixWare 7 systems (with the modification discussed in ``Preserving vacation notifications'') to use the vacation notification feature.
Users on SCO UnixWare Release 2.X systems had the ability to configure mail forwarding via the /bin/mail program's -F option. On UnixWare 7, /bin/mail is now equivalent to mailx(1), so the -F option is not available. However, similar functionality is supplied by the use of ~/.forward and ~/.maildelivery. The following lists the SCO UnixWare Release 2.X /bin/mail forwarding options, and their equivalent in either ~/.forward or ~/.maildelivery.
In a ~/.forward file, add each recipient you wish to forward your mail to. Separate recipients with commas if they all appear on the same line, or put a single recipient per line. For example:
recipient1, recipient2@thishost.com, recipient3 recipient4 recipient5This causes your mail to be forwarded to five other addresses.
In a ~/.maildelivery file, use the maildelivery(4) pipe (|) action to pipe the message to sendmail for redelivery. For example, to forward your mail to recipient1 and recipient2, create the following line in ~/.maildelivery:
* - | A /usr/lib/sendmail recipient1 recipient2
The SCO UnixWare Release 2.X /bin/mail -F option allowed recipients to be commands (called ``Personal Surrogates'') to which the mail message would be piped.
Similar functionality is available in ~/.forward with the following syntax:
"|shell_command_line"The quotes are necessary if shell_command_line contains white space; that is, if the command has arguments. For example, to set automatic replies for extended absences, you could add the following entry to your ~/.forward file:
\user, "|/usr/bin/vacation user"The recipient ``\user'' tells sendmail to also deliver the message to the user's mailbox, and skip additional alias transformations. This may be used to replace the ``>|'' prefix, which allows SCO UnixWare Release 2.X mail to append the message to the user's mailbox, in addition to executing the pipe command (``Post-processed Personal Surrogates'').
Piping a message to a program can be accomplished in a ~/.maildelivery entry which uses the pipe (|) action. Using the same example, the equivalent ~/.maildelivery entry would be as follows:
* - | R /usr/bin/vacationThe ``R'' result specified in the fourth column specifies that the message is not to be considered delivered by the action, causing the message to be delivered into the user's mailbox as well. This is the equivalent of the ``>|'' prefix for the SCO UnixWare Release 2.X mail Post-processed Personal Surrogate functionality.
Content-Type:
header, or Subject:
header lines in mail -F
pipe program recipients. The %R key, which represents
the return path to the message sender, may be replaced with
the $(sender) variable in ~/.maildelivery.
There is no equivalent syntax for ~/.forward.
This topic describes the migration path from SCO OpenServer Release 5 to UnixWare 7 for various aspects of the Mail and Messaging system.
In SCO OpenServer Release 5, users' inboxes are in /usr/spool/mail, and in /var/mail in UnixWare 7. There is a symbolic link to /usr/spool/mail from /var/mail, and it is therefore sufficient to copy these files to the new machine. No data conversion of these files is required.
Using the Mail Manager to change the inbox location to the users' home directories, change the ``Users' INBOX Location'' setting (within the ``Folder Configuration'' category) to the appropriate setting.
SCO OpenServer Release 5 supports two mail transport agents: MMDF and sendmail. Preserving these configurations is described separately:
UnixWare 7 sendmail has been modelled after MMDF to make the transition easier: even advanced features such as the domain table and channel support are supplied. Not all of these are covered in this topic, but after you become familiar with UnixWare 7's sendmail configuration, it should become clear how to port even advanced MMDF configurations to UnixWare 7's sendmail.
The primary screen of SCO OpenServer Release 5's MMDF Configuration Manager allows you to configure the host name, enable SMTP and UUCP, enable domain hiding, and enable or disable the name service methods.
The UnixWare 7 Mail Manager enables UUCP by selecting the
Settings UUCP Enable/Disable
menu option.
The additional options under ``Forwarding'' in the MMDF Configuration Manager are as follows:
SCO UnixWare Release 2.X MMDF mailbox locations may be either /usr/spool/mail or the users' home directories. UnixWare 7 implements exactly the same feature, which is accessed via the ``Folder Configuration'' category in the UnixWare 7 mail configuration tool.
The ``Redirection'' option in the MMDF configuration calls up the aliases editor. The same functionality exists in UnixWare 7 and is accessed by opening the ``Alias Files and Maps'' category and selecting the alias file entry. Then select the ``Edit'' facility in the dialog box and the alias editor is started for the system-wide mail alias file.
SCO recommends importing alias files rather than typing in the aliases by hand into the alias editor.
The sendmail configuration is obtained and/or modified by running mkdev cf on SCO OpenServer. It contains several options, each of which is described here. In addition, SCO OpenServer sendmail supports some of MMDF's features, notably configurable INBOX location which is also described here.
This feature is enabled by using the
Settings UUCP Enable/Disable
menu option to enable the UUCP channel. Then edit the ``Forward all mail
to'' entry in the UUCP channel to add the UUCP gateway name.
Note that, if the UUCP gateway is on the Internet, you would use the same strategy with a custom SMTP channel (that is, leave the DNS one alone, and create a new one for this option). To do this, create a new channel with channel program as SMTP, table type as UUCP Systems file, and the channel name something like uucpgate. Then edit the ``Forward all mail to'' option to point to the UUCP gateway.
This feature can be be duplicated on UnixWare 7 by configuring the
default SMTP channel to have the ``Forward all mail to''
option pointing at the smart host. Also, add a badhost channel (using
the
Settings Bad Host Forwarding/Delay
option) that also points to the smart host.
This will cause all known (via the SMTP channel) and unknown (via the badhost channel) hosts to be resolved to the smart host.
The SCO OpenServer 5.0.4 sendmail supports virtual domains under POP. UnixWare 7 supports virtual domains and adds IMAP support as well.
SCO OpenServer used virtual users (fake users known only to the POP server), whereas UnixWare 7 uses real users and exports them via a user map into the virtual domains.
Refer to ``The Virtual Domain User Manager'' in SCOhelp for details of how to set up virtual domains and export users to those domains. The virtual domain POP users' inboxes on SCO OpenServer are contained in the directory /usr/internet/ip/ip_addr/sco_mail/spool, where ip_addr is the IP address of a virtual domain. The inboxes are named after the virtual user names.
These mailboxes do not need to be reformatted, but do need to be moved into the standard place for inboxes (by default, /var/mail) on UnixWare 7.
In UnixWare 7, virtual users' password information is contained in /var/internet/ip/ip_addr/passwd. This file is in the old style UNIX /etc/passwd format where the encrypted password is contained in the same file as the user ID information. SCO OpenServer normally splits out the encrypted password into /etc/shadow, and places an ``x'' in that field in /etc/passwd.
For additional information on the vacation notification features, see ``The Vacation Notification Manager'' in SCOhelp and the vacation(1) and maildelivery(4) manual pages.
The following SCO OpenServer Release 5 files must be migrated:
OpenServer users who have MMDF as their mail transport agent must make the following change in their ~/.maildelivery file:
* - pipe R rcvtripbecomes
* - pipe R vacation
If users have any of the above files on SCO OpenServer Release 5, they may be brought as-is onto a UnixWare 7 system. Their functionality is identical to that on OpenServer.
OpenServer users who have sendmail as their mail transport agent should convert their ~/.forward and ~/.vacation.msg files as described for migrations from SCO UnixWare Release 2.X.
All alias files in SCO OpenServer Release 5 are specified by the ALIAS keyword and table parameter in /usr/mmdf/mmdftailor. For example, the entry
ALIAS table=aliasesspecifies an alias file named aliases. The directory under which the alias files are located is specified in mmdftailor by the MTBLDIR keyword. For example:
MTBLDIR=/usr/lib/mail/aliasfilesIn this case, the full pathname to the alias file would be /usr/lib/mail/aliasfiles/aliases. By default, if you do not have MTBLDIR defined in the mmdftailor file, the directory is defined to be /usr/mmdf/table.
All alias files may be specified for your sendmail configuration on UnixWare 7 systems by using the Mail Manager. In addition, the files must be converted to sendmail alias file format:
name: addr1, addr2, addr3are used in both formats, and will not need modification.
alias:login/fileFor example, ``foobar:dpk/foobar'' would cause user and group IDs to be set to those of the user dpk, and the text of the message to be appended to the file foobar in dpk's default login directory. Similarly, ``foobar:dpk//tmp/foobar'' would do the same for file /tmp/foobar.
On UnixWare 7, redirection of a message to a file is specified differently. If any addresses to the right of the colon in the alias list begin with a slash (/) character, sendmail interprets the address as the name of a file, and appends the mail message to that file. The filename must be a full pathname, and there is no notion of being able to specify a file relative to a user's default login directory. So, using the previous example, if the home directory of user dpk is known to be /home/dpk, then the alias ``foobar:dpk/foobar'' would be converted as follows:
foobar: /home/dpk/foobarThe user and group ID of the file is specified by other sendmail mail delivery agent options. See ``sendmail operations'' in SCOhelp for more information.
news-inject:news|/usr/lib/news/uurecIn UnixWare 7, sendmail format alias files, a program address may take the following forms:
The prg is the full path of the program to be run. Note that if command-line arguments are needed for the program, they must follow prg, and the entire expression must be quoted (the leading quotation mark may either precede or follow the |).
So, converting the previous example to sendmail alias file format would yield:
news-inject:|/usr/lib/news/uurec
mother: < /etc/mmdf/mother_list@udel-relay.arpa
mother: :include: /etc/mmdf/mother@udel-relay.arpa
In both cases, the @HOST is optional.
On UnixWare 7 systems, sendmail does allow a special notation in the right-hand side of an alias to read its list of recipients from an external file. The format is as follows:
aliasname: :include:/pathThe expression ``:include:'' must appear exactly as shown, but optional white space is allowed between the ``:include:'' and ``/path''. The ``/path'' is the full pathname of a file containing a list of recipients. However, you may not specify an @HOST as is possible for SCO OpenServer Release 5. See ``sendmail operations'' in SCOhelp for more information concerning ``:include:'' lists.
The location of the aliases file is defined by the OA option line in the sendmail configuration file /usr/lib/sendmail.cf. The default location is /usr/lib/mail/aliases. However, you should check the sendmail.cf file. This aliases file is compatible with the UnixWare 7 system without modification, and the name and location may be specified by the Mail Manager. However, you must ensure that aliases which use redirection to files or pipes have corresponding directory paths or programs which exist. The aliases database file(s) should then be created using the newaliases(1M) utility.
User-defined ~/.forward files may be brought forward to UnixWare 7 systems (with the modification discussed in ``Preserving vacation notifications'') to use the vacation notification feature.
On SCO OpenServer Release 5 systems using MMDF as mail transport agent, users' ~/.maildelivery files are compatible with UnixWare 7, and may be transferred with little modification. However, the following programs popular with use in ~/.maildelivery on OpenServer are not available in UnixWare 7:
On OpenServer systems that use sendmail as the mail transport agent, users' ~/.forward files are also compatible with UnixWare 7 and may be transferred with little modification. Users must simply ensure that programs, files, and recipients referenced in their ~/.forward files are accessible. See also ``Preserving vacation notifications''.