BLOCKADDR(8)

NAME
blockaddr - Address blocking channel for MMDF

SYNOPSIS
blockaddr

DESCRIPTION
Blockaddr is an MMDF channel program for intercepting mail to outdated addresses and sending an explanation to the sender about the address change. This program is called by the program deliver and is not meant to be invoked by users directly.

Depending on the setting of the first character of the confstr= mmdftailor channel parameter, the blockaddr channel operates in either ``reject'' (confstr=``r...'') or ``warn'' (confstr=``w...'') mode. In the ``reject'' mode, all mail is returned to the original sender with the reason ``Hostname no longer valid'' or ``Username no longer valid''. A separate message is sent to the original sender explaining that the addresses used have been changed to something new. In the ``warn'' mode, all mail is resubmitted for normal delivery. In the case of usernames on the local machine, mail is resubmitted to the ~username address to avoid alias loops. A separate message is sent to the sender of the original message explaining that the addresses used are about to expire but that the mail was delivered anyway.

When an explanatory message is sent to the original sender, either in ``warn'' or ``reject'' mode, the initial text of the message is taken from a file specified by the rest (i.e. beginning at the second character) of the channel's confstr= mmdftailor channel parameter. If this file is missing or its name is omitted, blockaddr inserts its own initial text. Appended to this initial text is the list of addresses processed by the blockaddr channel and an explanation from the RHS of the channel's table about why the address is no longer valid. If the channel table does not contain an entry for the address (see the example below), then blockaddr uses a ``canned'' message instead.

Note that you must include a host= locname.locdomain parameter in the MCHN entry.

EXAMPLE
To set up blockaddr channels to handle both expired users and soon-to-expire hostnames, put the following entries in your mmdftailor file:

MCHN	blockhost, show=``Block Host Channel'', que=blockhost, tbl=blockhost,
	pgm=blockaddr, mod=reg, mod=send, host=dev.cs.net,
	confstr=``w/mmdf/table/warnhosts'', ap=822

MCHN	blockuser, show=``Block User Channel'', que=blockuser, tbl=blockuser,
	pgm=blockaddr, mod=reg, mod=send, host=dev.cs.net,
	confstr=``r/mmdf/table/rejectuser'', ap=822

Put the following lines in your Top-Level domain table:
blockuser:	blockuser
blockhost:	blockhost
acme-cs:	cs.acme.com,blockhost
beta-vax:	beta.com,blockhost

Put the following lines in your alias table:
ted:	ted@blockuser
alice:	alice@blockuser

Put the following lines in your blockhost channel table:
blockhost:	blockhost
cs.acme.com:	``Address all mail to Acme Co. as user@host.acme.com''
beta.com:	``All users at Beta Co. are now user@beta.com''

Put the following lines in your blockuser channel table:
blockuser:	blockuser
ted:	``Ted disappeared--if you see him, contact the FBI''
alice:	``Alice's new address is (groan) alice@competitor.com''

In this example, mail to ``fred@acme-cs'' would be routed through the blockhost channel which would send it along to ``fred@cs.acme.com'' and would send a message to the sender saying that the address used was about to expire and to ``Address all mail to Acme Co. as user@host.acme.com''. Mail to the local user ``alice'' would be returned to the sender and blockaddr would send an explanatory message saying that ``Alice's new address is (groan) alice@competitor.com''.

SEE ALSO
deliver(8), submit(8), ``Configuring MMDF Authorisation''