本文說明如何利用newsgate裡的mail2news來達到email post to news的目的, 在進行下面的操作之前, 要先在Ubuntu 6.06 Dapper裡架設好postfix和cnews+nntp, cnews+nntp的設定方式可以參考這篇文章.
- 安裝newsgate和procmail, 以root的身份執行:
$ apt-get install newsgate procmail - 設定postfix的四個設定檔, 在/etc/postfix/main.cf裡加上:
transport_maps = hash:/etc/postfix/transport
virtual_alias_maps = regexp:/etc/postfix/virtual - 在/etc/postfix/master.cf裡加上:
newsmail unix - n n - - pipe
flags=FR user=news argv=/usr/bin/procmail -a ${mailbox} -a mail2news -d news
第一行每段文字用tab作分隔, 第二行的flags前面要有個tab, 之後每段文字用「空白」作分隔. - 在/etc/postfix/transport裡加上:
newsmail.yourhostname newsmail: - 在/etc/postfix/virtual裡加上:
/^(.+)\.news@/ $1@newsmail.yourhostname - 產生.db檔, 以root的身份執行:
$ postmap /etc/postfix/transport$ postmap /etc/postfix/virtual - 以news的身份編輯~/.procmailrc:
$ su news
$ vim ~/.procmailrc
, 內容如下::0 bhH
* ^To: [a-z0-9.]*.news@
| /usr/bin/$2 -n $1 -d news -o 'mail2news gateway' -x internet - 重新啟動postfix:
$ /etc/init.d/postfix restart - 之後發一封信到主機上看看, Email的寫法是「群組名稱」.news@「主機名稱」, 例如要在group.blah這個群組裡發表文章, 那Email位址就要寫成group.blah.news@yourhostname ,信發完之後不會馬上就出現在newsgroup裡, 要等crond跑過cnews之後才會出現.

