分享
 
 
 

在FreeBSD上使用minimalist组建邮件列表

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

1、Postfix的安装这里我们使用手动编译的方式安装postfix,当然,你也可以使用ports来进行安装,首先是建立postfix用户,postfix和postdrop用户组,同时将postfix用户加到postdrop组中:

# pw groupadd postfix

# pw groupadd postdrop

# pw useradd postfix -g postifx -G postdrop

下载编译postfix

# fetch ftp://postfix.cn99.com/postfix/official/postfix-2.2.9.tar.gz

# tar -zxvf postfix-2.2.9.tar.gz

# cd postfix-2.2.9

# make tidy %26amp;%26amp; make %26amp;%26amp; make install

在make install的时候会提示一些问题,直接按回车,全部用默认的即可。

2、配置postfixPostfix安装好后,需要配置的不多,只需修改(或添加)/etc/postfix/main.cf中的以下几处即可(中文部分为说明):

#这里假设我们的机器名是 lists.cnfug.org

myhostname = lists.cnfug.org

#这里假设我们的域是 cnfug.org

mydomain = cnfug.org

#设置发出去的邮件默认域名为 myhostname,即lists.cnfug.org

myorigin = $myhostname

#设置aliases的类型和路径

alias_maps = hash:/etc/postfix/aliases

生成aliases Hash文件,启动postfix

# postalias /etc/postfix/aliases

# postfix start

3、Minimalist的安装Minimalist的安装非常简单,只需将下载回来的文件解包,复制里面的minimalist.pl到安装目的地即可,这里我们假设安装到/usr/local/bin中,分别执行以下命令:

# tar -zxvf minimalist.tar.gz

# cp minimalist-2.5.3/minimalist.pl /usr/local/bin/minimalist.pl

# chmod 0755 /usr/local/bin/minimalist.pl

# cp minimalist-2.5.3/minimalist.conf-sample /usr/local/etc/minimalist.conf

这里minimalist.conf是minimalist.pl的配置文件,它的默认路径为/usr/local/etc/minimalist.conf。

接下来就是让minimalist与postfix一同工作,编辑/etc/postfix/aliases文件,新增一行:

minimalist: "|/usr/local/bin/minimalist.pl"

重新生成postfix的aliases Hash文件,刷新postfix配置:

# postalias /etc/postfix/aliases

# postfix reload

4、配置Minimalist和新增一个邮件列表首先要做的就是为minimalist建立一个工作目录,这里我们的工作目录为/home/maillist,并将目录的所有者设置为minimalist.pl执行时的用户,在postfix中,该用户就是nobody:

# mkdir /home/maillist

# chown nobody /home/maillist

在建立了minimalist的工作目录后,我们需要对minimalist的配置文件/usr/local/etc/minimalist.conf进行一些修改,以下是本文中使用的配置文件,修改了的部分都用中文注明了,请根据自己的需要修改:

############## Main configuration file for Minimalist ################

#--------------------------------------------------------------------#

# These directives can be used only in global config #

#--------------------------------------------------------------------#

# The directory for Minimalist's files - default to /var/spool/minimalist

#

# 设置minimalist的工作目录,默认为/var/spool/minimalist

directory = /home/maillist

# Administrator password. It applies to all lists, regardless to

# authentication settings in these lists. For per-list authentication see

# directive 'auth' below.

#

# Password must be in very first line and first column of message's body,

# as follows (without quotes): '*password: this_secret_password'

#

# By default this password isn't empty, but undefined, so if you want use

# it, you must define it here.

#

#password = this_secret_password

# Time while authentication request is valid, in hours

# Default to 24 hours

#

#request valid = 12

# Access control list, used for limiting access to Minimalist. Delimiter

# for items is ':'. Item, which begins with '@', means path to filename

# with items list, one item per row.

#

# Default is empty

#

#blacklist = !small.domain.com:domain.com:spamdomain.org:@/path/to/blacklist.txt

#

# In this example mails from small.domain.com will be allowed to work with

# Minimalist, mails from domain.com will be disallowed, and further, on the

# 'first match' basis.

# Robots (like MLM=mailing list managers) usually should be blocked

# otherwise two minimalists could be ping-ponging help/subscribe messages

# to each other infinitely. Delimiter is '|'.

#

#blocked robots = 'X-List-Server|List-Id|List-Subscribe|X-Yahoo-Newman-Property';

# Log requests to Minimalist. Can be either "none" or path to logfile.

#

# Default to none

#

#logfile = /var/log/Minimalist.log

# Log info about messages, passed through Minimalist. Can be 'yes' or 'no'

#

# Default to 'no'. logfile (see above) to 'none' implies 'no'

#

#log messages = yes

# Run in background. If 'yes', Minimalist uses fork for detach from MTA and

# continues execution in background.

#

# Default to 'no'

#

# 开启在后台运行minimailist,默认关闭

background = yes

#-------------------------------------------------------------------#

# These directives can be used either in global and local configs #

#-------------------------------------------------------------------#

# The Minimalist administrator's e-mail address.

#

# Default to postmaster@primary_domain, where primary_domain is the result

# of the `hostname --fqdn` command

#

# 列表管理员邮件

admin = listadmin@lists.cnfug.org

# Address for return miscellaneous delivery errors

#

# Available values are:

# . drop - drop such error messages

# . admin - send error messages to admin (see above)

# . sender - send error messages to sender of original message

# . verp - generate VERP (see below)

# . RFC-822 E-mail - send error messages to arbitrary mailbox

#

# Default to 'drop'. Note, that 'sender' value is quite annoying for

# message's sender and highly undesirable. When setuping new list it is

# desirable to set this parameter to 'admin' for revealing adimistrator's

# errors.

#

# Note about 'verp' (Variable Envelope Return Path).

#

# Prepare message so, that it will be possible to parse bounce messages.

# For detailed description see original document at

# http://cr.yp.to/proto/verp.txt

# or it's copy at

# http://www.mml.org.ua/verp.txt

#

# You must create one additional alias in your 'aliases' file, for

# processing bounce messages. It must be something similar to:

#

#listname-owner-*: "|/path/to/bouncer.pl"

#

# where 'listname' is the name of mailing list. Wildcard mask specifies,

# that any message, where recipient's address starts on 'listname-owner-',

# will be passed to bouncer.pl. Check your MTA documentation on how to

# creare wilcard aliases.

#

# Distribution of Minimalist does not provide bounce processing program.

# You should use any third-party program.

#

# CAUTION: if value set to 'verp', Minimalist will generate ONE MESSAGE per

# RECIPIENT. On big lists this can produce very big load of server.

#

#errors to = admin

# The list's language

# en=English / ru=Russian / de=informal German / DE=formal German /

# NL=Dutch

#

# See contrib/languages directory for further information

#

# language = en

# The charset, which will be used in information messages and footer.

#

# Default is 'us-ascii'

#

# See docs/README for information on how Minimalist adds footer,

# dependently on charset.

#

#charset = koi8-r

# Path to sendmail, default to '/usr/sbin/sendmail'

#

#sendmail = /usr/sbin/sendmail

# Delivery method. Can be 'internal' - Minimalist will send message by

# itself and 'alias' - Minimalist will send message to specified address,

# which can points to bulkmailer, etc.

#

# Note, that using 'alias' automatically sets value of 'errors to' to

# 'sender'.

#

# Default to 'internal'. Syntax is:

#

#delivery = internal

#delivery = alias e-mail

# The domain name - default to `hostname --fqdn`. If begins with '|' then

# Minimalist calls external program to determine hostname.

#

#domain = |uname -n

#

# 邮件列表的域名

domain = lists.cnfug.org

# Security level:

# . none - allow any person write to any mailing list

# . careful - only subscribers can write to list

# . paranoid - user must authenticate subscribe/unsubscribe requests

#

# Default to 'careful'

#

# 设置列表的安全级别,paranoid表示用户在订阅和退订里必须进行身验证

# 建议使用此安全级别,默认的级别为careful

security = paranoid

# Archiving strategy:

# . no - don't archive articles

# . daily - create new directory for articles every day

# . monthly - create new directory for articles every month

# . yearly - create new directory for articles every year

# or

# archive = pipe /path/to/archiver [options]

#

# for instance

# archive = pipe /usr/local/bin/hypermail -m www-talk -d /archives/www-talk

#

# Default to 'no'

#

# 开启列表邮件按月存档,默认为不存档

archive = monthly

# Maximum size of message (in bytes), which will be archived

#

# Default - zero (no limits)

#

#archive size = 1000000

# List's status. Available values are:

# . open - list without any restrictions

# . ro - read-only access to list

# . closed - only trusted users can subscribe anyone to this list.

# . mandatory - subscribed users can't unsubscribe

#

# Values may be used together, for example: closed,ro,mandatory

#

# Default to 'open'

#

#status = closed,ro,mandatory

# Copy to sender - indicates send or no message to message's sender

# Default to yes

#

#copy to sender = no

# This variable defines Reply-To: contents of outgoing message. Available

# choices: 'no', 'yes' or e-mail. If used 'no' (default), Minimalist doesn't

# touch this header at all. If used 'yes', Minimalist sets Reply-To: header

# to list's address instead of original contents.

#

# The third choice is available ONLY in per-list config - if used any other

# value, Reply-To: will be set to this value. BE CAREFUL and use correct

# RFC-822 compliant E-mail here.

#

# Please check the following URL on why you (most often) should not use

# this feature: http://www.unicom.com/pw/reply-to-harmful.html (Thanks to

# Jonas Bofjall for pointing to this topic)

#

# Default to 'no'

#

# 开启回复到邮件列表的功能,默认关闭

reply-to list = yes

# Set From: to specified value (RFC-822 compliant E-mail address) in

# outgoing message.

#

# Default - don't touch From:

#

#from = doka@kiev.sovam.com

# Modify subject before sending message to subscribers.

#

# Available values:

# no : don't touch subject

# yes : add "[list_name] " before original subject

# more : remove leading "Re: " if it's there and then add "[list_name] "

#

# Default to yes

#

#modify subject = no

# Maximal count of subscribers per list, zero means no limits.

# Default to zero

#

#maxusers = 100

# Count of recipients per message. If not zero, Minimalist will generate

# few messages with maxrcpts recipients instead of one message to all

# recipients.

#

# Allowed value from 1 to 50, default to 10

#

# Be careful when using high values, because this may lead to lost some

# recipients in mailing if total length of addresses will exceed allowed

# length of command line, passed to MTA.

#

#maxrcpts = 15

# Delay (in seconds) between deliveries, if there are few ones per message.

#

# Default to none

#

#delay = 15

# Maximal size of message

# Default to none

#

#maxsize = 100000

# Include list information headers (RFC 2369) in outgoing mail. These

# directives are: List-Help, List-Subscribe, List-Unsubscribe, List-Post,

# List-Owner and, optionally, List-Archive.

#

# Available values are: 'no', 'yes' or URL, which points to archive, in

# form: (Comment)

#

# Example:

# list information = (Archive of everything)

#

# Note: comment is optional and may be avoided. Using URL as value in this

# directive implies 'yes' to all rest List-* headers and available only in

# per-list config.

#

# Default value is 'yes'

#

#list information = no

# Strip various "Receipt Request" headers. Currently there are:

#

# . Return-Receipt-To

# . Disposition-Notification-To

# . X-Confirm-Reading-To

#

# Default not to strip

#

#strip rrq = yes

# Add extra headers. It is possible to use this option two and more times -

# Minimalist will glue all these headers, when producing final message.

# Also it is possible to use macroses (if applicable) \a (admin), \d

# (domain), \l (list), \o (owner), \n (newline), \t (tab) and \s (space) in

# these headers.

#

# WARNING! Minimalist doesn't check validity of these headers nor their

# duplicating! Be carefull while using this option.

#

#extra header = X-BeenThere: \l@\d

#

# By using \n, \t and \s it is possible to construct multiline headers, for

# example:

#

#extra header = X-Multline: first line\n\t second line\n\t third line

#

# the same result may be achieved by combining few directives:

#

#extra header = X-Multilne: first line

#extra header = \t second line

#extra header = \t third line

# Remove 'Resent-*' headers in incoming mail. These headers are not

# important for message understanding and processing, but some MUA's

# generate incorrect these ones.

#

# Default not to remove.

#

#remove resent = yes

# Modify Message-ID in outgoing message.

#

# If somefirstbody subscribed on two lists on same server and

# somesecondbody crossposts message to these lists and

# somefirstbody's MTA doesn't allow two and more messages with

# same Message-ID, then this first body will receive message only

# once. In this case modification of original message's Message-ID

# will solve this problem.

#

# Modification is done by adding token 'MMLID_xxxxx-' before the

# original Message-ID, where xxxxx is some number between 0 and 99999

#

# Default do not touch Message-ID.

#

#modify message-id = yes

# Send message on subscribe/unsubscribe event to list owner

#

# Default to no

#

#cc on subscribe = yes

#------------------------------------------------------------------#

# These directives can be used in local configs only #

#------------------------------------------------------------------#

# Authentication scheme for list.

#

# NOTE: By default there is 'password' scheme with undefined password, so

# if you want to make administrative requests to list, you must define this

# scheme explicitly.

#

# Examples:

#

# auth = mailfrom doka@kiev.sovam.com:@/usr/local/etc/list.admins

# List users, allowed to make administrative requests. Their e-mails

# delimited by ':', item, beginnig with '@' means filename with list

# of persons, one person's e-mail per one row.

#

# auth = password this_secret_password

# Password, which opens administrative access to list. Must be in

# very first line and first column of message's body, as follows

# (without quotes): '*password: this_secret_password'

#

#auth = mailfrom doka@kiev.sovam.com:@/usr/local/etc/mml.trusted

#auth = password this_secret_password

# List's GECOS.

#

# Add gecos to headers 'To' and, optionally, 'Reply-To', when sending

# message to subscribers. For example, using:

#

# list gecos = Minimalist General Discussion

#

# will produce

#

# To: Minimalist General Discussion

# Reply-To: Minimalist General Discussion

#

# in outgoing message.

#

# Default: empty

#

#list gecos = Test GECOS

# Fill header 'To' of outgoing message with recipient's address.

#

# Note: if set to 'yes', Minimalist will remove all rest 'To' and 'Cc'

# headers from message.

#

# CAUTION: if set to 'yes', Minimalist will generate ONE MESSAGE per

# RECIPIENT. On big lists this can produce very big load of server.

#

# Default to 'no'

#

#to recipient = yes

在修改完配置文件后,可以使用使用(不包含引号)"/usr/local/bin/minimalist.pl -" 来对配置文件进行检查。

当上面的工作完成后,现在就可以新建我们的第一个邮件列表了,假设我们要建立一个名为cnfug的邮件列表(同样假设域名为lists.cnfug.org)。minimalist的邮件列表是通过minimalist工作目录中的lists.lst文件来进行控制的,在本例中,它便是/home/maillist/lists.lst,编辑它(第一次编辑时需要创建它),并增加如下行:

cnfug This is my first list

其中cnfug是我们的邮件列表的名字,以后其它用户将通过cnfug@lists.cnfug.org的形式递交信件,紧跟其后的是一个Tab(跳格),minimalist将根据tab来区分列表名和列表描述,tab后面的就是列表的简单描述。

在列表控制文件中加入列表信息后,现在就该为列表建立文件夹,在minialist的工作目录中,以列表名创建文件夹,并保证minimalist可以对其进行读写操作:

%26#10;# mkdir /home/maillist/cnfug

%26#10;# chown nobody /home/maillist/cnfug

%26#10;

 
 
 
免责声明:本文为网络用户发布,其观点仅代表作者个人观点,与本站无关,本站仅提供信息存储服务。文中陈述内容未经本站证实,其真实性、完整性、及时性本站不作任何保证或承诺,请读者仅作参考,并请自行核实相关内容。
2023年上半年GDP全球前十五强
 百态   2023-10-24
美众议院议长启动对拜登的弹劾调查
 百态   2023-09-13
上海、济南、武汉等多地出现不明坠落物
 探索   2023-09-06
印度或要将国名改为“巴拉特”
 百态   2023-09-06
男子为女友送行,买票不登机被捕
 百态   2023-08-20
手机地震预警功能怎么开?
 干货   2023-08-06
女子4年卖2套房花700多万做美容:不但没变美脸,面部还出现变形
 百态   2023-08-04
住户一楼被水淹 还冲来8头猪
 百态   2023-07-31
女子体内爬出大量瓜子状活虫
 百态   2023-07-25
地球连续35年收到神秘规律性信号,网友:不要回答!
 探索   2023-07-21
全球镓价格本周大涨27%
 探索   2023-07-09
钱都流向了那些不缺钱的人,苦都留给了能吃苦的人
 探索   2023-07-02
倩女手游刀客魅者强控制(强混乱强眩晕强睡眠)和对应控制抗性的关系
 百态   2020-08-20
美国5月9日最新疫情:美国确诊人数突破131万
 百态   2020-05-09
荷兰政府宣布将集体辞职
 干货   2020-04-30
倩女幽魂手游师徒任务情义春秋猜成语答案逍遥观:鹏程万里
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案神机营:射石饮羽
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案昆仑山:拔刀相助
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案天工阁:鬼斧神工
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案丝路古道:单枪匹马
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案镇郊荒野:与虎谋皮
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案镇郊荒野:李代桃僵
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案镇郊荒野:指鹿为马
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案金陵:小鸟依人
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案金陵:千金买邻
 干货   2019-11-12
 
推荐阅读
 
 
 
>>返回首頁<<
 
靜靜地坐在廢墟上,四周的荒凉一望無際,忽然覺得,淒涼也很美
© 2005- 王朝網路 版權所有