邮件列表能够很好地运用邮件渠道进行比如主题评论、信息发布和同享等作业。Sympa是专业性质的邮件列表办理工具,特别适用于较大型的体系,具有齐备的功用和超卓的功能。本文将经过一个实例介绍Sympa的装置和根本装备进程。
装置前的预备
装置环境为Red Hat 8.0/Sendmail 8.12.8。Sympa功用强大,能够主动完结各项邮件列表办理作业,因此也对其支撑环境提出了严厉的要求。在装置之前,应该先了解其必需的条件。Sympa是用Perl编写的,所以对Perl包的要求必不可少。从Sympa 3.1开端要求运用数据库来寄存订户(Subscriber)的数据,所以得供给数据库环境。现在Sympa支撑MySQL、PostgreSQL、Oracle和Sybase四种数据库,本文将以MySQL为例。最终,还需求预先创立一个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联系最大的主装备文件是/etc/sympa.conf。它能够对Sympa的各种根本运转参数进行设定,格局较为简略:keyword value。一般情况下,应该对以下项目进行定制:
1.domain 设置邮件的域名,使其与自己站点的域名相符合,如domain test.com;
2.email 在列表办理函件中出现在“From:”头中的用户名,如email list;
3.listmaster 列表办理员的E-mail地址(能够设定多个),在Sympa中,列表办理员具有最大权限,如listmaster postmaster@test.com;
4.msgcat 多言语文件的方位,一般设为“/home/sympa/nls”;
5.lang 设置Web界面的言语环境,Sympa中供给了对中文的支撑,可是版别较老,不引荐运用,主张运用默许的US言语;
6.db_type 数据库体系的类型,如db_type mysql;
7.db_name 包含用户及订户信息的数据库名,如db_name sympa;
8.db_host 数据库主机名,如db_host localhost;
9.db_user 对数据库具有操作权限的用户,如db_user manager;
10.db_passwd db_user的暗码。
sympa.conf中装备的内容很丰厚,包含磁盘限额、邮件发送巨细、邮件循环操控、每封邮件的并发用户数等,完全能够根据需求来定制。
在sympa.conf中装备好与数据库相关的选项后,接下来要创立相应的数据库。Sympa现已预备好了创立的脚本,所以需求做的便是直接运转,代码如下:
#mysql create_db.mysql
“create_db.mysql”文件一般可在“/home/sympa/bin”目录下找到。树立数据库后,进入MySQL查看数据库结构。应该看到Sympa的数据库包含两个表:user_table和subscriber_table。出于安全考虑,需求设置数据库权限,代码如下:
grant all on sympa.* to manager@localhost identified by ’your_password’;
flush privileges;
留意:用户manager和your_password应该与sympa.conf中的db_user和db_password别离对应。
运用数据库来寄存列表用户数据,能够进步整个邮件列表体系的运转功率,一起也为用户数据的保护供给了尽可能的灵活性。
Sympa的运转首要依赖于4个Perl程序:
1.sympa.pl是主看护进程,担任处理各条指令并转发音讯;
2.bounced.pl担任处理弹回(Bounced)的音讯;
3.archived.pl担任生成邮件的Web存档;
4.task_manager.pl担任一些其它的使命处理,一起也用于今后扩展的需求。
为了完成开机时主动发动这些脚本程序,能够在/etc/rc.local中参加以下代码:
~sympa/bin/sympa.pl
~sympa/bin/archived.pl
~sympa/bin/bounced.pl
~sympa/bin/task_manager.pl
此外,为了更好地监督这些进程的运转状况,应该运用日志来进行记载。能够经过在“/etc/syslog.conf”中添加以下一行来完成:
local1.* /var/log/sympa
修正完结后要重新发动syslog看护进程。
在邮件列表中,邮件别号(Mail Aliases)起着非常要害的效果。为了合作整个体系的运转,以下几个别号是体系必需的,应该在“/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)的体系办理员,担任保护整个Sympa体系人员的地址;sympa-owner则为Sympa运转中错误信息的回来地址。
除了体系必需的别号外,关于每一个新建的列表(以books列表为例),一般还需求树立如下6个别号:books、books-request、books-editor、books-owner、books-subscribe和books-unsubscribe。许多邮件列表程序都需求手艺来设置这些冗杂的别号记载,可是Sympa供给了一个好用的脚本:alias_manager.pl(一般在/home/sympa/bin下),能够主动树立别号。Sympa的Web脚本在创立列表时会主动履行该指令,但在Sendmail下由于“/etc/aliases”的权限问题,这条主动履行指令会失利,主张在列表创立后以root身份运转此条指令。它的运转参数很简略,如下: