入口
benchmarks
  bonnie
    results
  bytebench
comms
  mgetty
    /etc/mail/aliases
  mgetty+sendfax
    pppd サーバを作る mgetty
    設定の概要
    /etc/tty00 --モデム
    /etc/ttys
    mgetty.config, login.config
    まずは login して見る
    /etc/ppp/options
    /etc/ppp/pap-secrets
    確認方法
cross
  i386-mingw32
  ming-w64
    二つの不思議
databases
  mysql-server
    mysql_install_db
    rc.d/mysqld
    mysql_secure_installation
    20050605
      pkg_add
      (err)
      grant
    help
    error
      mysqlcheck
      reset password
      backup
    reset password
    create db
    create user
    grant
    ProFTPD+mysql
    操作
  postgres
  rrdtool
devel
  cvsync
    cvsync.conf
    ソースの取出
    問題
      desired version
  distcc
    url
    distcc って何
    用意するもの
    distccmon-text
    pkg_add
  doxygen
    Doxyfile
    出力を利用する
    1.4.5
    2007/04
  doxygen/gcc
    doxy 1.4.5
  mercurial
  git
font
  設定方法
    mkfontdir
    fontpath
  確認方法
    fontpath
    全ての書体
  intlfonts
    fontpath
  ipa
graphics
  graphviz
  magicpoint
  tgif
    print error
    work around
ham
  hamlog
inputmethod
  anthy
    kinput2
mail
  cyrus-imapd
    url
    説明
    pkg_info -D
    bin/master
    /etc/rc.d/
    認証
    cyrus-saslauthd
    メール box の管理
    着信(MTA)
    問題
    古い cyrus
    sieve
      設定
      .sieve
      操作
      検査
      有効にするには
      問題
        saslauthd
        passwd is asked
  fml
  sendmail
  milter-regex
  smtpfeed
    smtpfeed.mc
    ./Build
    test
    起動準備
  spamassassin
    pkg_add
    sa-learn
    local.cf
  spamass-milter
    メール見出
    設定
    問題
    tuning
  squirrelmail
    url
    設置と設定
    pkg_info -D
    apache
    開始画面例
    文字符号
    課題
    問題
  ja-squirrelmail
    url
    設置と設定
    pkg_info -D
    開始画面例
    文字符号
    課題
    問題
  ctorrent
  urjtag
misc
  ttyrec
multimedia
  mplayer
  gmplayer
  libdvdcss
  xine-ui
net
  bind9
    設定確認
    起動
    必要な機能の分類
    chroot 環境
  TCP/IP と AppleTalk
  netatalk
    AppleTalk と TCP/IP
    版と構成部品
    pkg_info -D
    afpd
    一時的に起動
    認証
    動作確認
    誤り
  mrtg
  net-snmp
    設定
    起動
    log
    mrtg
    snmpget
    snmpwalk
    man pages
    参考
  rsync
  samba
    版
    設定
      smb.conf
      /etc/rc.d
    起動
    add user
    debug
    problem
news
  inn
pkgtools
  pkg_chk
print
  mf
    pktogf + gftodvi
  bibtex
    ごみ
  xpdf
  ja-ptex-bin
    jpbibtex
  ja-ptex
    dvipdfmx
    その他
  pdvipdfmx
personal
  fml
    設定作業の流れ
    pkg_info -D
    fml-system
    ml を作る
      newml
    /etc/mail/aliases
    Generic From
    sendmail.cf
    最初の会員
    自動で送られるメール
    MHonArc
    majordomo
    覚え
      password の設定
      members-admin
      log
      cf を変更した時には
      自動登録
      メールで管理するには
      admin add で welcome
      asymmetric mode って
      debug
      問題
      package 問題
  id-utils
security
  cyrus-sasl
  cy2-crammd5
  openssh
sysutils
  dd_rescue
  mklivecd
      config
  memtester
textproc
  hyperestraier
    更新
    異常停止
wip
  emacs-current
    X11
wip-jp
wm
  fvwm2
www
  apache
    rc.d
    httpd.conf
    start
    mkcert
    startssl
  ap2-auth-pgsql
  cvsweb
    pkgsrc
  firefox
    Fonts
    言語毎設定
    Firmacs
  php4
    mb_string
      Wordpress
    php.ini
  w3m
X11
  qt2
wip
  u-boot

Software 入口 | Hardware | NetBSD 解説 | packages | macppc | TsubaiBSD 絹/software/全文検索

This is under: http://www.ki.nu/software/pkgsrc/

NetBSD/pkgsrc

Last Update: "2012/01/20 21:45:58 makoto"

sendmail

最近の NetBSD は sendmail の代りに postfix が入っています。 2006/05/30 日頃からの話だと思います。 それをまた sendmail に戻す時の話です。
  1. mail/sendmail を入れる
    これには pkg_add が便利です
    ftp://ftp.jp.netbsd.org/pub/NetBSD-jp/mirror-status/packages.html を見て、例えば、次のような操作をします。
    export PKG_PATH=ftp://ftp.jp.netbsd.org/pub/pkgsrc/packages/NetBSD/i386/5.0.1_2009Q4/All
    pkg_add sendmail
    
    もし pkgsrc の枠が用意してあるなら、次のようにして src から make するのも良いでしょう
    cd /usr/pkgsrc/mail/sendmail sudo make package
  2. Build
    次に、/etc/mail/sendmail.cf を用意するのですが、 まず初めに、sendmail.mc -> sendmail.cf を生成する ./Build を用意します。 これには cf/cf 環境を用意して ./Build *.cf しますが、 cf/cf 環境を用意するにはいくつかの方法があります。
    • pkgsrc/mail/sendmail 以下で make してあれば、それを利用 します。
      ttyp0:makoto@yoshimi 11:55:43/060728(...cf/cf)> pwd /export/pkgsrc/mail/sendmail/work.yoshimi/sendmail-8.13.7/cf/cf ttyp0:makoto@yoshimi 11:55:53/060728(...cf/cf)> ls -l netbsd-proto-1.12.mc -rw-r--r-- 1 makoto wheel 2922 Jul 28 11:52 netbsd-proto-1.12.mc
    • もし sendmail を src から入れていない場合の一つの方法には pkgsrc/mail/sendmail で make extract として上と同じように cf/cf を利用することです (pkgsrc の make の指定には次のようなものがあります: mk/bsd.pkg.mk 参照)。
      #    bootstrap-depends
      #    fetch
      #    checksum
      #    depends
      #    tools
      #    extract
      
      この中の fetch まで実行 (make fetch と入力)すると後が便利です。
    • あるいは pkgsrc も用意していないという時には、例えば次のようにします。 /usr/pkgsrc/mail/sendmail/Makefile.common
      を見て、最新版の位置を調べておきます。 あるいは pkg_add したのでしたら、次のようにしてその版名を見ておきます。 dl03@makoto 13:01:11/100414(~)% pkg_info -I sendmail sendmail-8.14.3nb4 The well known Mail Transport Agent そして、同じ版を次のようにして手元に持って来ます。実際には、ものが Build なので、 版名は大変柔軟です (かなりずれていても大丈夫)。
      cd work wget ftp://ftp.sendmail.org/pub/sendmail/sendmail.8.14.3.tar.gz
      sendmail.*.tar.gz をもらって来たら、その中の一部を開けます (以下の例で使っている版は sendmail.8.14.3.tar.gz)
      tar zxvf sendmail.8.14.3.tar.gz sendmail-8.14.3/cf; tar zxvf sendmail.8.14.1.tar.gz sendmail-8.14.3/devtools
  3. /etc/mail/sendmail.mc を用意する
    netbsd-proto.mc(参考)
    http://cvsweb.netbsd.org/cgi-bin/cvsweb.cgi/src/gnu/usr.sbin/sendmail/cf/cf/Attic/netbsd-proto.mc
    #
    #  This is the prototype file for a configuration that supports SMTP
    #  connections via TCP and some commonly required features.
    #
    
    include(`../m4/cf.m4')
    VERSIONID(`@(#)netbsd-proto.mc	$Revision: 1.3 $')
    OSTYPE(bsd4.4)dnl
    DOMAIN(generic)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` -T<TMPF> -o 'MAIL_SETTINGS_DIR`access')
    FEATURE(`redirect')
    FEATURE(`no_default_msa')
    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, Modifiers=O')dnl
    DAEMON_OPTIONS(`Family=inet6, address=::, Name=MTA6, Modifiers=O')dnl
    define(`confLOCAL_MAILER', `cyrus')dnl
    Mcyrus,         P=[IPC], F=lsDFMnqA@/:|SmXz, E=\r\n,
                    S=EnvFromL, R=EnvToL/HdrToL, T=DNS/RFC822/X-Unix,
                    A=FILE /var/imap/socket/lmtp
    
    上記で最後に緑で示した 4 行は cyrus-imapd を local mailer に使う場合に追加する部分です。 また他からメールを受取らないようにする場合、つまり発信のみの利用であれば、 下から 5 行目付近を 次のように変更しておきます。
    DAEMON_OPTIONS(`Family=inet, address=127.0.0.1, Name=MTA, Modifiers=O')dnl
    DAEMON_OPTIONS(`Family=inet6, address=::1, Name=MTA6, Modifiers=O')dnl
    
  4. (上記 *.mc から *.cf を作る)
    前項で書いたように netbsd-proto.mc (名前は何でもいいのですが *.mc の形にします) を作成します。内容は上に書いてあるものです。 以前は以下の数行のようにして .mc -> .cf として /etc/mail に写していました。
    その上で、*.mc の .mc を .cf に変えた名前を指定 して ./Build を実行します。
    cd sendmail-8.14.3/cf/cf vi netbsd-proto.mc ./Build netbsd-proto.cf
  5. sendmail.cf と submit.cf を /etc/mail に写す(用意する)
    ttyp0:makoto@yoshimi 11:56:15/060728(...cf/cf)> sudo cp netbsd-proto.* /etc/mail/ ttyp0:makoto@yoshimi 11:56:17/060728(...cf/cf)> \ (cd /etc/mail; sudo ln -s netbsd-proto.cf sendmail.cf); sudo cp -p submit.?? /etc/mail/
    最近は /usr/pkg/share/sendmail/cf に README があり、その説明のように、このディレクトリに sendmail.mc の名前で置いて、
    make install-cf
    とすれば、作ってくれます。また名前が別のものであっても、
    make install-cf CF=netbsd-proto
    とすれば、netbsd-proto.mc から netbsd-proto.cf を作ってくれます。 (以上の作業は su または sudo -s の後に実行します)
    実行例
    t-105@makoto 21:39:22/120120(..sendmail/cf)% sudo make install-cf CF=netbsd-proto rm -f netbsd-proto.cf m4 ../m4/cf.m4 netbsd-proto.mc > netbsd-proto.cf || ( rm -f netbsd-proto.cf && exit 1 ) echo "### netbsd-proto.mc ###" >>netbsd-proto.cf sed -e 's/^/# /' netbsd-proto.mc >>netbsd-proto.cf chmod 444 netbsd-proto.cf /usr/bin/install -c -o makoto -g users -m 0444 netbsd-proto.cf /etc/mail/sendmail.cf /usr/bin/install -c -o makoto -g users -m 0444 submit.cf /etc/mail/submit.cf t-105@makoto 21:43:08/120120(..sendmail/cf)%
    もし、
    makoto 09:38:57/160124(..sendmail/cf)% sudo make install-cf CF=netbsd-proto rm -f netbsd-proto.cf m4 ../m4/cf.m4 netbsd-proto.mc > netbsd-proto.cf || ( rm -f netbsd-proto.cf && exit 1 ) echo "### netbsd-proto.mc ###" >>netbsd-proto.cf sed -e 's/^/# /' netbsd-proto.mc >>netbsd-proto.cf chmod 444 netbsd-proto.cf /usr/bin/install -c -o pbulk -g users -m 0444 netbsd-proto.cf /etc/mail/sendmail.cf install: unknown user pbulk *** Error code 1 Stop.
    のようになった時には
    makoto 09:38:57/160124(..sendmail/cf)% sudo make install-cf CF=netbsd-proto CFOWN=your_login
    のように CFOWN を指定します。
  6. /etc/mailer.conf を設定する
    sudo cp /usr/pkg/share/examples/sendmail/mailer.conf /etc/mailer.conf (または) sudo ln -sf /usr/pkg/share/examples/sendmail/mailer.conf /etc/mailer.conf
  7. もし自分の機械の名前以外にも受取りたい機械の名前があれば、 /etc/mail/local-host-names に自分の機械名を書いておく。 そうでない時には空の譜を作っておく。(sudo touch /etc/mail/local-host-names)
    ttypc:root@bologna 11:51:44/070404(/etc/mail)# echo bologna > /etc/mail/local-host-names ttypc:root@bologna 11:51:58/070404(/etc/mail)#
  8. /etc/rc.d/sendmail を用意する
    sudo cp /usr/pkg/share/examples/rc.d/sendmail /etc/rc.d ; sudo cp /usr/pkg/share/examples/rc.d/smmsp /etc/rc.d
  9. /var/spool/clientmqueue を用意する
    sudo mkdir /var/spool/mqueue ; sudo mkdir /var/spool/clientmqueue ; sudo chown smmsp.smmsp /var/spool/clientmqueue ; sudo chmod 770 /var/spool/clientmqueue ;
    これは既にある場合もあります。持主が smmsp になっているか確認します。
    ttypc:makoto@bologna 11:53:42/070404(/etc/mail)> sudo ls -ldn /var/spool/clientmqueue drwxrwx--- 2 1001 1001 512 Apr 3 14:10 /var/spool/clientmqueue ttypc:makoto@bologna 11:53:45/070404(/etc/mail)> id smmsp uid=17(smmsp) gid=17 groups=17 ttypc:makoto@bologna 11:53:50/070404(/etc/mail)>
    上記に示したのは 17 であるべきものが 1001 となっているので、良くない例です。
  10. /etc/rc.conf に sendmail の行を追加する
    sudo -s; echo sendmail=YES >> /etc/rc.conf ; echo smmsp=YES >> /etc/rc.conf ; echo postfix=NO >> /etc/rc.conf exit;
  11. /usr/pkg/libexec/sendmail 以下の許可を確認する
    ttypc:makoto@bologna 11:58:48/070404(/etc/mail)> ls -l /usr/pkg/libexec/sendmail total 1508 -r-xr-sr-x 1 root tinyproxy 683376 Mar 20 23:25 sendmail* -r-xr-xr-x 1 root wheel 75381 Mar 20 23:25 smrsh*
    これは良くない例です。group が smmsp になっていません 次のように言われるかも知れません。
    Program mode requires special privileges, e.g., root or TrustedUser.
    
    この文字が表示されるのは二通り考えられます。 一つは次に示した修正で直る場合。もう一つは、sendmail の処理 (process) を起動 するのが必要なのに、起動していない場合です。起動していないと /usr/bin/mail が直接 /var/spool/mqueue を書きに行って上記の文字を表示することがあります (この項 2011/11/25 追記)

    その場合は次のように修正します。

    ttypc:makoto@bologna 11:59:06/070404(/etc/mail)> \ sudo chgrp smmsp /usr/pkg/libexec/sendmail/sendmail ttypc:makoto@bologna DING!/070404(/etc/mail)> sudo chmod 2555 /usr/pkg/libexec/sendmail/sendmail ttypc:makoto@bologna 12:01:14/070404(/etc/mail)> ls -l /usr/pkg/libexec/sendmail total 1508 -r-xr-sr-x 1 root smmsp 683376 Mar 20 23:25 sendmail* -r-xr-xr-x 1 root wheel 75381 Mar 20 23:25 smrsh* ttypc:makoto@bologna 12:01:17/070404(/etc/mail)>
  12. sendmail を仮に起動して見る
    dl320@makoto 09:47:38/100127(..cf/cf)% /usr/sbin/sendmail -bt -v -d0 Version 8.14.4 Compiled with: DNSMAP LOG MAP_REGEX MATCHGECOS MILTER MIME7TO8 MIME8TO7 NAMED_BIND NETINET NETINET6 NETISO NETUNIX NEWDB NIS PIPELINING SCANF SOCKETMAP STARTTLS TCPWRAPPERS USERDB XDEBUG /etc/mail/sendmail.cf: line 0: cannot open: No such file or directory
    上記は /etc/mail/sendmail.cf が用意されていない場合です。おそらく上記 5. の段階を飛ばしてしまったかと思われます。
    sendmail.cf が用意してあれば、次のようになるはずです。
    dl320@makoto 09:51:48/100127(..cf/cf)% /usr/sbin/sendmail -bt -v -d0 Version 8.14.4 Compiled with: DNSMAP LOG MAP_REGEX MATCHGECOS MILTER MIME7TO8 MIME8TO7 NAMED_BIND NETINET NETINET6 NETISO NETUNIX NEWDB NIS PIPELINING SCANF SOCKETMAP STARTTLS TCPWRAPPERS USERDB XDEBUG ============ SYSTEM IDENTITY (after readcf) ============ (short domain name) $w = dl320 (canonical domain name) $j = dl320.example.com (subdomain name) $m = example.com (node name) $k = dl320.example.com ======================================================== ADDRESS TEST MODE (ruleset 3 NOT automatically invoked) Enter <ruleset> <address> >
    (最後は ^D で抜けます)
  13. postfix を止め sendmail と smmspを起動する
    sudo /etc/rc.d/postfix stop; sudo /etc/rc.d/sendmail start; sudo /etc/rc.d/smmsp start
  14. /etc/mail/aliases に次のような行を追加し、newaliases をしておきます。
      root: your_email@example.com
    
  15. メールを送って見る
    echo test mail from root | mail -s 'test mail for this machine' root echo test mail from root | mail -s 'test from root' address@example.com
    二つ目の例を実行する時には address@example.com には実在の宛先を使って下さい。
    上で root に送っていますが、 次のどちらかが必要です。
    • /etc/mail/aliases に 「root -> 誰か」の設定か、
    • imap 上に root 口座 (local mailer に imapd を使っている場合)
    can not write to queue directory /var/spool/clientmqueue/ (RunAsGid=0, required=1000): Permission denied
    
    というようなことがあるかも知れません。 上の場合ですと、実行 uid (/usr/pkg/libexec/sendmail/sendmail の持主 が 0 で、/var/spool/clientmqueue の group が 1000 になっていて、 合わない、ということになります。 (持主を変更した場合には s bit が落ちてしまいますので、それも復活しておきます)
    dl02@makoto 04:32:11/100301(..cf/cf)% sudo chown root.smmsp /usr/pkg/libexec/sendmail/sendmail dl02@makoto 04:32:48/100301(..cf/cf)% sudo chmod 2555 /usr/pkg/libexec/sendmail/sendmail dl02@makoto 04:32:52/100301(..cf/cf)% ls -l /usr/pkg/libexec/sendmail/sendmail -r-xr-sr-x 1 root smmsp 603690 Jan 10 20:59 /usr/pkg/libexec/sendmail/sendmail
  16. 実際に送られたかどうかを確認する 第一段階は /var/log/maillog を見ることです。 送られたメールが /var/mail/root に入っているかも知れません。

    相手、上の例では address@example.com のサーバの設定によっては、 (こちらの機械の名前を挙げて)、それは DNS に登録されていない名前だから 受取らないと言うことがあるかも知れません。
    もし今設定している機械が NAT (Network Address Translation) ルータの内側で、 外から見える名前になっていない等、それが本当であれば、回避方法の一つは sendmail.cf や submit.cf の最初の方にある j マクロの行、

    # my official domain name
    # ... define this only if sendmail cannot automatically determine your domain
    #Dj$w.Foo.COM
    
    この三行目の # を外し、Djmail.example.com 等のように書換えることです。 (変更した場合には、その後、
    sudo /etc/rc.d/sendmail restart; sudo /etc/rc.d/smmsp restart;
    とする必要があります)
以前に sendmail が入っていた頃の情報 http://www.ki.nu/software/NetBSD2/sendmail.html
NetBSD解説/pkgsrc
Last Update: Tue, 09 Feb 2016 07:22:20 GMT 1.66 2008/03/08