ient rewriting # SEnvToL R$+ < @ $* > $: $1 strip host part R$+ + $* $: < $&{addr_type} > $1 + $2 mark with addr type R $+ + $* $: $1 remove +detail for sender R< $* > $+ $: $2 else remove mark # # Header sender rewriting # SHdrFromL R<@> $n errors to mailer-daemon R@ <@ $*> $n temporarily bypass Sun bogosity R$+ $: $>AddDomain $1 add local domain if needed R$* $: $>MasqHdr $1 do masquerading # # Header recipient rewriting # SHdrToL R$+ $: $>AddDomain $1 add local domain if needed R$* < @ *LOCAL* > $* $: $1 < @ $j . > $2 # # Common code to add local domain name (only if always-add-domain) # SAddDomain Mlocal, P=/usr/sbin/sensible-mda, F=lsDFMAw5:/|@qPn9S, S=EnvFromL/HdrFromL, R=EnvToL/HdrToL, T=DNS/RFC822/X-Unix, A=sensible-mda $g $u $h ${client_addr} Mprog, P=/bin/sh, F=lsDFMoqeu9, S=EnvFromL/HdrFromL, R=EnvToL/HdrToL, D=$z:/, T=X-Unix/X-Unix/X-Unix, A=sh -c $u ##################################### ### SMTP Mailer specification ### ##################################### ##### $Id: smtp.m4,v 8.66 2013-11-22 20:51:14 ca Exp $ ##### # # common sender and masquerading recipient rewriting # SMasqSMTP R$* < @ $* > $* $@ $1 < @ $2 > $3 already fully qualified R$+ $@ $1 < @ *LOCAL* > add local qualification # # convert pseudo-domain addresses to real domain addresses # SPseudoToReal # pass s through R< @ $+ > $* $@ < @ $1 > $2 resolve # output fake domains as user%fake@relay # do UUCP heuristics; note that these are shared with UUCP mailers R$+ < @ $+ .UUCP. > $: < $2 ! > $1 convert to UUCP form R$+ < @ $* > $* $@ $1 < @ $2 > $3 not UUCP form # leave these in .UUCP form to avoid further tampering R< $&h ! > $- ! $+ $@ $2 < @ $1 .UUCP. > R< $&h ! > $-.$+ ! $+ $@ $3 < @ $1.$2 > R< $&h ! > $+ $@ $1 < @ $&h .UUCP. > R< $+ ! > $+ $: $1 ! $2 < @ $Y > use UUCP_RELAY R$+ < @ $~[ $* : $+ > $@ $1 < @ $4 > strip mailer: part R$+ < @ > $: $1 < @ *LOCAL* > if no UUCP_RELAY # # envelope sender rewriting # SEnvFromSMTP R$+ $: $>PseudoToReal $1 sender/recipient common R$* :; <@> $@ list:; special case R$* $: $>MasqSMTP $1 qualify unqual'ed names R$+ $: $>MasqEnv $1 do masquerading # # envelope recipient rewriting -- # also header recipient if not masquerading recipients # SEnvToSMTP R$+ $: $>PseudoToReal $1 sender/recipient common R$+ $: $>MasqSMTP $1 qualify unqual'ed names R$* < @ *LOCAL* > $* $: $1 < @ $j . > $2 # # header sender and masquerading header recipient rewriting # SHdrFromSMTP R$+ $: $>PseudoToReal $1 sender/recipient common R:; <@> $@ list:; special case # do special header rewriting R$* <@> $* $@ $1 <@> $2 pass null host through R< @ $* > $* $@ < @ $1 > $2 pass route-addr through R$* $: $>MasqSMTP $1 qualify unqual'ed names R$+ $: $>MasqHdr $1 do masquerading # # relay mailer header masquerading recipient rewriting # SMasqRelay R$+ $: $>MasqSMTP $1 R$+ $: $>MasqHdr $1 Msmtp, P=[IPC], F=mDFMuX, S=EnvFromSMTP/HdrFromSMTP, R=EnvToSMTP, E=\r\n, L=990, T=DNS/RFC822/SMTP, A=TCP $h Mesmtp, P=[IPC], F=mDFMuXa, S=EnvFromSMTP/HdrFromSMTP, R=EnvToSMTP, E=\r\n, L=990, T=DNS/RFC822/SMTP, A=TCP $h Msmtp8, P=[IPC], F=mDFMuX8, S=EnvFromSMTP/HdrFromSMTP, R=EnvToSMTP, E=\r\n, L=990, T=DNS/RFC822/SMTP, A=TCP $h Mdsmtp, P=[IPC], F=mDFMuXa%, S=EnvFromSMTP/HdrFromSMTP, R=EnvToSMTP, E=\r\n, L=990, T=DNS/RFC822/SMTP, A=TCP $h Mrelay, P=[IPC], F=mDFMuXa8, S=EnvFromSMTP/HdrFromSMTP, R=MasqSMTP, E=\r\n, L=2040, T=DNS/RFC822/SMTP, A=TCP $h ### /etc/mail/sendmail.mc ### # divert(-1)dnl # #----------------------------------------------------------------------------- # # $Sendmail: debproto.mc,v 8.15.2 2020-03-08 00:39:49 cowboy Exp $ # # # # Copyright (c) 1998-2010 Richard Nelson. All Rights Reserved. # # # # cf/debian/sendmail.mc. Generated from sendmail.mc.in by configure. # # # # sendmail.mc prototype config file for building Sendmail 8.15.2 # # # # Note: the .in file supports 8.7.6 - 9.0.0, but the generated # # file is customized to the version noted above. # # # # This file is used to configure Sendmail for use with Debian systems. # # # # If you modify this file, you will have to regenerate /etc/mail/sendmail.cf # # by running this file through the m4 preprocessor via one of the following: # # * make (or make -C /etc/mail) # # * sendmailconfig # # * m4 /etc/mail/sendmail.mc > /etc/mail/sendmail.cf # # The first two options are preferred as they will also update other files # # that depend upon the contents of this file. # # # # The best documentation for this .mc file is: # # /usr/share/doc/sendmail-doc/cf.README.gz # # # #----------------------------------------------------------------------------- # divert(0)dnl # # # # Copyright (c) 1998-2005 Richard Nelson. All Rights Reserved. # # # # This file is used to configure Sendmail for use with Debian systems. # # # define(`_USE_ETC_MAIL_')dnl # include(`/usr/share/sendmail/cf/m4/cf.m4')dnl # VERSIONID(`$Id: sendmail.mc, v 8.15.2-18 2020-03-08 00:39:49 cowboy Exp $') # OSTYPE(`debian')dnl # DOMAIN(`debian-mta')dnl # dnl # Items controlled by /etc/mail/sendmail.conf - DO NOT TOUCH HERE # undefine(`confHOST_STATUS_DIRECTORY')dnl #DAEMON_HOSTSTATS= # dnl # Items controlled by /etc/mail/sendmail.conf - DO NOT TOUCH HERE # dnl # # dnl # General defines # dnl # # dnl # SAFE_FILE_ENV: [undefined] If set, sendmail will do a chroot() # dnl # into this directory before writing files. # dnl # If *all* your user accounts are under /home then use that # dnl # instead - it will prevent any writes outside of /home ! # dnl # define(`confSAFE_FILE_ENV', `')dnl # dnl # # dnl # Daemon options - restrict to servicing LOCALHOST ONLY !!! # dnl # Remove `, Addr=' clauses to receive from any interface # dnl # If you want to support IPv6, switch the commented/uncommentd lines # dnl # # FEATURE(`no_default_msa')dnl # dnl DAEMON_OPTIONS(`Family=inet6, Name=MTA-v6, Port=smtp, Addr=::1')dnl # DAEMON_OPTIONS(`Family=inet, Name=MTA-v4, Port=smtp, Addr=127.0.0.1')dnl # dnl DAEMON_OPTIONS(`Family=inet6, Name=MSP-v6, Port=submission, M=Ea, Addr=::1')dnl # DAEMON_OPTIONS(`Family=inet, Name=MSP-v4, Port=submission, M=Ea, Addr=127.0.0.1')dnl # dnl # # dnl # Be somewhat anal in what we allow # define(`confPRIVACY_FLAGS',dnl # `needmailhelo,needexpnhelo,needvrfyhelo,restrictqrun,restrictexpand,nobodyreturn,authwarnings')dnl # dnl # # dnl # Define connection throttling and window length # define(`confCONNECTION_RATE_THROTTLE', `15')dnl # define(`confCONNECTION_RATE_WINDOW_SIZE',`10m')dnl # dnl # # dnl # Features # dnl # # dnl # use /etc/mail/local-host-names # FEATURE(`use_cw_file')dnl # dnl # # dnl # The access db is the basis for most of sendmail's checking # FEATURE(`access_db', , `skip')dnl # dnl # # dnl # The greet_pause feature stops some automail bots - but check the # dnl # provided access db for details on excluding localhosts... # FEATURE(`greet_pause', `1000')dnl 1 seconds # dnl # # dnl # Delay_checks allows sender<->recipient checking # FEATURE(`delay_checks', `friend', `n')dnl # dnl # # dnl # If we get too many bad recipients, slow things down... # define(`confBAD_RCPT_THROTTLE',`3')dnl # dnl # # dnl # Stop connections that overflow our concurrent and time connection rates # FEATURE(`conncontrol', `nodelay', `terminate')dnl # FEATURE(`ratecontrol', `nodelay', `terminate')dnl # dnl # # dnl # If you're on a dialup link, you should enable this - so sendmail # dnl # will not bring up the link (it will queue mail for later) # dnl define(`confCON_EXPENSIVE',`True')dnl # dnl # # dnl # Dialup/LAN connection overrides # dnl # # include(`/etc/mail/m4/dialup.m4')dnl # include(`/etc/mail/m4/provider.m4')dnl # dnl # # dnl # Default Mailer setup # MAILER_DEFINITIONS # MAILER(`local')dnl # MAILER(`smtp')dnl #