151225SericPUSHDIVERT(-1) 251225Seric# 351225Seric# Copyright (c) 1983 Eric P. Allman 462501Sbostic# Copyright (c) 1988, 1993 562501Sbostic# The Regents of the University of California. All rights reserved. 651225Seric# 751225Seric# %sccs.include.redist.sh% 851225Seric# 967469Sericifdef(`SMTP_MAILER_FLAGS',, `define(`SMTP_MAILER_FLAGS', `')') 1067912Sericifdef(`SMTP_MAILER_ARGS',, `define(`SMTP_MAILER_ARGS', `IPC $h')') 1167912Sericifdef(`ESMTP_MAILER_ARGS',, `define(`ESMTP_MAILER_ARGS', `IPC $h')') 1267912Sericifdef(`SMTP8_MAILER_ARGS',, `define(`SMTP8_MAILER_ARGS', `IPC $h')') 1367912Sericifdef(`RELAY_MAILER_ARGS',, `define(`RELAY_MAILER_ARGS', `IPC $h')') 1451225SericPOPDIVERT 1551225Seric##################################### 1651225Seric### SMTP Mailer specification ### 1751225Seric##################################### 1851225Seric 19*68892SericVERSIONID(`@(#)smtp.m4 8.22 (Berkeley) 04/26/95') 2051225Seric 21*68892SericMsmtp, P=[IPC], F=CONCAT(mDFMuX, SMTP_MAILER_FLAGS), S=11/31, R=ifdef(`_ALL_MASQUERADE_', `11/31', `21'), E=\r\n, L=990, 22*68892Seric _OPTINS(`SMTP_MAILER_MAX', `M=', `, ')_OPTINS(`SMTP_MAILER_CHARSET', `C=', `, ')T=DNS/RFC822/SMTP, 23*68892Seric A=SMTP_MAILER_ARGS 24*68892SericMesmtp, P=[IPC], F=CONCAT(mDFMuXa, SMTP_MAILER_FLAGS), S=11/31, R=ifdef(`_ALL_MASQUERADE_', `11/31', `21'), E=\r\n, L=990, 25*68892Seric _OPTINS(`SMTP_MAILER_MAX', `M=', `, ')_OPTINS(`SMTP_MAILER_CHARSET', `C=', `, ')T=DNS/RFC822/SMTP, 26*68892Seric A=ESMTP_MAILER_ARGS 27*68892SericMsmtp8, P=[IPC], F=CONCAT(mDFMuX8, SMTP_MAILER_FLAGS), S=11/31, R=ifdef(`_ALL_MASQUERADE_', `11/31', `21'), E=\r\n, L=990, 28*68892Seric _OPTINS(`SMTP_MAILER_MAX', `M=', `, ')_OPTINS(`SMTP_MAILER_CHARSET', `C=', `, ')T=DNS/RFC822/SMTP, 29*68892Seric A=SMTP8_MAILER_ARGS 30*68892SericMrelay, P=[IPC], F=CONCAT(mDFMuXa8, SMTP_MAILER_FLAGS), S=11/31, R=61, E=\r\n, L=2040, 31*68892Seric _OPTINS(`RELAY_MAILER_CHARSET', `C=', `, ')T=DNS/RFC822/SMTP, 32*68892Seric A=RELAY_MAILER_ARGS 3351225Seric 3464748Seric# 3564748Seric# envelope sender and masquerading recipient rewriting 3664748Seric# 3751225SericS11 3864803SericR$+ $: $>51 $1 sender/recipient common 3968764SericR$* :; <@> $@ list:; special case 4065196SericR$* $@ $>61 $1 qualify unqual'ed names 4151225Seric 4264748Seric 4364748Seric# 4464748Seric# header recipient rewriting if not masquerading recipients 4564748Seric# 4664748SericS21 4764748Seric 4851686Seric# do sender/recipient common rewriting 4964803SericR$+ $: $>51 $1 5051686Seric 5164748Seric# unqualified names (e.g., "eric") are qualified by local host 5258117SericR$* < @ $* > $* $@ $1 < @ $2 > $3 already qualified 5364748SericR$+ $: $1 < @ $j > add local domain 5451686Seric 5554018Seric 5664748Seric# 5764748Seric# header sender and masquerading recipient rewriting 5864748Seric# 5964748SericS31 6064803SericR$+ $: $>51 $1 sender/recipient common 6168764SericR:; <@> $@ list:; special case 6251686Seric 6364748Seric# do special header rewriting 6464748SericR$* <@> $* $@ $1 <@> $2 pass null host through 6564748SericR< @ $* > $* $@ < @ $1 > $2 pass route-addr through 6664748SericR$=E < @ $=w . > $@ $1 < @ $2 > exposed user as is 6766084SericR$* < @ $=w . > $: $1 < @ $2 @ $M > masquerade as domain 6866084SericR$* < @ $+ @ > $@ $1 < @ $2 > in case $M undefined 6966084SericR$* < @ $+ @ $+ > $@ $1 < @ $3 > $M is defined -- use it 7065196SericR$* $@ $>61 $1 qualify unqual'ed names 7151686Seric 7251686Seric 7364748Seric# 7465217Seric# convert pseudo-domain addresses to real domain addresses 7564748Seric# 7664803SericS51 7751686Seric 7851225Seric# pass <route-addr>s through 7951245SericR< @ $+ > $* $@ < @ $1 > $2 resolve <route-addr> 8051225Seric 8151225Seric# output fake domains as user%fake@relay 8251225Sericifdef(`BITNET_RELAY', 8365175Seric`R$+ <@ $+ .BITNET. > $: $1 % $2 .BITNET < @ $B > user@host.BITNET 8465183SericR$+.BITNET <@ $+:$+ > $: $1 .BITNET < @ $3 > strip mailer: part', 8551225Seric `dnl') 8665217Sericifdef(`_NO_UUCP_', `dnl', ` 8765217Seric# do UUCP heuristics; note that these are shared with UUCP mailers 8865217SericR$+ < @ $+ .UUCP. > $: < $2 ! > $1 convert to UUCP form 8965217SericR$+ < @ $* > $* $@ $1 < @ $2 > $3 not UUCP form 9064748Seric 9165217Seric# leave these in .UUCP form to avoid further tampering 9265217SericR< $&h ! > $- ! $+ $@ $2 < @ $1 .UUCP. > 9365217SericR< $&h ! > $-.$+ ! $+ $@ $3 < @ $1.$2 > 9465217SericR< $&h ! > $+ $@ $1 < @ $&h .UUCP. > 9567606SericR< $+ ! > $+ $: $1 ! $2 < @ $j > 9665217SericR$+ < @ $+ : $+ > $: $1 < @ $3 > strip mailer: part') 9764748Seric 9865217Seric 9964748Seric# 10064748Seric# common sender and masquerading recipient rewriting 10164748Seric# 10264803SericS61 10364803Seric 10465196SericR$* < @ $* > $* $@ $1 < @ $2 > $3 already qualified 10564748SericR$=E $@ $1 < @ $j> show exposed names 10664748SericR$+ $: $1 < @ $M > user w/o host 10764748SericR$+ <@> $: $1 < @ $j > in case $M undefined 108