新聞中心

EEPW首頁 > 嵌入式系統(tǒng) > 設計應用 > 用Sypma管理郵件列表

用Sypma管理郵件列表

作者: 時間:2016-09-12 來源:網(wǎng)絡 收藏

列表能夠很好地利用平臺進行諸如主題討論、信息發(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ù)很簡單,如下:


上一頁 1 2 下一頁

關(guān)鍵詞: Sypma 郵件 linux

評論


相關(guān)推薦

技術(shù)專區(qū)

關(guān)閉