10. Sending and Receiving Electronic Mail

 

This chapter describes how to use OpenVMS MAIL and ALL-IN-1 Mail with TCPware and covers the following major topics:

  Using OpenVMS mail across the network

  Using mail under ALL-IN-1 across the network

Using OpenVMS Mail across the Network

TCPware enhances OpenVMS Mail so you can send and receive mail across the network.

Specifying Addresses

When you use OpenVMS Mail to send mail to a host outside your VMScluster, the message is sent via SMTP (Simple Mail Transfer Protocol). For this reason, you must specify the address so that SMTP accepts the mail correctly. The format for the address is:

To: SMTP%"recipient@destination"

The string SMTP and the destination system name are not case-sensitive; that is, you can type them in either uppercase or lowercase letters. The destination recipient specification may be case- sensitive, however, depending on the destination system's software. On some UNIX systems, ROOT and root specify two different user names (and hence different electronic mail addresses).

If the address contains a quote, enter the address with either \' or \s as shown in the following example formats:

To: SMTP%"\'recipient@destination"

or

To: SMTP%"\srecipient@destination"

If the address is on a local DECnet network, use this format:

To: SMTP%nodename::username

If the address is on a remote DECnet network, you may use this format:

To: SMTP%"'nodename::username'@destination"

Note!     TCPware assumes that an address containing a double colon (::) is a DECnet address. If an address contains a double colon and is not a DECnet address, SMTP does not handle it correctly.

If you know the recipient's IP address, but not the host name (or if the host name is not registered in the Domain Name System), specify the recipient address as follows:

To: smtp%"recipient@[aa.bb.cc.dd]"

Where aa.bb.cc.dd is the destination system's IP address in dotted-decimal form. You must specify the IP address in square brackets.

The OpenVMS Mail utility also allows you to specify an addressee on the command line:

$ MAIL filename addressee

To use this form of the command with TCPware, you must enclose the address in quotes (and you must double all existing quotes), as follows:

$ MAIL filename "smtp%""recipient@destination"""

The following example shows the user sending mail using the OpenVMS MAIL utility to a user named John Smith with a user name of "johns" on system SALES.FLOWERS.COM.

$ MAIL
MAIL>SEND
To:     SMTP%"johns@sales.flowers.com"
Subj:   This is a test message.
Enter your message below. Press Ctrl/Z when complete, or
Ctrl/C to quit:
Hi John, this is a test of the TCPware extension to the VMS MAIL utility.
Ctrl/Z
MAIL>EXIT
$

You receive network mail as you would all other mail in the VMS MAIL utility. The following example shows the user "WHORFIN" reading an SMTP mail message sent by the user "johns."

$
New mail on node KAOS from SMTP%"johns@sales.flowers.com" "John Smith"
$ MAIL
You have 1 new message.
MAIL>READ/NEW
#1          03-23-2014 10:05:40.79
From:   SMTP%"johns@sales.flowers.com"      "John Smith"
To:     WHORFIN
CC:
Subj:   Re: This is a test message.

Return-Path: <system@karem.yours.com>
Received: from karem.paul.com (192.168.1.92) by dino.bedrock.com
          (MX V5.1-X A2w8g) with SMTP for <smith@paul.yours.com>;
          Mon, 9 Aug 2014 14:35:01 -0400
Received: by karem.paul.com for smith@water.peter.com;
          Mon, 9 Aug 2014 14:35:00 GMT
Date: Mon, 9 Aug 2014 14:35:00 GMT
From: system@karem.paul.com
To: smith@water.peter.com
Message-ID: <990809143500.a2@karem.paul.com>
Glad to see your test worked.
This is my response.

MAIL>EXIT

Specifying a Host Alias

TCPware allows a system to have multiple names-or host aliases-with respect to electronic mail delivery. You can specify the host alias you want to use by defining the TCPWARE_SMTP_FROM_HOST logical name.  The alias you choose must be one of the SMTP host name aliases registered on the system (see the translation of the logical name TCPWARE_SMTP_HOST_NAME and the contents of the file TCPWARE_HOST_ALIAS_FILE). If the alias you use is unknown, the setting of TCPWARE_SMTP_FROM_HOST is ignored.

The host alias feature allows users from different administrative units within an organization to have their return address reflect the name of their unit, even though mail for all units is handled by one system.

Specifying Individual Aliases

TCPware supports both system-wide and per-user mail aliases. Using these aliases, you can refer to electronic mail addresses with names that are meaningful to you. Per-user mail aliases are kept in the file SMTP_ALIASES. in your login directory.

The format for alias entries is:

alias:     real_address[,...];

where alias is an alphanumeric string and real_address is an electronic mail address. You can specify multiple addresses by separating them with commas (,). The alias definition may span multiple lines, if needed, and must always be terminated with a semicolon (;).

For example, a local user may have a user name of JB134A, but you want to send mail to him as john. Add the following line to your SMTP_ALIASES. file:

john:      jb134A;

Aliases are repeatedly translated until no more translations are found. You can circumvent the repeated translations by including a leading underscore (_) in the real_address. For example, this definition causes mail to be forwarded and delivered locally:

fnord:     fnord@somewhere.else.edu, _fnord;

Using Mail under ALL-IN-1

This section explains how to use the mail subsystem under ALL-IN-1 to send mail to and receive mail from users on remote systems.

To send mail to a user on a remote system, specify an ALL-IN-1 e-mail address in the format:

recipient@destination@SMTP

@SMTP indicates to the ALL-IN-1 mail subsystem that the message should be given to the SMTP/MR gateway facility for eventual handling by the TCPware SMTP mail system. Note that the string SMTP and the destination system name are not case-sensitive; that is, you can type them in either uppercase or lowercase letters. However, the destination recipient specification may be case-sensitive, depending on the destination system's software. On some UNIX systems, ROOT and root specify two different user names (and  hence different electronic mail addresses).

You receive network mail as you would all other mail in the ALL-IN-1 mail subsystem. Contact your system manager for the correct syntax for remote users; frequently, the proper syntax is:

yourname@A1.yourdomain

Delivering Mail to Specific Folders

The SMTP server supports incoming mail delivery to folders other than the NEWMAIL folder. The foldernames are restricted to UPPERCASE characters only, the pound sign (#), and the underscore (_). Use of the comma (,) in a foldername causes an error. Mail addressed to user+folder@host is delivered to the specified folder.

Note!     Your system manager can disable this feature by defining the system-wide logical name TCPWARE_SMTP_DISABLE_FOLDER_DELIVERY.

User-Defined Headers

You can further customize your messages by defining special RFC 822 message headers.

SMTP-OpenVMS supports defining certain message header fields in the RFC 822 part of the message header.

Defining RFC 822 headers involves running the TCPWARE:CONFIG_SMTP_HEADERS.COM command file to define the following headers:

  Full name

  Comments

  Reply-to

  Return-receipt-to

  Bcc

  Sender

  X-Department

  X-Special user-defined header

Run the command procedure:

$ @TCPWARE:CONFIG_SMTP_HEADERS

The procedure checks for the TCPWARE_SMTP_USER_HEADERS logical for header definitions. If it does not find the logical, it checks the SYS$LOGIN:SMTP_USER_HEADERS.COM file. If it finds the file, it comes back with the prompt:

SYS$LOGIN:SMTP_USER_HEADERS.COM Exists.  Load? [Yes]

If you want to accept the contents of the file, press Return. (If the file did not load properly, you can have it overwritten at the next prompt.) You then have the choice of adding to, modifying, or deleting the file, exiting and saving, or quitting without saving:

[A]dd, [M]odify, [D]elete, e[X]it and Save or [Q]uit:

  If you are adding a header, the following prompt appears:

Add Header:

1. Full-Name:
2. Comments:
3. Reply-To:
4. Return-Receipt-To:
5. Bcc:
6. Sender:
7. X-Department:

8. Other

Which header would you like to add?

Enter the negative number value:

-1—Enter your full name
-2—Enter a comments line
-3—Enter a reply-to name address
-4—Enter a return-receipt-to name or address

A return-receipt-to value is only valid if the system logical
TCPWARE_SMTP_RETURN_RECEIPT_TO_HEADER_ENABLE is defined as 1 during configuration. If this system logical is not defined or defined as 0, SMTP-OpenVMS does not add the Return_receipt_to header to the mail message.

-5—Enter a Bcc: name or address
-6—Enter a sender name or address
-7—Enter a departmental name or address

SMTP-OpenVMS prepends an X- to the departmental name or address.

-8—Enter your own special header. For example:

What is the name of the header: X-Affiliation

SMTP-OpenVMS prepends an X- to the special header name.

The next prompt asks you to supply a value for the header you specify. For example:

Full-Name Value: George Plimpton

The procedure returns to the [A]dd, [M]odify, [D]elete, e[X]it and Save or [Q]uit: prompt so that you can add other headers or modify or delete existing ones. If you enter X (exit and save), the procedure writes out the file on exiting and defines the SMTP_USER_HEADERS logical based on the file's contents.

  If you are modifying a header definition, the procedure gives you the current list of defined headers, followed by a prompt, where you enter the appropriate number. For example:

Your Current Headers:

1. Full-Name Value: George Plimpton
2. X-Affiliation: Paris Review

Which header would you like to modify? 2

New X-Affiliation Value: None

After modification, you return to the Which header would you like to modify? prompt. If you enter Return at the prompt, you return to the [A]dd,... prompt.

  If you are deleting a header definition, the procedure gives you the current list of defined headers, followed by the prompt:

Which header would you like to remove?

The procedure asks for confirmation and returns to the above prompt unless you enter Return. Removed files show up as being deleted in the Your Current Headers: list until you add a new header, or exit and reenter the procedure.