What's new in rhms-0.4.2.12?
*) rhms 简介;
*) 为基于 MySQL 的方案引入 policyd-1.82(+patches) 程序;
*) 使用 MySQL 存储 sender_bcc_maps 与 recipient_bcc_maps;
*) Amavisd 的日志存储到独立的日志文件中:/var/log/amavisd.log;
*) Roundcubemail-0.1.1 的新补丁:显示登录用户名;
*) rhms 简介;
rhms 代表的是 "Mail Server Solution for Red Hat series",是用于快速
安装和配置邮件服务器的 shell 脚本。
rhms 并不集成和捆绑一个开源的操作系统,而是在操作系统安装好后使用的 工具。
以下是 rhms 支持的操作系统、版本、以及平台:
* OS: RHEL/CentOS.
* Version: 5.0, 5.1. 在 RHEL 5.2(i386) beta 版本无需任何修改即 可使用。
* Platform: i386, x86_64.
同时,我以个人身份为大家提供免费、收费的邮件服务器搭建服务。欢迎大家联系
和咨询(邮件/GTalk:michaelbibby
gmail.com)。
欢迎大家提出需求和改进建议,以及发展方向等,我们会尽力实现并完善它。
* 脚本下载页面:
* 在使用脚本搭建邮件服务器前请务必先阅读使用指南:
* 完整的搭建过程都记录在项目主页的 wiki 页面,可通过以下链接浏览文档:
* Bug 报告页面:
* 论坛:
*) 为基于 MySQL 的方案引入 policyd-1.82(+patches);
rhms-0.4.2.12 第一次为基于 MySQL 的方案引入了 policyd 程序。
policyd 可以带来以下功能:
+ Blacklist
# Blacklist Helo
凡是使用你的主机的主机名作为 helo 来进行验证的远程主机
都将被列入黑名单。因为正规的主机必须以它自己的主机名
作为 helo 的主机名。
# HELO Randomization Prevention (HRP)
同一个 IP 发出多个 helo 主机名将会被认为是 spammer
# 发件人
# DNS 主机名
+ Whitelist
可以通过以下几种信息来设定 whitelist:
# IP 地址、网段
# 发件人
# DNS 主机名
+ greylist(灰名单技术)
灰名单技术至少可以为你挡掉 20%-80% 的垃圾邮件。
+ spamtrap(spam 跟踪)
spamtrap 可以根据邮件实际的情况(接收、拒绝等),为你定期更新
黑白名单。
+ 针对单个用户设置单封邮件的大小;
可以告诉你的老板,只有他可以单封邮件 20/30/50/100M(虽然他不一定
用得到),而其它人却只有 10M。
让他有一点优越感。
+ 邮件发送、接收频率限制,以及收发邮件的总大小限制;
发送限制:
# 设置别人在 1 分钟内(时间由你定)只能给你的主机发送 5 封邮件;
# 设置别人在 5 分钟内只能给你的主机发送总大小为 10M 的邮件;
接收限制:
# 设置你的用户在 1 分钟内只能发送总大小为 10M 的邮件;
# 设置你的用户在 1 分钟内只能发送 5 封邮件;
你可以根据以下三种来做限制:
- 邮件地址或域名;
- SASL 验证的登录名;
- IP 地址或网段;
要使这些设置生效,必须开启邮箱容量限制。
+ 更灵活的收发限制;
# 用户可以屏蔽 @hotmail.com 的所有邮件,但是单单允许
给自己发邮件;
# 类似地,你也可以针对网段进行设置。例如,屏蔽
192.168.0.0/24 这个网段,但是允许 192.168.0.1
这台主机给你发邮件
*) 使用 SQL/LDAP 存储 sender_bcc_maps 与 recipient_bcc_maps;
在 rhms-0.4.2.12 中,vmail 数据库增加了 bcc 表,sender_bcc_maps 与
recipient_bcc_maps 都使用 MySQL 与 LDAP 进行存储。
1) MySQL 中 bcc 表结构:
#
# Table structure for table sender_bcc
#
CREATE TABLE sender_bcc (
username varchar(255) NOT NULL default '',
sender_bcc varchar(255) NOT NULL default '',
domain varchar(255) NOT NULL default '',
created datetime NOT NULL default '0000-00-00 00:00:00',
modified datetime NOT NULL default '0000-00-00 00:00:00',
active tinyint(1) NOT NULL default '1',
PRIMARY KEY (username)
) TYPE=MyISAM;
#
# Table structure for table recipient_bcc
#
CREATE TABLE recipient_bcc (
username varchar(255) NOT NULL default '',
recipient_bcc varchar(255) NOT NULL default '',
domain varchar(255) NOT NULL default '',
created datetime NOT NULL default '0000-00-00 00:00:00',
modified datetime NOT NULL default '0000-00-00 00:00:00',
active tinyint(1) NOT NULL default '1',
PRIMARY KEY (username)
) TYPE=MyISAM;
* recipient_bcc_maps 是指所有发送给 'www@a.cn' 的邮件都密送一份给
'postmaster@a.cn'。
* sender_bcc_maps 是指所有由 'bbb@a.cn' 这个用户发送的邮件都密送
一份到 'master@a.cn'。
*) Amavisd 的日志存储到独立的日志文件中:/var/log/amavisd.log;
Amavisd 的日志默认被记录到 local0.*,对应的日志文件是:/var/log/amavisd.log。
对应的 logrotate 文件定义在 /etc/logrotate.d/amavisd。
rhms-0.4.2.11 及之前版本的用户如果需要将 amavisd 的日志独立出来,请参考以下文档
进行设置:
*) Roundcubemail-0.1.1 的新补丁:显示登录用户名;
这是一个针对 Roundcubemail-0.1.1 的补丁。
当用户登录后,会在上方显示用户的登录名。截图:
补丁下载地址:
... play_username.patch
使用方法:
1) 下载补丁:
# cd /tmp/
# wget
... play_username.patch
2) 进入 Roundcubemail 目录打补丁:
# cd /var/www/roundcubemail-0.1.1/skins/default/includes/
# patch -p0 < /tmp/display_username.patch
3) 重新登录 Roundcubemail。
--
Best Regards.
Zhang Huangbin
- OpenBSD 4.2 -release, i386.
- RHEL 5.1 Client