USER_SMTP_DISPATCH for sites with mail hubs [last update: 24-SEP-1995] ------------------------------------------- This kit contains an SMTP user exit for use with MultiNet that causes the MultiNet SMTP symbiont to forward all network mail to one system -- typically a company mail hub. In addition, the user exit can be configured to forward all _local_ mail to the mail hub, except for accounts that are specified by the system manager is a special configuration file. PLEASE NOTE: MultiNet V3.5 comes with mail hub client features __built in__. You DO NOT need this package for MultiNet V3.5 and later. PREREQUISITE SOFTWARE: VMS V5.0 or later (VAX) VMS V1.0 or later (AXP) MultiNet V3.3 or V3.4 ** THIS USER EXIT IS NO LONGER NEEDED FOR MULTINET V3.5 AND LATER ** TO INSTALL: 1. Review the code and make any required modifications. This should only be necessary if you already have a USER_SMTP_DISPATCH.EXE installed in the MultiNet directory which contains your own modifications. 2. Use COMPILE.COM to recompile from sources, if desired. 3. Use LINK.COM to create the shareable image, if desired. The included images should run under VAX/VMS V5.0 or later (including OpenVMS VAX V6.0 and later), and OpenVMS AXP V1.0 or later. 4. $ COPY USER_SMTP_DISPATCH.EXE MULTINET_COMMON_ROOT:[MULTINET] 5. $ COPY SMTP_USERS.TEMPLATE MULTINET_COMMON_ROOT:[MULTINET]SMTP_USERS. 6. Define the logical name MULTINET_SMTP_MAILHUB to point to your mail hub. This logical must translate either to a valid host name (that is, a host name that directly translates into an address, not an MX record in the DNS), _or_ an IP address in dotted-decimal notation, surrounded by square brackets. Examples: $ DEFINE/SYSTEM/EXEC MULTINET_SMTP_MAILHUB "mailhub.yoyodyne.com" $ DEFINE/SYSTEM/EXEC MULTINET_SMTP_MAILHUB "[10.1.37.4]" If you have a VMScluster, you'll need to provide this definition on each node in your cluster that runs MultiNet. Don't forget to add the logical name definition to your system startup command procedure (preferably _before_ MultiNet is started). 7. If you want to use the forward-all-local-mail feature, you also need to define the following logical name: $ DEFINE/SYSTEM/EXEC MULTINET_SMTP_LOCAL_TO_MAILHUB TRUE And you must edit the MULTINET:SMTP_USERS. file to list those users who should have their mail delivered locally instead of being sent to the mail hub. If you have a VMScluster, you'll need to define this logical name on each node in your cluster that runs MultiNet. Don't forget to add the logical name definition to your system startup command procedure (preferably _before_ MultiNet is started). 8. If you want to define a list of domain names mail to which should be delivered directly - and NOT to the mailhub - then define the logical name MULTINET_SMTP_LOCALDOMAINS. This logical name contains a list of host names, or domain suffixes; domain suffixes are prefixed with a dot. Example: $ DEFINE/SYSTEM/EXEC MULTINET_SMTP_LOCALDOMAINS - "fred.edu", ".fred.edu" In this example, mail sent to host FRED.EDU or any host under the .FRED.EDU domain will go directly, rather than being routed via the mail hub. 9. Use the STOP/QUEUE/NEXT or STOP/QUEUE/RESET command to stop and restart all of your SMTP queues. HOW IT WORKS: This copy of the user exit adapts the template USER_SMTP_DISPATCH.C (provided with MultiNet) with the following modifications: 1. The find_gateway_v33() routine checks for an local domain definitions in the MULTINET_SMTP_LOCALDOMAINS logical name. If none match, it then proceeds with the standard gateway checks, and if those fail, it returns the translation of the logical name MULTINET_SMTP_MAILHUB, if present. 2. The alias_lookup_v33() routine, based on the definitions of MULTINET_SMTP_LOCAL_TO_MAILHUB (must be TRUE) and MULTINET_SMTP_MAILHUB (must be defined as your mail hub), automatically aliases any local username to be "username@mailhub-name", unless that username is listed in the file MULTINET:SMTP_USERS. (or the file pointed to by the logical name MULTINET_SMTP_USERS). These modifications should be sufficient for establishing a MultiNet V3.3 or V3.4 system as a "client" to a departmental or corporate "mail hub". DISCLAIMER: THIS SOFTWARE IS PROVIDED "AS IS" AND WITHOUT ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, WITHOUT LIMITATION, IMPLIED WARRANTIES OF MERCHANTIBILITY AND FITNESS FOR A PARTICULAR PURPOSE. This software is UNSUPPORTED by TGV. Use at your own risk. Comments may be forwarded to the author at madison@tgv.com.