например:
bash-2.04$ uname -a
OpenBSD sunct0 2.8 LALALA#96 sparc
bash-2.04$
поправить sendmail.cf под себя:
--------------------- sendmail.mc -------------
divert(-1)
#
# Sendmail 8.10 configuration file for sunct0.jinr.dubna.su
#
divert(0)dnl
VERSIONID(`JINR: sunct0.mc lavr+vvm')
OSTYPE(openbsd)
dnl
dnl Advertise ourselves as ``sunct0.jinr.dubna.su''
define(`confSMTP_LOGIN_MSG',`sunct0.jinr.dubna.su Antispam-MTA; $b\n"Use of this
system for non-authorized relaying is prohibited." ')
dnl
dnl FEATURE(relay_hosts_only)
dnl
FEATURE(relay_entire_domain)
dnl
dnl always add domain name even this is local mail
dnl
FEATURE(always_add_domain)
FEATURE(access_db)
FEATURE(mailertable)
FEATURE(virtusertable)
dnl LAVR - use blacklist for lock user via access.db
FEATURE(blacklist_recipients)dnl
dnl lavr: notsticky if we wish used maildrop
dnl FEATURE(stickyhost)dnl
FEATURE(notsticky)dnl
FEATURE(nouucp,reject)
dnl Lavr - DNSBL is new replacement RBL, has many feature
FEATURE(dnsbl, `rbl.maps.vix.com', `Rejected - see http://www.mail-abuse.org/rbl
/')dnl
FEATURE(dnsbl, `dul.maps.vix.com', `Dialup - see http://www.mail-abuse.org/dul/'
)dnl
FEATURE(dnsbl, `relays.mail-abuse.org', `Open spam relay - see http://www.mail-a
buse.org/rss/')dnl
dnl FEATURE(dnsbl, `relays.orbs.org', `Open spam relay - see http://www.orbs.org
/')dnl
dnl Lavr - delay_checks, new feature for delay until CHECK rules done
FEATURE(`delay_checks')
dnl
FEATURE(`masquerade_envelope')dnl
dnl Lavr - sendmail now implements RFC 2476 (Message Submission) and
dnl may listen on several different ports, by default: 587 (try to check)
dnl find "O DaemonPortOptions=Name=MSA, Port=587, M=E" in sendmail.cf
dnl this activate Message Submission Agent (MSA)
dnl
dnl comment it later
FEATURE(`no_default_msa')
dnl uncomment next two strings for use old sendmail.cw ( new - local-host-names)
dnl FEATURE(use_cw_file)dnl
dnl define(`confCW_FILE', `/etc/mail/sendmail.cw')dnl
define(`confPRIVACY_FLAGS', `authwarnings,noexpn,novrfy,nobodyreturn,noetrn,need
mailhelo')dnl
define(`confNO_RCPT_ACTION', `add-to-undisclosed')dnl
define(`confMAX_MIME_HEADER_LENGTH', `256/128')dnl
dnl Lavr - permit 8bit-body 8bit=pass8
dnl
define(`confEIGHT_BIT_HANDLING', `pass8')
dnl Lavr - max-mail lenght in bytes
dnl
define(`confMAX_MESSAGE_SIZE', `1500000')
dnl
define(`confMAX_RCPTS_PER_MESSAGE', `10')
define(`confMAX_HOP', `20')dnl
dnl Wait a day before sending mail about deferred messages
define(`confTO_QUEUEWARN', `1d')dnl
dnl
dnl Wait 4 days before giving up and bouncing the message
define(`confTO_QUEUERETURN', `5d')dnl
dnl
dnl Notify postmaster
dnl
define(`confCOPY_ERRORS_TO', `postmaster')dnl
dnl
dnl Lavr - ignore such security level as GROUP and WORLD writeable
dnl chmod go-w / /etc /etc/mail /usr /var /var/spool /var/spool/mqueue
dnl chown root / /etc /etc/mail /usr /var /var/spool /var/spool/mqueue
dnl
dnl 1. Allow .forward in Group-writeable DIRS:
dnl - O DontBlameSendmail=forwardfileingroupwritabledirpath
dnl 2. Allow .forward in both Group and World writeable
dnl - O DontBlameSendmail=forwardfileinunsafedirpath
dnl 3. Allow full-unsafe mode:
dnl - O DontBlameSendmail=forwardfileinunsafedirpath,
dnl forwardfileinunsafedirpathsafe
dnl
dnl DontBlameSendmail mode is very important for Majordomo use.
dnl
dnl define(`confDONT_BLAME_SENDMAIL', `forwardfileingroupwritabledirpath')
dnl
dnl define(`confDONT_BLAME_SENDMAIL', `forwardfileingroupwritabledirpath')
dnl
MAILER(local)dnl
MAILER(smtp)dnl
dnl use as inet, such inet6
dnl DAEMON_OPTIONS(`Family=inet, address=0.0.0.0, Name=MTA')dnl
dnl DAEMON_OPTIONS(`Family=inet6, address=::, Name=MTA6')dnl
dnl
dnl Finally, we have the local cf-style goo
LOCAL_CONFIG
#
# Regular expression to reject:
# * numeric-only localparts from aol.com and msn.com
# * localparts starting with a digit from juno.com
# * localparts longer than 20 characters from aol.com
#
#--lavr, add some other *dialup*.com/net and etc below
Kcheckaddress regex -a@MATCH
^([0-9]+<@(aol|msn)\.com|[0-9][^<]*<@juno\.com|.{20}[^<]+<@aol\.com)\.?>
#
# Names that won't be allowed in a To: line (local-part and domains)
#
#--lavr, add below something you needs
C{RejectToLocalparts} friend you user gluck
C{RejectToDomains} public.com the-internet.com
LOCAL_RULESETS
#
# Header checks
#
HTo: $>CheckTo
HMessage-Id: $>CheckMessageId
HSubject: $>Check_Subject
HX-Spanska: $>Spanska
#
# Melissa worm detection (done in Check_Subject)
# See http://www.cert.org/advisories/CA-99-04-Melissa-Macro-Virus.html
#
D{MPat}Important Message From
D{MMsg}This message may contain the Melissa virus; see http://www.cert.org/advis
ories/CA-99-04-Melissa-Macro-Virus.html
#
# ILOVEYOU worm detection (done in Check_Subject)
# See http://www.datafellows.com/v-descs/love.htm
#
D{ILPat}ILOVEYOU
D{ILMsg}This message may contain the ILOVEYOU virus; see http://www.datafellows.
com/v-descs/love.htm
#
# Reject some mail based on To: header
#
SCheckTo
R$={RejectToLocalparts}@$* $#error $: "553 Header error"
R$*@$={RejectToDomains} $#error $: "553 Header error"
#
# Enforce valid Message-Id to help stop spammers
#
SCheckMessageId
R< $+ @ $+ > $@ OK
R$* $#error $: 553 Header Error
#
# Happy99 worm detection
#
SSpanska
R$* $#error $: "553 Your system is probably infected
by the Happy99 worm; see http://www.symantec.com/avcenter/venc/data/happy99.wor
m.html"
#
# Check Subject line for worm/virus telltales
#
SCheck_Subject
R${MPat} $* $#error $: 553 ${MMsg}
RRe: ${MPat} $* $#error $: 553 ${MMsg}
R${ILPat} $#error $: 553 ${ILMsg}
RRe: ${ILPat} $#error $: 553 ${ILMsg}
------------------------ end of mc --------------
изменить, расширить, урезать по вкусу
ненужные комментарии - dnl выкинуть.
/etc/mail/relay-domains - должен содержать
имена доменов разрешенных для релеинга
/etc/mail/access - разрешенные ip/net,
там же запрещенные, там же blacklist
/etc/mail/local-host-names - все имена локальной
телеги с sendmail
ну и остальные базы