NetBSD2 | NetBSD | 1.6 | amd | autoconf | apache | bind | booting | boot/install/disk | boot-cd | build.sh | (daily) | Canna | CF+sendmail | cvs | dhcpd | dvi2ps | emacs-20 | ftpmirror | fvwm2 | gcc | gettext | ghostscript | inn | IPv6 | jitterbug | Install(OHP) | kernel | (old) | majordomo | make build | MHonArc | MRTG | namazu | ndtpd | PHP + PostgreSQL | netatalk | netboot | NFS | NIS | ntp | opie | Open Firmware | perl | procmail | sendmail | sharutils | smtpfeed | tcsh | TeX | time make | ucspi-tcp | w3 | wget | Wnn | wu-ftpd | X11 | Site Map |
全文検索

(site map) smtpfeed | cf/README

NetBSD/pkgsrc/mail/smtpfeed

【sendmail】

sendmail はメールサーバである。 もともと OS に
/usr/sbin/sendmail -> /usr/sbin/mailwrapper ->  /etc/mailer.conf
/usr/libexec/sendmail/sendmail
/etc/mail/sendmail.cf
などに入っているこの最後の *.cf は
/usr/src/gnu/usr.sbin/sendmail/cf/cf/netbsd-proto.mc
を使って作られている。 これをそのまま使っても多分何も問題がないが、それでは応用が 効かないので、まず sendmail 自体の方として pkgsrc を使ってsmtpfeed を 含んだ形のものを用意して見る。順序はどちらでもいいが、まず smtpfeed を用意する。これは sendmail と一緒に働いて、配送を高速化す るしくみである。

【pkgsrc - smtpfeed】

/usr/pkgsrc/mail/smtpfeed/ で make する。make install すると次のような表示が出る。
$NetBSD: MESSAGE,v 1.1 2001/11/01 01:01:22 zuntum Exp $ The executable for smtpfeed-1.18 is installed into /usr/pkg/libexec/smtpfeed. You'll need to prepare (1) sendmail with WIDE patch applied, and (2) properly configured sendmail.cf. (1) is done in the mail/sendmail package.
つまり 入った位置を知らせるのと、その後に
  1. WIDE patch の入った sendmail を作って、
  2. sendmail.cf も用意する。(1) は mail/sendmail で用意出来る。というこ とである。
(この情報は後からなら pkg_info -D smtpfeed とすると表示される)

【pkgsrc - sendmail + Wide Patch】

それで、上に書いてある通りに
/usr/pkgsrc/mail/sendmail
に行って make とすると、次のように言われることがあるかも知れない。
===> sendmail-8.11.6nb1 has an unacceptable license: no-profit. ===> To build this package, add this line to your /etc/mk.conf: ===> ACCEPTABLE_LICENSES+=no-profit
その時には (もしこの sendmail のプログラムを売って何か商売しようというのでなければ)、 書いてある通りに /etc/mk.conf (の一番最後) に上の最後の行を加える。そうしておいて
make
とすると、WidePatch の入ったものを作ってくれる。これで、make install すると
/usr/pkg/libexec/sendmail/sendmail
に入る。 最後に
=========================================================== $NetBSD: MESSAGE,v 1.5 2001/01/29 11:34:32 wiz Exp $ To use "sendmail-8.11.6nb1" as the system's mail transport agent you have to install "/usr/pkg/etc/mailer.conf.sendmail" as global mailwrapper configuration file. The command below will do that for you: =========================================================== 全体のメール取扱表として、/usr/pkg/etc/mailer.conf.sendmail というのを用意してあげたから、それを /etc/mailer.conf として使いなさい ===========================================================
というようなことを言われるので、その下に書いてある通りに
ln -fs /usr/pkg/etc/mailer.conf.sendmail /etc/mailer.conf
としておく。

【cf/m4 を使って sendmail.cf を作成】

/usr/pkgsrc/mail/smtpfeed/work/smtpfeed-1.15/INSTALL.j
(等)を見ると、
FEATURE(nocanonify)dnl MAILER_DEFINITIONS Msmtpf, P=/usr/sbin/smtpfeed, F=mDFMuXz, S=11/31, R=21, E=\n, L=990, T=DNS/RFC822/SMTP, A=smtpfeed MAILER(smtp)dnl define(`SMART_HOST', `smtpf:LMTP')dnl
を追加して下さいとあるので、この中の三行目の /usr/sbin/smtpfeed の部分の文字だけは /usr/pkg/libexec/smtpfeed に変更してから
/usr/src/gnu/usr.sbin/sendmail/cf/cf/netbsd-proto.mc
の最後にそれを書き加える。 加えた後は次のようになっている。
include(`../m4/cf.m4') VERSIONID(`@(#)netbsd-proto.mc $Revision: 1.1.1.1 $') OSTYPE(bsd4.4)dnl MAILER(local)dnl MAILER(smtp)dnl define(`confAUTO_REBUILD', True)dnl FEATURE(genericstable,DATABASE_MAP_TYPE` -o 'MAIL_SETTINGS_DIR`genericstable') FEATURE(mailertable, DATABASE_MAP_TYPE` -o 'MAIL_SETTINGS_DIR`mailertable') FEATURE(virtusertable,DATABASE_MAP_TYPE` -o 'MAIL_SETTINGS_DIR`virtusertable') FEATURE(domaintable, DATABASE_MAP_TYPE` -o 'MAIL_SETTINGS_DIR`domaintable') FEATURE(access_db, DATABASE_MAP_TYPE` -o 'MAIL_SETTINGS_DIR`access') FEATURE(`redirect') # Enable IPv6. IPv6 is marked as optional so the configuration file # can be used on IPV4-only kernel as well. DAEMON_OPTIONS(`Family=inet, address=0.0.0.0, Name=MTA')dnl DAEMON_OPTIONS(`Family=inet6, address=::, Name=MTA6, Modifiers=O')dnl dnl ------------------------- dnl smtpfeed dnl ------------------------- FEATURE(nocanonify)dnl MAILER_DEFINITIONS Msmtpf, P=/usr/pkg/libexec/smtpfeed, F=mDFMuXz, S=11/31, R=21, E=\n, L=990, T=DNS/RFC822/SMTP, A=smtpfeed MAILER(smtp)dnl define(`SMART_HOST', `smtpf:LMTP')dnl
(最後の 9行が加えた部分)。

実は上の例は 8.11 の時のもの。8.12.6 になると少し ERROR 等が出る

*** ERROR: FEATURE() should be before MAILER()
*** ERROR: MAILER(smtp) already included
WARNING: confAUTO_REBUILD is no longer valid.
ので、次のようにする。
include(`../m4/cf.m4') VERSIONID(`@(#)netbsd-proto.mc $Revision: 1.1.1.1 $') OSTYPE(bsd4.4)dnl FEATURE(genericstable,DATABASE_MAP_TYPE` -o 'MAIL_SETTINGS_DIR`genericstable') FEATURE(mailertable, DATABASE_MAP_TYPE` -o 'MAIL_SETTINGS_DIR`mailertable') FEATURE(virtusertable,DATABASE_MAP_TYPE` -o 'MAIL_SETTINGS_DIR`virtusertable') FEATURE(domaintable, DATABASE_MAP_TYPE` -o 'MAIL_SETTINGS_DIR`domaintable') FEATURE(access_db, DATABASE_MAP_TYPE` -o 'MAIL_SETTINGS_DIR`access') FEATURE(`redirect') # Enable IPv6. IPv6 is marked as optional so the configuration file # can be used on IPV4-only kernel as well. DAEMON_OPTIONS(`Family=inet, address=0.0.0.0, Name=MTA')dnl DAEMON_OPTIONS(`Family=inet6, address=::, Name=MTA6, Modifiers=O')dnl dnl ------------------------- dnl smtpfeed dnl ------------------------- FEATURE(nocanonify)dnl dnl MAILER(local)dnl MAILER(smtp)dnl dnl MAILER_DEFINITIONS Msmtpf, P=/usr/pkg/libexec/smtpfeed, F=mDFMuXz, S=11/31, R=21, E=\n, L=990, T=DNS/RFC822/SMTP, A=smtpfeed define(`SMART_HOST', `smtpf:LMTP')dnl define(`confPRIVACY_FLAGS', ``authwarnings,noexpn,novrfy'')
(最後の行は expn,vrfy に答えないようにする)
expn test 502 5.7.0 Sorry, we do not allow this operation
もう一か所、smtpfeed ではないが、こういう設定も使っている。特に procmail に注意。
include(`../m4/cf.m4') VERSIONID(`@(#)netbsd-proto.mc $Revision: 1.1.1.1 $') OSTYPE(bsd4.4)dnl DOMAIN(generic)dnl dnl AUTO_REBUILD', True)dnl define(`confPRIVACY_FLAGS', ``authwarnings,noexpn,novrfy'') FEATURE(genericstable,DATABASE_MAP_TYPE` -o 'MAIL_SETTINGS_DIR`genericstable') FEATURE(mailertable, DATABASE_MAP_TYPE` -o 'MAIL_SETTINGS_DIR`mailertable') FEATURE(virtusertable,DATABASE_MAP_TYPE` -o 'MAIL_SETTINGS_DIR`virtusertable') FEATURE(domaintable, DATABASE_MAP_TYPE` -o 'MAIL_SETTINGS_DIR`domaintable') FEATURE(access_db, DATABASE_MAP_TYPE` -o 'MAIL_SETTINGS_DIR`access') FEATURE(`redirect') FEATURE(`local_procmail', `/usr/pkg/bin/procmail') MAILER(local)dnl MAILER(smtp)dnl # Enable IPv6. IPv6 is marked as optional so the configuration file # can be used on IPV4-only kernel as well. DAEMON_OPTIONS(`Family=inet, address=0.0.0.0, Name=MTA')dnl DAEMON_OPTIONS(`Family=inet6, address=::, Name=MTA6, Modifiers=O')dnl
この作業は
cd /usr/pkgsrc/mail/sendmail/work/sendmail-8.12.6/cf/cf/
して行なうのも一つのやり方である。 上の内容をそのディレクトリに netbsd-proto+smtpfeed.mc として保存し
./Build netbsd-proto+smtpfeed.cf
とすると sendmail.cf がそういう名前で 作成される。そのまますぐに
/usr/pkg/libexec/sendmail/sendmail -bt -d0.1 -v -C netbsd-proto+smtpfeed.cf
のようにすると、次のように、 address test mode で試しに起動することが出来る。