用Sypma管理郵件列表
郵件列表能夠很好地利用郵件平臺進行諸如主題討論、信息發(fā)布和共享等工作。Sympa是專業(yè)性質(zhì)的郵件列表管理工具,特別適用于較大型的系統(tǒng),具有完備的功能和出色的性能。本文將通過一個實例介紹Sympa的安裝和基本配置過程。
本文引用地址:http://butianyuan.cn/article/201609/303762.htm安裝前的準備
安裝環(huán)境為Red Hat 8.0/Sendmail 8.12.8。Sympa功能強大,可以自動完成各項郵件列表管理工作,因而也對其支持環(huán)境提出了嚴格的要求。在安裝之前,應該先了解其必需的條件。Sympa是用Perl編寫的,所以對Perl包的要求必不可少。從Sympa 3.1開始要求使用數(shù)據(jù)庫來存放訂戶(Subscriber)的數(shù)據(jù),所以得提供數(shù)據(jù)庫環(huán)境。目前Sympa支持MySQL、PostgreSQL、Oracle和Sybase四種數(shù)據(jù)庫,本文將以MySQL為例。最后,還需要預先創(chuàng)建一個Sympa用戶(使用“useradd sympa”即可)。
安裝
首先從Sympa的主站點www.sympa.org下載源程序,最新的版本是3.4.3.1。接下來按照一般步驟解壓縮源包,命令如下:
#gzip -dc sympa-3.4.3.1.tar.gz | tar xf -
然后開始運行安裝,命令如下:
#cd sympa-3.4.3.1
#./configure
--with-bindir=/etc/smrsh
--with-iconsdir=/var/www/icons/sympa
--with-mandir=/usr/share/man
--with-sendmail_aliases=/etc/aliases
#make
#make install
在整個安裝過程中有幾點需要特別注意。由于Red Hat上的Sendmail使用了smrsh,所以必須使用“--with-bindir=/etc/smrsh”這個配置選項。“--with-sendmail_aliases”用來設定列表中使用的別名文件,在Red Hat中,一般為“/etc/aliases”。在“make”過程中將提示安裝所需的CPAN模塊,那些默認為“y”的模塊都應該安裝,其它的可以按照需要進行選擇。
初始化配置
與Sympa關(guān)系最大的主配置文件是/etc/sympa.conf。它可以對Sympa的各種基本運行參數(shù)進行設定,格式較為簡單:keyword value。一般情況下,應該對以下項目進行定制:
1.domain 設置郵件的域名,使其與自己站點的域名相符合,如domain test.com;
2.email 在列表管理信件中出現(xiàn)在“From:”頭中的用戶名,如email list;
3.listmaster 列表管理員的E-mail地址(可以設定多個),在Sympa中,列表管理員擁有最大權(quán)限,如listmaster postmaster@test.com;
4.msgcat 多語言文件的位置,一般設為“/home/sympa/nls”;
5.lang 設置Web界面的語言環(huán)境,Sympa中提供了對中文的支持,但是版本較老,不推薦使用,建議使用默認的US語言;
6.db_type 數(shù)據(jù)庫系統(tǒng)的類型,如db_type mysql;
7.db_name 包含用戶及訂戶信息的數(shù)據(jù)庫名,如db_name sympa;
8.db_host 數(shù)據(jù)庫主機名,如db_host localhost;
9.db_user 對數(shù)據(jù)庫具有操作權(quán)限的用戶,如db_user manager;
10.db_passwd db_user的密碼。
sympa.conf中配置的內(nèi)容很豐富,包括磁盤限額、郵件發(fā)送大小、郵件循環(huán)控制、每封郵件的并發(fā)用戶數(shù)等,完全可以根據(jù)需要來定制。
在sympa.conf中配置好與數(shù)據(jù)庫相關(guān)的選項后,接下來要創(chuàng)建相應的數(shù)據(jù)庫。Sympa已經(jīng)準備好了創(chuàng)建的腳本,所以需要做的就是直接運行,代碼如下:
#mysql create_db.mysql
“create_db.mysql”文件一般可在“/home/sympa/bin”目錄下找到。建立數(shù)據(jù)庫后,進入MySQL檢查數(shù)據(jù)庫結(jié)構(gòu)。應該看到Sympa的數(shù)據(jù)庫包括兩個表:user_table和subscriber_table。出于安全考慮,需要設置數(shù)據(jù)庫權(quán)限,代碼如下:
grant all on sympa.* to manager@localhost identified by ’your_password’;
flush privileges;
注意:用戶manager和your_password應該與sympa.conf中的db_user和db_password分別對應。
使用數(shù)據(jù)庫來存放列表用戶數(shù)據(jù),可以提高整個郵件列表系統(tǒng)的運行效率,同時也為用戶數(shù)據(jù)的維護提供了盡可能的靈活性。
Sympa的運行主要依賴于4個Perl程序:
1.sympa.pl是主守護進程,負責處理各條命令并轉(zhuǎn)發(fā)消息;
2.bounced.pl負責處理彈回(Bounced)的消息;
3.archived.pl負責生成郵件的Web存檔;
4.task_manager.pl負責一些其它的任務處理,同時也用于以后擴展的需要。
為了實現(xiàn)開機時自動啟動這些腳本程序,可以在/etc/rc.local中加入以下代碼:
~sympa/bin/sympa.pl
~sympa/bin/archived.pl
~sympa/bin/bounced.pl
~sympa/bin/task_manager.pl
此外,為了更好地監(jiān)視這些進程的運行狀況,應該使用日志來進行記錄。可以通過在“/etc/syslog.conf”中增加以下一行來實現(xiàn):
local1.* /var/log/sympa
修改完成后要重新啟動syslog守護進程。
在郵件列表中,郵件別名(Mail Aliases)起著十分關(guān)鍵的作用。為了配合整個系統(tǒng)的運行,以下幾個別名是系統(tǒng)必需的,應該在“/etc/aliases”中加入:
sympa: | /home/sympa/bin/queue sympa@samplerobot
listmaster: | /home/sympa/bin/queue listmaster@samplerobot
bounce+*: | /home/sympa/bin/bouncequeue sympa@samplerobot
sympa-request: manager
sympa-owner: manager
注意:sympa-request應該為自動程序(robot)的系統(tǒng)管理員,負責維護整個Sympa系統(tǒng)人員的地址;sympa-owner則為Sympa運行中錯誤信息的返回地址。
除了系統(tǒng)必需的別名外,對于每一個新建的列表(以books列表為例),通常還需要建立如下6個別名:books、books-request、books-editor、books-owner、books-subscribe和books-unsubscribe。很多郵件列表程序都需要手工來設置這些繁雜的別名記錄,但是Sympa提供了一個好用的腳本:alias_manager.pl(一般在/home/sympa/bin下),可以自動建立別名。Sympa的Web腳本在創(chuàng)建列表時會自動執(zhí)行該命令,但在Sendmail下因為“/etc/aliases”的權(quán)限問題,這條自動執(zhí)行命令會失敗,建議在列表創(chuàng)建后以root身份運行此條命令。它的運行參數(shù)很簡單,如下:
評論