This commit was generated by cvs2svn to track changes on a CVS vendor
[unix-history] / usr.sbin / sendmail / cf / mailer / smtp.m4
CommitLineData
6f14531a
RG
1PUSHDIVERT(-1)
2#
3# Copyright (c) 1983 Eric P. Allman
4# Copyright (c) 1988, 1993
5# The Regents of the University of California. All rights reserved.
6#
7# Redistribution and use in source and binary forms, with or without
8# modification, are permitted provided that the following conditions
9# are met:
10# 1. Redistributions of source code must retain the above copyright
11# notice, this list of conditions and the following disclaimer.
12# 2. Redistributions in binary form must reproduce the above copyright
13# notice, this list of conditions and the following disclaimer in the
14# documentation and/or other materials provided with the distribution.
15# 3. All advertising materials mentioning features or use of this software
16# must display the following acknowledgement:
17# This product includes software developed by the University of
18# California, Berkeley and its contributors.
19# 4. Neither the name of the University nor the names of its contributors
20# may be used to endorse or promote products derived from this software
21# without specific prior written permission.
22#
23# THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND
24# ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
25# IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
26# ARE DISCLAIMED. IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE
27# FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
28# DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
29# OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
30# HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
31# LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
32# OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
33# SUCH DAMAGE.
34#
35ifdef(`SMTP_MAILER_FLAGS',,
36 `define(`SMTP_MAILER_FLAGS',
37 `ifdef(`_OLD_SENDMAIL_', `L', `')')')
38POPDIVERT
39#####################################
40### SMTP Mailer specification ###
41#####################################
42
69fc843f 43VERSIONID(`@(#)smtp.m4 8.7 (Berkeley) 10/31/93')
6f14531a 44
d747e748 45Msmtp, P=[IPC], F=CONCAT(mDFMuX, SMTP_MAILER_FLAGS), S=11/31, R=ifdef(`_ALL_MASQUERADE_', `11/31', `21'), E=\r\n,
6f14531a 46 ifdef(`_OLD_SENDMAIL_',, `L=990, ')A=IPC $h
d747e748 47Mesmtp, P=[IPC], F=CONCAT(mDFMuXa, SMTP_MAILER_FLAGS), S=11/31, R=ifdef(`_ALL_MASQUERADE_', `11/31', `21'), E=\r\n,
3a363396 48 ifdef(`_OLD_SENDMAIL_',, `L=990, ')A=IPC $h
69fc843f 49Mrelay, P=[IPC], F=CONCAT(mDFMuXa, SMTP_MAILER_FLAGS), S=11/31, R=51, E=\r\n,
6f14531a
RG
50 ifdef(`_OLD_SENDMAIL_',, `L=2040, ')A=IPC $h
51
d747e748
JH
52#
53# envelope sender and masquerading recipient rewriting
54#
6f14531a 55S11
69fc843f 56R$+ $: $>51 $1 sender/recipient common
d747e748 57R$* :; <@> $@ $1 :; list:; special case
6f14531a 58
d747e748 59# handle unqualified names
6f14531a 60R$* < @ $* > $* $@ $1 < @ $2 > $3 already qualified
69fc843f 61R$* $@ $>61 $1
6f14531a 62
6f14531a 63
d747e748
JH
64#
65# header recipient rewriting if not masquerading recipients
66#
67S21
6f14531a
RG
68
69# do sender/recipient common rewriting
69fc843f 70R$+ $: $>51 $1
6f14531a 71
d747e748 72# unqualified names (e.g., "eric") are qualified by local host
6f14531a 73R$* < @ $* > $* $@ $1 < @ $2 > $3 already qualified
d747e748 74R$+ $: $1 < @ $j > add local domain
6f14531a 75
6f14531a 76
d747e748
JH
77#
78# header sender and masquerading recipient rewriting
79#
80S31
69fc843f 81R$+ $: $>51 $1 sender/recipient common
d747e748
JH
82R$* :; <@> $@ $1 :; list:; special case
83
84# do special header rewriting
85R$* <@> $* $@ $1 <@> $2 pass null host through
86R< @ $* > $* $@ < @ $1 > $2 pass route-addr through
87R$=E < @ $=w . > $@ $1 < @ $2 > exposed user as is
88R$* < @ $=w . > $: $1 < @ $M > masquerade as domain
89R$* < @ > $: $1 < @ $j > in case $M undefined
90
91# handle unqualified names
92R$* < @ $* > $* $@ $1 < @ $2 > $3 already qualified
69fc843f 93R$* $@ $>61 $1
6f14531a 94
d747e748
JH
95
96#
97# common rewriting for all SMTP addresses
98#
69fc843f 99S51
6f14531a
RG
100
101# pass <route-addr>s through
102R< @ $+ > $* $@ < @ $1 > $2 resolve <route-addr>
103
104# output fake domains as user%fake@relay
105ifdef(`BITNET_RELAY',
d747e748
JH
106`R$+ <@ $+ . BITNET > $: $1 % $2 .BITNET < @ $B > user@host.BITNET
107R$+.BITNET <@ $+:$+ > $: $1 .BITNET < @ $3 > strip mailer: part',
6f14531a
RG
108 `dnl')
109ifdef(`CSNET_RELAY',
d747e748
JH
110`R$+ <@ $+ . CSNET > $: $1 % $2 .CSNET < @ $C > user@host.CSNET
111R$+.CSNET <@ $+:$+ > $: $1 .CSNET < @ $3 > strip mailer: part',
6f14531a
RG
112 `dnl')
113ifdef(`_NO_UUCP_', `dnl',
114`R$+ <@ $+ . UUCP > $: $2 ! $1 < @ $j > user@host.UUCP')
d747e748
JH
115
116
117#
118# common sender and masquerading recipient rewriting
119#
69fc843f
AM
120S61
121
d747e748
JH
122R$=E $@ $1 < @ $j> show exposed names
123R$+ $: $1 < @ $M > user w/o host
124R$+ <@> $: $1 < @ $j > in case $M undefined