>Включение нужного файла происходит по записи
>
>MAILER(mailer)dnl
н-да, один другого в дебри завел.
мудрить не надо, сначала делаешь не сложный
config.mc, собираешь, проверяешь, затем читаешь
и усложняешь и тд и тп.
Нет, мы начитаемся чужих советов и сразу начнем
со сложного, например include других macro-m4
не вдаваясь в понятия очередности и последовательности:
русским языком было сказано - читай внимательно
README из sendmail, посмотри mc от freebsd:
ls -la /usr/src/etc/sendmail/
поизучай и все встанет на свои места.
английским по-белому написано, порядок:
less /usr/src/contrib/sendmail/cf/README
VERSIONID
OSTYPE
DOMAIN
FEATURE
local macro definitions
MAILER
LOCAL_RULE_*
LOCAL_RULESETS
где:
divert(-1)
тра-та-та Copyright
divert(0)
dnl - комментарий или пустая строка
исключения в порядке правил - когда в качестве
локального mailer'а используется procmail
(сие найти в README и изучить повнимательнее)
так чего такого сложного в freebsd.mc заготовке:
divert(-1)
...
divert(0)
VERSIONID(`$FreeBSD: src/etc/sendmail/freebsd.mc,v 1.10.2.8 2001/03/06 02:12:59
gshapiro Exp $')
OSTYPE(bsd4.4)
DOMAIN(generic)
FEATURE(access_db, `hash -o /etc/mail/access')
FEATURE(blacklist_recipients)
FEATURE(local_lmtp)
FEATURE(mailertable, `hash -o /etc/mail/mailertable')
FEATURE(relay_based_on_MX)
FEATURE(virtusertable, `hash -o /etc/mail/virtusertable')
dnl Uncomment to activate Realtime Blackhole List (recommended!)
dnl information available at http://maps.vix.com/rbl/
dnl FEATURE(dnsbl)
dnl Alternatively, you can provide your own rejection message for the RBL:
dnl FEATURE(dnsbl, `blackholes.mail-abuse.org', `"550 Mail from " $&{client_addr
} " rejected, see http://mail-abuse.org/cgi-bin/lookup?" $&{client_addr}')
dnl Other DNS based black hole lists
dnl --------------------------------
dnl MAPS Relay Spam Stopper (RSS): http://mail-abuse.org/rss/
dnl FEATURE(dnsbl, `relays.mail-abuse.org', `"550 Mail from " $&{client_addr} "
rejected; see http://mail-abuse.org/cgi-bin/nph-rss?" $&{client_addr}')
dnl MAPS Dial-up User List (DUL): http://maps.vix.com/dul/
dnl FEATURE(dnsbl, `dialups.mail-abuse.org', `"550 Mail from dial-up rejected; s
ee http://mail-abuse.org/dul/enduser.htm"')
dnl ORBS also offers a multitude of DNS based block hole lists. For more
dnl information, visit: http://www.orbs.org/usingindex.html
dnl Dialup users should uncomment and define this appropriately
dnl define(`SMART_HOST', `your.isp.mail.server')
dnl Uncomment the first line to change the location of the default
dnl /etc/mail/local-host-names and comment out the second line.
dnl define(`confCW_FILE', `-o /etc/mail/sendmail.cw')
define(`confCW_FILE', `-o /etc/mail/local-host-names')
dnl Uncomment both of the following lines to listen on IPv6 as well as IPv4
dnl DAEMON_OPTIONS(`Name=IPv4, Family=inet')
dnl DAEMON_OPTIONS(`Name=IPv6, Family=inet6')
define(`confMAX_MIME_HEADER_LENGTH', `256/128')
define(`confNO_RCPT_ACTION', `add-to-undisclosed')
define(`confPRIVACY_FLAGS', `authwarnings,noexpn,novrfy')
MAILER(local)
MAILER(smtp)
или:
divert(-1)
#
# Copyright (c) 1983 Eric P. Allman
# Copyright (c) 1988, 1993
# The Regents of the University of California. All rights reserved.
#
# Redistribution and use in source and binary forms, with or without
# modification, are permitted provided that the following conditions
# are met:
# 1. Redistributions of source code must retain the above copyright
# notice, this list of conditions and the following disclaimer.
# 2. Redistributions in binary form must reproduce the above copyright
# notice, this list of conditions and the following disclaimer in the
# documentation and/or other materials provided with the distribution.
# 3. All advertising materials mentioning features or use of this software
# must display the following acknowledgement:
# This product includes software developed by the University of
# California, Berkeley and its contributors.
# 4. Neither the name of the University nor the names of its contributors
# may be used to endorse or promote products derived from this software
# without specific prior written permission.
#
# THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND
# ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
# IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
# ARE DISCLAIMED. IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE
# FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
# DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
# OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
# HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
# LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
# OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
# SUCH DAMAGE.
#
#
# This is a generic configuration file for 4.4 BSD-based systems.
# If you want to customize it, copy it to a name appropriate for your
# environment and do the modifications there.
#
# The best documentation for this .mc file is:
# /usr/share/sendmail/cf/README or
# /usr/src/contrib/sendmail/cf/README
#
#--lavr, see changes(all transports +8bit) at /usr/src/contrib/sendmail/cf/mailer/smtp.m4
# /etc/mail/patch-smtp_m4
divert(0)
VERSIONID(`$FreeBSD: src/etc/sendmail/freebsd.mc,v 1.10.2.8 2001/03/06 02:12:59
gshapiro Exp $')
OSTYPE(bsd4.4)
DOMAIN(generic)
FEATURE(always_add_domain)
FEATURE(access_db, `hash -o /etc/mail/access')
FEATURE(blacklist_recipients)
FEATURE(nouucp,reject)
FEATURE(local_lmtp)
dnl define(`LOCAL_MAILER_FLAGS', LOCAL_MAILER_FLAGS`'P)dnl
FEATURE(mailertable, `hash -o /etc/mail/mailertable')
#FEATURE(relay_based_on_MX)
FEATURE(relay_hosts_only)
FEATURE(virtusertable, `hash -o /etc/mail/virtusertable')
dnl Uncomment to activate Realtime Blackhole List (recommended!)
dnl information available at http://maps.vix.com/rbl/
FEATURE(dnsbl)
dnl Alternatively, you can provide your own rejection message for the RBL:
FEATURE(dnsbl, `blackholes.mail-abuse.org', `"550 Mail from " $&{client_addr} "
rejected, see http://mail-abuse.org/cgi-bin/lookup?" $&{client_addr}')
dnl Other DNS based black hole lists
dnl --------------------------------
dnl MAPS Relay Spam Stopper (RSS): http://mail-abuse.org/rss/
FEATURE(dnsbl, `relays.mail-abuse.org', `"550 Mail from " $&{client_addr} " reje
cted; see http://mail-abuse.org/cgi-bin/nph-rss?" $&{client_addr}')
dnl MAPS Dial-up User List (DUL): http://maps.vix.com/dul/
FEATURE(dnsbl, `dialups.mail-abuse.org', `"550 Mail from dial-up rejected; see h
ttp://mail-abuse.org/dul/enduser.htm"')
dnl ORBS also offers a multitude of DNS based block hole lists. For more
dnl information, visit: http://www.orbs.org/usingindex.html
dnl
FEATURE(`delay_checks')
dnl Dialup users should uncomment and define this appropriately
dnl define(`SMART_HOST', `relay.mydomen.ru')
dnl Uncomment the first line to change the location of the default
dnl /etc/mail/local-host-names and comment out the second line.
dnl FEATURE(`use_cw_file')
dnl define(`confCW_FILE', `-o /etc/mail/sendmail.cw')
define(`confCW_FILE', `-o /etc/mail/local-host-names')
dnl Uncomment both of the following lines to listen on IPv6 as well as IPv4
dnl DAEMON_OPTIONS(`Name=IPv4, Family=inet')
dnl DAEMON_OPTIONS(`Name=IPv6, Family=inet6')
define(`confMAX_MIME_HEADER_LENGTH', `256/128')
define(`confNO_RCPT_ACTION', `add-to-undisclosed')
define(`confPRIVACY_FLAGS', `authwarnings,noexpn,novrfy,noetrn')
define(`ALIAS_FILE', `/etc/mail/aliases,/etc/mail/majordomo.aliases')
MASQUERADE_AS(`mydomain.ru')
MASQUERADE_DOMAIN(`mydomain.ru')
FEATURE(`masquerade_entire_domain')
dnl Lavr - do envelope e-mail address for has chance to see it
FEATURE(`masquerade_envelope')dnl
dnl
dnl Lavr - permit 8bit-body 8bit=pass8, by default SMTP8 has "8"
dnl
dnl define(`confEIGHT_BIT_HANDLING', `pass8')
dnl Add 8bit to ALL SMTP/ESMTP/SMTP8
dnl define(`SMTP_MAILER_FLAGS', `8')
define(`confSMTP_MAILER', `smtp8')
dnl Lavr - max-mail lenght in bytes
dnl
define(`confMAX_MESSAGE_SIZE', `50000')
dnl Lavr - max recepients for any maillist
dnl
define(`confMAX_RCPTS_PER_MESSAGE', `25')
dnl disable MSA port=587
FEATURE(`no_default_msa')
dnl
dnl define(`confSMTP_LOGIN_MSG',`$j Sendmail $v/$Z; $b\n"Use of this system for
third party and non-authorized relaying is prohibited." ')
dnl Lavr recommended DON'T USE more than one prompt string, because there are some stupid MTA
define(`confSMTP_LOGIN_MSG',`Contact Co. Lavr-Antispam-MTA; "Non-authorized rela
ying DENIED." ')
MAILER(local)
MAILER(smtp)
Примечание: это конкретный пример, более общий
файл с комментариями и под возможные конфигурации
procmail/genericdomain and etc, надо искать..
Данный пример, маскарадит domain, те не подходит
для ситуации с virtual-domain, НО, поправить его
- как два пальца... (убрать лишнее и добавить
procmail)
Ньюансы в случае FreeBSD:
/etc/mail/mailer.conf - сожержит путь к реальным
binaries, в случае если sendmail собран с wrapper
а by-default он собран именно так.
В случае сборки из freebsd-ports, поправить этот
файл - указав /usr/local/что-то там
выше изложенные проблемы, возможны из-за
local-mail, для этого надо знать как и кем
собран sendmail и какие использовались *.mc
и соответственно смотреть флаги у локального
мейлера в получившемся sendmail.cf, если и правда
ошибка где-то в локальном мейлере.