FWDNET<->Internetのゲートウェイ:mailgw −2001/06更新

LinFBBの登場でNTなどのクライアントからFWDNETの読み書きが可能になったのは良いのですが,使い勝手はイマイチ。当時はSPGNEWSがLinFBBに対応していなかったし,JE1SGH局に教えて頂いたEudora経由で使うTNOSも捨て難いものがありました。

そのため,OH7LZB Hannikainenさんによる SMTP, NNTP<->FBB gateway mailgw が公開された時(1997年7月)には,すぐ飛びつきました。 (最新版のmailgwはOH7LZB局のmailgwのホームページからどうぞ。)

当局では RBBS:JH4XSY.13.JNET1.JPN.AS と Linux(ホスト名:claris)のpostfix/innとの間をmailgw-0.3.1j6aにゲートさせています。

JE1SGH局とバグを潰しながら長い間利用してきたmailgw 0.3.0改は,Y2K問題に対応していなかったので,1999年12月  0.3.1ベースのパッチをJE1SGH局がまとめました。


mailgwの特徴

FWD用フロントエンドソフトは,NTマシンで動作するOutlook Expressです。他にもInternet用のMail/News対応ソフトが利用できます。

これらソフトを使うことで

と,非常にメッセージの読み書きが楽になりました。


mailgwの設定

以下,当局を事例として,mailgwの設定方法を説明します。 (当局の転送の範囲は PMAIL/SYSOP宛メール,及び@POCKET,@13,@FWDIXを全部と@JPNの一部です。)

mailgwのmakeですが,オリジナルのソースのままでは幾つか不具合が発生してgate出来ません。またSuSE 6.2 にはmailgw 0.3.1のrpmが存在しますが,ソースを修正しないと動作しませんでした。

JE1SGH局と私とでまとめたmailgwのpatchをあててからmakeして下さい。パッチとパッチのあて方についてはJE1SGH局が詳しく解説されていますので,そちらを参照して下さい。

# mkdir /etc/mailgw
# cp *rcv /usr/sbin
# cp etc/*.map /etc/mailgw
# cp etc/mailgw.conf /etc/mailgw

ホスト名,コールサインとsendmailの場所を変更します。以下に修正箇所を示します。

---
HostName      claris.○
HRoute        GW.JH4XSY.13.JNET1.JPN.AS
Qth           "SOKA"
Sendmail      /usr/sbin/sendmail
#Sendmail     /usr/mail/bin/dumb-mailer
---

まずnewsの設定をします。設定ファイルは以下の4個です

RBBSのBullをNEWSのnewsgroupに変換する規則:bulletin.map
NEWSのnewsgroupをRBBSのBullに変換する規則:newsgroup.map
宛て先人アドレスをRBBS/Email間で変換する規則:pbbs-dst.map
差出し人アドレスをRBBS/Email間で変換する規則:pbbs-src.map

書式はどちらも以下の通りです。

# Format:
# newsgroup       pbbs-distribution
ampr.jpn.all      all@jpn

bulletin.mapではワイルドカードも使えます

ampr.jpn.fbb      fbb*@jpn

※ FBB@JPN, FBBUSR@JPNはampr.jpn.fbbに転送されます。

ampr.13.all       all@13
ampr.13.sysop     sysop@13
ampr.13.meet      meet@13
ampr.13.misc      *@13

※ all@13,sysop@13,meet@13以外はampr.13.miscに転送されます。

newsgroup.mapでは「−」で転送を禁じる事ができます。

ampr.13.misc      -

※ ampr.13.miscはMISC@13には転送されません。

書式はどちらも以下の通りですが,詳しくは分かっていません。設定しないとgate時にエラーがでるようです。

# Format:
# pbbsaddr        smtpaddr

2001年4月より 当局で使用している設定を示します。update

# /etc/mailgw/pbbs-dst.mapupdate
#
*@*jh4xsy*      $1@claris.○
jh4xsy*         jh4xsy@claris.○
sysop@*         jh4xsy@claris.○


# /etc/mailgw/pbbs-src.map
#
*@*             $1%$2@claris.○

次にmailの設定をします。Linux->FBBの転送は当局の理解の範囲を超えているので試していません。

これも当局で動いている設定を示します

# /etc/mailgw/email-dst.mapupdate
#
*@*             $1@$2
*%*@*claris.○  $1@$2
*%*@claris.○   $1@$2
                                          
# /etc/mailgw/email-src.mapupdate
#
*@claris.○     $1@jh4xsy.13.jnet1.jpn.as
*@*.claris.○   $1@jh4xsy.13.jnet1.jpn.as
*@*.○          $1@$2.○
*               $1@jh4xsy.13.jnet1.jpn.as

当局では以下の三個所を修正しています。修正箇所を以下に示しますが,system()によるpbbs_rcvの実行以外は,なぜ修正するのかは良く分かっていません。

---
$nntpserver = "claris";

system("/etc/mailgw/pbbs_rcv");

    system("$innxmit -d $nntpserver $batch");
---

MAIL/NEWSシステムの設定

newsシステム,mailシステムの設定については,別途 書籍など を参考に設定して下さい。(これが一番大変だったりしますが。) 私はアスキーの「Linuxを256倍使うための本」などを参考に設定しました。 

news(inn)の設定

以下の記述をnewsfeedに追加します。私はMEのエントリーの後に追加しました。

また例の最後の行はnntp_rcvの格納位置にしたがって個別に書き直して下さい。

---
#
# newsfeed block for inn. See newsfeeds(5) for details...
#
# The first line defines the newsgroups you want to feed to the gateway,
# the second line defines the feed options (better leave them alone),
# and the third line is the full path of nntp_rcv.
#
fbb\
        :*\
        :Tc,Ap,G2,Wf\
        :/etc/mailgw/nntp_rcv
---

mail(sendmail)の設定

UN*X側からFWDNET側には,自作の別プログラムで渡しているので,特に設定していません。

それにMTAは,sendmail→qmail(2000年2月)→postfix(2001年1月)と流離っています。

とくにqmail移行時に,稗田さん宛てのfailure notice のメイルをInternetに垂れ流してしまいました。稗田さん,あのときはご迷惑をおかけして申し訳なかったです。


FBBの設定

mailgwではFILE-FWDされたファイルを使ってFBB->NNTP,SMTPに渡しています。

以下のようなファイルを,forward.sys中に追加,あるいはforward.sysから読み込むように設定して下さい。転送する範囲についてはforward.sysの書式にしたがって自由に設定してみて下さい。

出力ファイル名は,mailgw.confでExportFileに設定したのファイル名に合わせて下さい。

#
#       xfbb's forward block for forwarding messages to a file,
#       which is then read by pbbs_rcv.
#
A MAILGW
  P @
  C /usr/local/fbb/mailgw.out
# Bulletins
 G POCKET
 G 13
(中略)

# These HROUTEs for personal messages....
 B JH4XSY
 F JH4XSY
(中略)
---------

mailgwの実行

crontabでpbbs_eventを定期的に実行します。私はrootに20分毎に実行させています。このとき,ユーザnewsが/usr/local/fbbに書き込み権があることを予め確認しておいて下さい。間違いの指摘,TKS F1CAY。

# crontab -e

で以下の一行を付け加えます。

11,31,51 * * * * /etc/mailgw/pbbs_event

<- 前の頁に戻る.


(C) 1998 JH4XSY
Last revised 3-Jun-2001