全文検索 |
などに入っているこの最後の *.cf は/usr/sbin/sendmail -> /usr/sbin/mailwrapper -> /etc/mailer.conf /usr/libexec/sendmail/sendmail /etc/mail/sendmail.cf
を使って作られている。 これをそのまま使っても多分何も問題がないが、それでは応用が 効かないので、まず sendmail 自体の方として pkgsrc を使ってsmtpfeed を 含んだ形のものを用意して見る。順序はどちらでもいいが、まず smtpfeed を用意する。これは sendmail と一緒に働いて、配送を高速化す るしくみである。/usr/src/gnu/usr.sbin/sendmail/cf/cf/netbsd-proto.mc
つまり 入った位置を知らせるのと、その後に$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.
に行って make とすると、次のように言われることがあるかも知れない。/usr/pkgsrc/mail/sendmail
その時には (もしこの sendmail のプログラムを売って何か商売しようというのでなければ)、 書いてある通りに /etc/mk.conf (の一番最後) に上の最後の行を加える。そうしておいて===> 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
とすると、WidePatch の入ったものを作ってくれる。これで、make install するとmake
に入る。 最後に/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
(等)を見ると、/usr/pkgsrc/mail/smtpfeed/work/smtpfeed-1.15/INSTALL.j
を追加して下さいとあるので、この中の三行目の /usr/sbin/smtpfeed の部分の文字だけは /usr/pkg/libexec/smtpfeed に変更してから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/src/gnu/usr.sbin/sendmail/cf/cf/netbsd-proto.mc
(最後の 9行が加えた部分)。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
実は上の例は 8.11 の時のもの。8.12.6 になると少し ERROR 等が出る
ので、次のようにする。*** ERROR: FEATURE() should be before MAILER() *** ERROR: MAILER(smtp) already included WARNING: confAUTO_REBUILD is no longer valid.
(最後の行は expn,vrfy に答えないようにする)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'')
もう一か所、smtpfeed ではないが、こういう設定も使っている。特に procmail に注意。expn test 502 5.7.0 Sorry, we do not allow this operation
この作業は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
して行なうのも一つのやり方である。 上の内容をそのディレクトリに netbsd-proto+smtpfeed.mc として保存しcd /usr/pkgsrc/mail/sendmail/work/sendmail-8.12.6/cf/cf/
とすると sendmail.cf がそういう名前で 作成される。そのまますぐに./Build netbsd-proto+smtpfeed.cf
のようにすると、次のように、 address test mode で試しに起動することが出来る。/usr/pkg/libexec/sendmail/sendmail -bt -d0.1 -v -C netbsd-proto+smtpfeed.cf