freebsd postfix mailman 邮件列表配置的实现
时间:2016-02-23 15:47 来源:linux.it.net.cn 作者:IT
没有找到一篇真正实现mailman配置的完整文章,搞得我苦了1周时间,当然,主要还是对配置的理解问题。
我的邮件服务器是基于freebsd8.2 的postfix系统、etmail(我实现的笔记过一阵会贴出来)。
Mailman是一个比较好的邮件列表程序,功能非常强大,提供完美的Web端,权限可以分散管理,多个开源组织都在使用。
创建mailman用户组,执行如下命令:
pw group add mailman
<>1.
echo mailman_enable=\"YES\">> /etc/rc.conf
<>2.>3.>4.postmaster@xxx.com.cn,密码使用soft.43>
bin/newlist mailman
显示:root@mail38/usr/local/mailman# bin/newlist mailman
Enter the email of the person running the list: postmaster@xxx.com.cn
Initial mailman password:xxxxxxxx
Hit enter to notify mailman owner...回车退出。
<>5.
Alias /pipermail /usr/local/mailman/archives/public/
<Directory "/usr/local/mailman/archives/public/">
AddDefaultCharset Off
</Directory>
<Directory "/usr/local/mailman">
Options FollowSymLinks ExecCGI
AllowOverride None
Order allow,deny
Allow from all
</Directory>
</VirtualHost>
改造后的extmail.conf是这样的:
NameVirtualHost *:80
<VirtualHost *:80>
ServerName mail.xxx.com.cn
DocumentRoot /usr/local/www/extmail/html/
ScriptAlias /extmail/cgi /usr/local/www/extmail/cgi/
Alias /extmail /usr/local/www/extmail/html/
ScriptAlias /extman/cgi "/usr/local/www/extman/cgi/"
Alias /extman "/usr/local/www/extman/html/"
<Location "/extman/cgi">
SetHandler cgi-script
Options +ExecCGI
</Location>
<Directory "/usr/local/www">
AddDefaultCharset UTF-8
AllowOverride None
Options None
Order allow,deny
Allow from all
</Directory>
# SuexecUserGroup vmail vmail
</VirtualHost>
<VirtualHost *:80>
ServerName lists.xxx.com.cn
DocumentRoot /usr/local/mailman/cgi-bin/
ScriptAlias /mailman/ "/usr/local/mailman/cgi-bin/"
Alias /pipermail/ "/usr/local/mailman/archives/public/"
<Directory "/usr/local/mailman/archives/public/">
AddDefaultCharset Off
</Directory>
<Directory "/usr/local/mailman">
Options FollowSymLinks ExecCGI
AllowOverride None
Order allow,deny
Allow from all
</Directory>
</VirtualHost>
重启APACHE
/usr/local/sbin/apachectl restart
<>6.zx@XXX.com.cn
Initial zxtestlist password: XXXXX
Hit enter to notify zxlist owner...
然后任何人可以网nou_all@mail.XXX.com.cn上发邮件,通过设置好的管理员对邮件进行审核,审核选项有丢弃、拒绝、批准等等,通过批准后邮件就可以发给全部的列表成员了。
把用户添加到邮件列表里测试,建一个文本文件,比如maillists.txt,一行一个邮件地址,然后执行如下命令:
mail# /usr/local/mailman/bin/add_members -n maillists.txt zxtestlist
不过这可以通过网页来增加用户(http://lists.xxx.com.cn/mailman/admin),
邮件列表的配置
Default.py和mm_cfg.py的配置是针对全局的,对全局配置文件的修改不会影响到已经存在的邮件列表。mailman提供了config_list这个命令来对单个邮件列表进行配置,先导出该邮件列表的配置:
mail# /usr/local/mailman/bin/config_list -o /tmp/config mailman
然后修改/tmp/config文件,里面有很多选项,可以根据自己的要求修改,比如加上回复到邮件列表的邮件头、去掉mailman自动加的边脚等等,最后把这个配置文件导回给邮件列表就可以了:
mail# /usr/local/mailman/bin/config_list -i /tmp/config mailman
通过web访问:
http://lists.XXX.com.cn/mailman/admin/mailman
http://lists.XXX.com.cn/mailman/listinfo/mailman
http://lists.XXX.com.cn/mailman/create
-------------------------------------------------------------------------
经过一段时间的实际使用,发现mailman真的很好,特殊适合用来给企业内部群发邮件,我把不同年级的学生分成不同的邮件列表,然后发给需要群发邮件的相关部门,他们群发邮件后,都需要我审核后才会发到学生邮箱中,很可靠。/>/>
(责任编辑:IT)
没有找到一篇真正实现mailman配置的完整文章,搞得我苦了1周时间,当然,主要还是对配置的理解问题。
我的邮件服务器是基于freebsd8.2 的postfix系统、etmail(我实现的笔记过一阵会贴出来)。
Mailman是一个比较好的邮件列表程序,功能非常强大,提供完美的Web端,权限可以分散管理,多个开源组织都在使用。
(责任编辑:IT)创建mailman用户组,执行如下命令: pw group add mailman <>1. echo mailman_enable=\"YES\">> /etc/rc.conf <>2.>3.>4.postmaster@xxx.com.cn,密码使用soft.43> bin/newlist mailman 显示:root@mail38/usr/local/mailman# bin/newlist mailman Enter the email of the person running the list: postmaster@xxx.com.cn Initial mailman password:xxxxxxxx Hit enter to notify mailman owner...回车退出。 <>5. Alias /pipermail /usr/local/mailman/archives/public/ <Directory "/usr/local/mailman/archives/public/"> AddDefaultCharset Off </Directory> <Directory "/usr/local/mailman"> Options FollowSymLinks ExecCGI AllowOverride None Order allow,deny Allow from all </Directory> </VirtualHost> 改造后的extmail.conf是这样的: NameVirtualHost *:80 <VirtualHost *:80> ServerName mail.xxx.com.cn DocumentRoot /usr/local/www/extmail/html/ ScriptAlias /extmail/cgi /usr/local/www/extmail/cgi/ Alias /extmail /usr/local/www/extmail/html/ ScriptAlias /extman/cgi "/usr/local/www/extman/cgi/" Alias /extman "/usr/local/www/extman/html/" <Location "/extman/cgi"> SetHandler cgi-script Options +ExecCGI </Location> <Directory "/usr/local/www"> AddDefaultCharset UTF-8 AllowOverride None Options None Order allow,deny Allow from all </Directory> # SuexecUserGroup vmail vmail </VirtualHost> <VirtualHost *:80> ServerName lists.xxx.com.cn DocumentRoot /usr/local/mailman/cgi-bin/ ScriptAlias /mailman/ "/usr/local/mailman/cgi-bin/" Alias /pipermail/ "/usr/local/mailman/archives/public/" <Directory "/usr/local/mailman/archives/public/"> AddDefaultCharset Off </Directory> <Directory "/usr/local/mailman"> Options FollowSymLinks ExecCGI AllowOverride None Order allow,deny Allow from all </Directory> </VirtualHost> 重启APACHE /usr/local/sbin/apachectl restart <>6.zx@XXX.com.cn Initial zxtestlist password: XXXXX Hit enter to notify zxlist owner... 然后任何人可以网nou_all@mail.XXX.com.cn上发邮件,通过设置好的管理员对邮件进行审核,审核选项有丢弃、拒绝、批准等等,通过批准后邮件就可以发给全部的列表成员了。 把用户添加到邮件列表里测试,建一个文本文件,比如maillists.txt,一行一个邮件地址,然后执行如下命令: mail# /usr/local/mailman/bin/add_members -n maillists.txt zxtestlist 不过这可以通过网页来增加用户(http://lists.xxx.com.cn/mailman/admin), 邮件列表的配置 Default.py和mm_cfg.py的配置是针对全局的,对全局配置文件的修改不会影响到已经存在的邮件列表。mailman提供了config_list这个命令来对单个邮件列表进行配置,先导出该邮件列表的配置: mail# /usr/local/mailman/bin/config_list -o /tmp/config mailman 然后修改/tmp/config文件,里面有很多选项,可以根据自己的要求修改,比如加上回复到邮件列表的邮件头、去掉mailman自动加的边脚等等,最后把这个配置文件导回给邮件列表就可以了: mail# /usr/local/mailman/bin/config_list -i /tmp/config mailman 通过web访问: http://lists.XXX.com.cn/mailman/admin/mailman http://lists.XXX.com.cn/mailman/listinfo/mailman http://lists.XXX.com.cn/mailman/create ------------------------------------------------------------------------- 经过一段时间的实际使用,发现mailman真的很好,特殊适合用来给企业内部群发邮件,我把不同年级的学生分成不同的邮件列表,然后发给需要群发邮件的相关部门,他们群发邮件后,都需要我审核后才会发到学生邮箱中,很可靠。/>/> |