★ bmtad 簡易說明 ★

  Q1. bmtad 是在做什麼的?
  Q2. 我應該如何設定 bmtad?
  Q3. 可是我還是收不到外面寄進來的信,也寄不出去耶?
  Q4. 我已經可以收發外部信件了,可以為什麼認證信總是無效?
  Q5. 如果我不想用 bmtad,想設定 postfix 該如何做呢?
  Q6. 如果我不想用 bmtad,想設定 sendmail.cf 該如何做呢?


    本文件是寫給要安裝 itoc 所維護的 bbs 程式版本所使用的,並不適用
  其他 bbs 版本。

  
  ★ Q1. bmtad 是在做什麼的?

    傳統是以 sendmail(OS) + bbsmail(BBS) + mailpost(BBS) 來
    完成站內外寄信以及認證的任務,而 Maple BBS 則提供您另外
    一種更方便的選擇,那就是 bmtad。

    bmtad 能自動擋信,能監控 BBS 上信件的流量,能負責認證、
    mail post…等,功能十分強大,值得您的使用。

  
  ★ Q2. 我應該如何設定 bmtad?

     有三種方法,記錄在本文件的 101_install.htm,在此再幫您複習一下。

     (一) inet 方法: (FreeBSD)

        ■ 修改 /etc/inetd.conf,增加如下設定,若原先已有相同的 service
           請取消原先的設定。

smtp    stream  tcp     wait    bbs     /home/bbs/bin/bmtad     bmtad -i


     (二) xinetd 方法: (Linux)

        ■ 修改 /etc/xinetd.d/smtp,增加如下設定,若原先已有相同的 service
           請取消原先的設定。

service smtp
{
        disable         = no
        socket_type     = stream
        wait            = yes
        user            = bbs
        server          = /home/bbs/bin/bmtad
        server_args     = -i
}


     (三) standalone 方法:

        ■ 修改 /etc/rc.local,增加如下設定

#
# MapleBBS
#
/home/bbs/bin/bmtad

  
  ★ Q3. 可是我還是收不到外面寄進來的信,也寄不出去耶?

    檢查看看 config.h 中的 HOST_ALIASES 是否有設成自己站台的位址

  
  ★ Q4. 我已經可以收發外部信件了,可以為什麼認證信總是無效?

    有了 bmtad,就不能跑 sendmail,修改 /etc/rc.conf 如下

    sendmail_enable="NO"

  
  ★ Q5. 如果我不想用 bmtad,想設定 postfix 該如何做呢?

    請參考 doc/postfix 這份文件。

  
  ★ Q6. 如果我不想用 bmtad,想設定 sendmail.cf 該如何做呢?

    如果您想讓其他非 bbs 帳號也能收信,那麼您得使用 sendmail。若使用
    sendmail,就不能跑 bmtad,因為二者都是用 port 25 來聆聽外來信件的
    MTA (Mail Transport Agent)。

    首先要開啟 sendmail,修改 /etc/rc.conf 如下

    sendmail_enable="YES"

    接下來您要停止 bmtad,依您使用 inetd xinetd standalone 而有不同的改法

    如果您是使用 inetd,那麼請拿掉 /etc/inetd.conf 中的這行

smtp    stream  tcp     wait    bbs     /home/bbs/bin/bmtad     bmtad -i

    如果您是使用 xinetd,那麼請刪除 /etc/xinetd.d/smtp 這個檔案

    如果您是 standalone 啟動,那麼請拿掉 /etc/rc.local 中的這行

/home/bbs/bin/bmtad

    最後修改 /etc/mail/sendmail.cf 來設定讓 *.bbs@ *.brd@ bbs@ bbsreg@ 的信件
    轉給 bbsmail brdmail mailpost 這三支 bbs 的程式處理

    不同版本的 sendmail.cf 都多少有些差異,您必須自己去研究一些書籍,
    或是上網查查資料,在此提供一個版本:(注意空白是TAB)

/etc/mail/sendmail.cf (sendmail 8.12.3) 改 Ruleset 0 -- Parse Address 這附近

######################################
###   Ruleset 0 -- Parse Address   ###
######################################

Sparse=0

R$*                     $: $>Parse0 $1          initial parsing
Rbbs < @ $=w . >        $#mailpost $: bbs       mailpost for bbs
Rbbsreg < @ $=w . >     $#mailpost $: bbsreg    mailpost for bbs
R$+.brd < @ $=w . >     $#brdmail $: $1         brd mail gateway
R$+.bbs < @ $=w . >     $#bbsmail $: $1         bbs mail gateway
R<@>                    $#local $: <@>          special case error msgs
R$*                     $: $>ParseLocal $1      handle local hacks
R$*                     $: $>Parse1 $1          final parsing

# handle locally delivered names
R$=L                    $#local $: @ $1         special local names
Rbbs                    $#mailpost $: bbs       mailpost for bbs
Rbbsreg                 $#mailpost $:bbsreg     mailpost for bbs
R$+.brd                 $#brdmail $: $1         brd mail gateway
R$+.bbs                 $#bbsmail $: $1         bbs mail gateway
R$+                     $#local $: $1           regular local names

Mbbsmail,       P=/home/bbs/bin/bbsmail, F=lsSDFMhPu, U=bbs, S=10, R=20/40,
                A=bbsmail $u
Mbrdmail,       P=/home/bbs/bin/brdmail, F=lsSDFMhPu, U=bbs, S=10, R=20/40,
                A=brdmail $u
Mmailpost,      P=/home/bbs/bin/mailpost, F=lsSDFMhPu, U=bbs, S=10, R=20/40,
                A=mailpost $u

--
                                                    交大電子 杜宇軒
                               E-Mail: itoc.bbs@bbs.tnfsh.tn.edu.tw
                              WWW: http://processor.tfcis.org/~itoc