Postfix Ecartis HOWTO - 集成ecartis + Postfix

王朝other·作者佚名  2008-05-31
窄屏简体版  字體: |||超大  

English version: 0.02alpha

Chinese caution: 本文是过去用英文写的,有兴趣的朋友可以翻译成中文,谢谢。

IntroduceThere are a lot of maillist softwares compatible with the Postfix, but we need a simple configure and powerful one, Ecartis will meet our need. Ecartis is a certain kind of mailing list manager software, designing for small binary and fast operation, with modular archtecture. It support sendmail/Postfix Exim4 and qmail, very easy to configure, but it's bit regreat that ecartis lacks documentation :-(

RequirementBefore you begin your work, make sure the following softwares or configuration are done: Postfix (1.x/2.x, 2.x are better)

gcc and gcc-devel package

GNU make and other tools

root account

Unix like OS, linux is prefer

Make and buildGetting ecartis

Ecartis developed since 1998, but it's not 1.0 release ready. The latest version is 1.0.0-snap20040426, use wget or ncftp to get the tar ball from http://web.archive.org/web/20041010224951/ftp://ftp.ecartis.org/.

Complie ecartis

Unpack the tar ball with GNU tar, like this:

$ tar xfz ecartis-1.0.0-snap20040426.tar.gz

Then get into the src directory, there is no autoconf/automake style configure file ship with ecartis, only a Makefile.dist, copy the Makefile.dist to Makefile:

$ cp Makefile.dist Makefile

Make sure that gcc and make can work properly before you begin to complie, type make to complie:

$ make

InstallationIf nothing exception occur, ecartis and modules complie finished, binary will in the build direcotry. Install ecartis when you want to use it: $ make install

The default location of ecartis installation will at the top of source directory, if you want to use ecartis in another location, copy them to the different path.

At the top of source directory, assume you want to place ecartis and modules in /home/ecartis, do as the following steps:

$ su root# useradd -d /home/ecartis -s /bin/false ecartis# cp ecartis /home/ecartis/# cp ecartis.cfg.dist /home/ecartis/ecartis.cfg# cp ecartis.aliases.dist /home/ecartis/ecartis.aliases# cp -rf modules lists queue /home/ecartis/

Configuration - create a testlist

You should remember that use full path to run ecartis or things will be corupt! Please refer to ecartis documentation if you've some doubt.

# /home/ecartis/ecartis -newlist lists

This will create a list name "lists" for you, ecartis will prompt for list admin/owner, enter email address response for it. Then ecartis will create "lists" directory in the /home/ecartis/lists/lists and user/config file, at last ecartis display aliases content:

# Aliases for 'lists' mailing list.lists: "|/home/ecartis/ecartis -s lists"lists-request: "|/home/ecartis/ecartis -r lists"lists-repost: "|/home/ecartis/ecartis -a lists"lists-admins: "|/home/ecartis/ecartis -admins lists"lists-moderators: "|/home/ecartis/ecartis -moderators lists"lists-bounce: "|/home/ecartis/ecartis -bounce lists"

Configuration - Postfix

Use vi or emacs or other editor, open main.cf, paste the ecartis aliases content into the default aliases file, which commonly located at /etc/postfix/aliases, but i highly recommend that use a seperate aliases file, it's more clean and easy to manage:) my configuration shown as follow:

alias_maps = hash:/etc/postfix/aliases hash:/home/ecartis/ecartis.aliasesmydestination = $myhostname, $mydomainmydomain = postfix.org.cnmyhostname = lists.postfix.org.cn

Save main.cf and ecartis.aliases, then run postalias to rebuild ecartis.aliases, last reload postfix:

# postfix reload

Test listsIt's the time to test ecartis now. Send an email to [listname]-request@domain.tld as title or body contain "subscribe" to test subscribe function, in my case, send email to lists-request@lists.postfix.org.cn. Look at the maillog to get detail information. Almost immediately you will receive reply from ecartis, if nothing unexpected, you've been subscribed. The email will contains:

subscribeSubscribed.

Virtual HostingEcartis can easily support virtual hosting, with postfix we need some tricks to get ecartis to work.

By some means virtual hosting equal to virtual domain, the Postfix MTA support virtual domain via alias, but virtual_alias_maps(2.0) or virtual_maps(1.0) could not support sendmail style aliases, then it means we can't simpliy put some lines like:

lists-request@lists.postfix.org.cn "| /home/ecartis/ecartis -r lists"

into those maps/files, how could we implement virtual domain? The trick is according to sendmail style aliases, the processing flow show as below:

mail to lists@domain.tld- lookup virtual_alias_maps- found lists@domain.tld point to "lists-domain.tld"- lookup aliases maps- found lists-domain.tld point to "|/home/ecartis/ecartis -s listname"- OK

Assume we want to support thisdomain.tld and thatdomain.tld at the same machine, follow the steps:

1) DNS setup, point both the thisdomain.tld and thatdomain.tld's mx to the machine running ecartis

2) We only make thisdomain.tld as an example, add the following lines into the Postfix virtual_alias_maps file:

lists@thisdomain.tld lists-thisdomain.tldlists-request@thisdomain.tld lists-request-thisdomain.tldlists-repost@thisdomain.tld lists-repost@thisdomain.tldlists-admins@thisdomain.tld lists-admins-thisdomain.tldlists-moderators@thisdomain.tld lists-moderators-thisdomain.tldlists-bounce@thisdomain.tld lists-bounce-thisdomain.tld

Then run postmap to rebuild it

3)add the following lines into sendmail style aliases file:

lists-thisdomain.tld: "|/home/ecartis/ecartis -s lists-thisdomain.tld"lists-request-thisdomain.tld: "|/home/ecartis/ecartis -r lists-thisdomain.tld"lists-repost-thisdomain.tld: "|/home/ecartis/ecartis -a lists-thisdomain.tld"lists-admins-thisdomain.tld: "|/home/ecartis/ecartis -admins lists-thisdomain.tld"lists-moderators-thisdomain.tld: "|/home/ecartis/ecartis -moderators lists-thisdomain.tld"lists-bounce-thisdomain.tld: "|/home/ecartis/ecartis -bounce lists-thisdomain.tld"

Then run postalias to rebuild it

4)run this command:

#/home/ecartis/ecartis -newlist lists-thisdomain.tld

and enter the listowner address, then ecartis will create config and users file for the list "lists-thisdomain.tld" in /home/ecartis/lists direcotry.

5)configure /home/ecartis/lists/lists-thisdomain.tld/config to meet your need, refer to ecartis documentation or varible difinition for details.

If everything works ok, then we done it :-)

Trouble ShootingWhen the first time you install and configure ecartis, there will be a lot of problem, see this section carefully. Q:ecartis can't work!

A:Turn on debug mode, in /path/to/ecartis/ecartis.cfg, uncomment "debug = 0" and set it large than 0, for example 10(the highest level), ecartis will log anything it do and see in ecartis.log, look at it for detail error.

Q:ecartis always send email as unkonw sender domain

A:check your system hostname, if it's not fqdn, ecartis will append the domain after the hostname, and make it as sender domain, if this name can't resolve, then recipient's MTA will bounce/reject the mail.

Q:How to config ecartis to confirm subscrition?

A: set "subscribe-mode = confirm" and save the config file, that's ok!

ReferenceDocs of ecartis

ecartis.hlp in source

ecartis source file

ecartis mailing list

Postfix documentation

 
 
 
免责声明:本文为网络用户发布,其观点仅代表作者个人观点,与本站无关,本站仅提供信息存储服务。文中陈述内容未经本站证实,其真实性、完整性、及时性本站不作任何保证或承诺,请读者仅作参考,并请自行核实相关内容。
 
 
© 2005- 王朝網路 版權所有 導航