[原创]在FreeBSD 上组建ISP级的邮件系统
[size=3]大家好,我又有新文章发表了,欢迎大家提意见。由于内容和版面的限制,不能在这里贴出来。有问题大家跟贴,谢谢!!!
文章地址
[url=http://www.yiyou.org/docs/freebsd_postfix_03/]http://www.yiyou.org/docs/freebsd_postfix_03/[/url]
[/size]
:lol
[[i] 本帖最后由 fengyong 于 2007-12-10 09:09 编辑 [/i]] hao !!
thanks!!! 在FreeBSD 上组建ISP级的邮件系统
FreeBSD(基本系统) + Postfix(MTA 邮件传输代理) + MySQL(后台数据库,用户保存用户信息) + Cyrus -SASL2(发信认证) + Courier -IMAP(提供POP3/IMAP服务) + MailDrop(MDA 邮件投递代理) + amavisd-new(内容过滤) + Spamassassin(反垃圾邮件) + Clamav(杀毒) + Extman (后台用户管理) + ExtMail( 一个高效率的webmail)
作者:冯勇 fengyongchuang # yahoo.com.cn (≠&键盘人生$:71633908)
日期:2006-03-09
技术支持网站:[url]www.extmail.org[/url]
QQ群:
网管之家: 5929685
网管之家-UNIX:3791457
Extmail 群/postfix 1: 6769767
Extmail 群/postfix 2: 18051473
版权所有,复制或转载时请保留作者信息。尊重他人的劳动成果就等于尊重自己。 支持 把LZ往死里顶............ 支持原创! 唉~~~失望........顶的人太少了. 我到fb下试验一下,成功之后再来多顶几下,呵呵
感谢楼主的辛勤贡献 顶啊,学习 我还是要顶的,但之前的FreeBSD 上组建邮件系统怎么也不行 强烈支持,也顶一个! pdf和hmt版 这篇文章写的太好了,很适合新手学习。本人看了这篇文章很受感到,能写出这样的文章不容易,已经bsd高手了,作者学习bsd应该花了很多时间啊。
顶!!! 非常好的帖子,用了三天的时间在虚拟机上折腾了至少5次,基本上装上了。
不过发现了几个问题,不知道楼主有没有遇到
我安装的环境是 FreeBSD 6.0 + APACHE22 + MYSQL4.0.26 + PHP 5.1.2
和楼主提供的教程中有所出入
原文中提到
在安装Amavisd-new 时,系统会自动把Spamassassin 装上去
lqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqk
x Options for p5-Mail-SpamAssassin 3.1.0_6 x
x lqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqk x
x x [X] AS_ROOT Run spamd as root (recommended) x x
x x [ ] DOMAINKEYS DomainKeys support x x
x x [X] SSL Build with SSL support for spamd/spamc x x
x x [X] MYSQL Add MySQL support x x
x x [ ] PGSQL Add PostreSQL support x x
x x [ ] RAZOR Add Vipul's Razor support x x
x x [ ] SPF_QUERY Add SPF query support x x
x x [ ] RELAY_COUNTRY Relay country support x x
x x [X] TOOLS Install SpamAssassin tools x x
上述菜单在实际安装时并没有显示,无法选择 MYSQL 和 TOOLS
我操作中的办法是
在开始安装Amavisd-new 之前,先进行选择,方法是
# cd /usr/ports/mail/p5-Mail-SpamAssassin/
# make config
:)
另外出现的一个问题就是将 EXTMAN 和 EXTMAIL 配置好后,界面可以访问,但是EXTMAIL 不能用 [email]test@extmail.org[/email] / test 登录,而 EXTMAN 可以用 [email]root@extmail.org[/email] / extmail 登录
不知道这个问题出在哪里,
我使用的EXTMAN 和 EXTMAIL 版本是
MD5 (extmail-0.23-20060219.tar.gz) = 2b836c6633a97305a128e9d3acb478cb
MD5 (extman-0.13-20060102.tar.gz) = f372b6bd917e914d2b75bb17bb91901a
如果有解决办法告知,将不胜感激。
// -------- 附上我的数据库信息
-- phpMyAdmin SQL Dump
-- version 2.6.4-pl1
-- [url]http://www.phpmyadmin.net[/url]
--
-- 主机: localhost
-- 生成日期: 2006 年 03 月 19 日 22:54
-- 服务器版本: 4.0.26
-- PHP 版本: 5.1.2
--
-- 数据库: `extmail`
--
-- --------------------------------------------------------
--
-- 表的结构 `alias`
--
CREATE TABLE `alias` (
`address` varchar(255) NOT NULL default '',
`goto` text NOT NULL,
`domain` varchar(255) NOT NULL default '',
`createdate` datetime NOT NULL default '0000-00-00 00:00:00',
`expiredate` datetime NOT NULL default '0000-00-00 00:00:00',
`active` tinyint(1) NOT NULL default '1',
PRIMARY KEY (`address`),
KEY `address` (`address`)
) TYPE=MyISAM COMMENT='ExtMail - Virtual Aliases';
--
-- 导出表中的数据 `alias`
--
INSERT INTO `alias` VALUES ('[email]support@extmail.org[/email]', '[email]test@extmail.org[/email]', 'extmail.org', '2005-11-08 15:10:04', '2006-11-08 15:10:04', 1);
-- --------------------------------------------------------
--
-- 表的结构 `domain`
--
CREATE TABLE `domain` (
`domain` varchar(255) NOT NULL default '',
`description` varchar(255) NOT NULL default '',
`maxalias` int(10) NOT NULL default '0',
`maxusers` int(10) NOT NULL default '0',
`maxquota` varchar(16) NOT NULL default '0',
`maxnetdiskquota` varchar(16) NOT NULL default '0',
`transport` varchar(255) default NULL,
`createdate` datetime NOT NULL default '0000-00-00 00:00:00',
`expiredate` datetime NOT NULL default '0000-00-00 00:00:00',
`active` tinyint(1) NOT NULL default '1',
PRIMARY KEY (`domain`),
KEY `domain` (`domain`)
) TYPE=MyISAM COMMENT='ExtMail - Virtual Domains';
--
-- 导出表中的数据 `domain`
--
INSERT INTO `domain` VALUES ('extmail.org', 'virtualDomain for extmail.org', 10, 10, '10485760', '10485760', NULL, '2005-11-08 15:10:04', '2006-11-08 15:10:04', 1);
-- --------------------------------------------------------
--
-- 表的结构 `domain_manager`
--
CREATE TABLE `domain_manager` (
`username` varchar(255) NOT NULL default '',
`domain` varchar(255) NOT NULL default '',
`createdate` datetime NOT NULL default '0000-00-00 00:00:00',
`active` tinyint(1) NOT NULL default '1',
KEY `username` (`username`)
) TYPE=MyISAM COMMENT='Ext/Webman - Domain Admins';
--
-- 导出表中的数据 `domain_manager`
--
INSERT INTO `domain_manager` VALUES ('', 'extmail.org', '2006-03-19 22:35:50', 1);
-- --------------------------------------------------------
--
-- 表的结构 `mailbox`
--
CREATE TABLE `mailbox` (
`username` varchar(255) NOT NULL default '',
`uid` varchar(255) NOT NULL default '',
`password` varchar(255) NOT NULL default '',
`name` varchar(255) NOT NULL default '',
`maildir` varchar(255) NOT NULL default '',
`homedir` varchar(255) NOT NULL default '',
`quota` varchar(16) NOT NULL default '0',
`netdiskquota` varchar(16) NOT NULL default '0',
`domain` varchar(255) NOT NULL default '',
`uidnumber` int(6) NOT NULL default '1000',
`gidnumber` int(6) NOT NULL default '1000',
`createdate` datetime NOT NULL default '0000-00-00 00:00:00',
`expiredate` datetime NOT NULL default '0000-00-00 00:00:00',
`active` tinyint(1) NOT NULL default '1',
`authorizedservices` varchar(255) NOT NULL default '',
PRIMARY KEY (`username`),
KEY `username` (`username`)
) TYPE=MyISAM COMMENT='ExtMail - Virtual Mailboxes';
--
-- 导出表中的数据 `mailbox`
--
INSERT INTO `mailbox` VALUES ('[email]test@extmail.org[/email]', 'test', '{crypt}uywiuN.XggXXc', 'Test user', 'extmail.org/test/Maildir/', 'extmail.org/test', '5242880', '5242880', 'extmail.org', 1000, 1000, '2005-11-08 15:10:04', '2006-11-08 15:10:04', 1, 'smtp,webmail,pop3,netdisk');
-- --------------------------------------------------------
--
-- 表的结构 `manager`
--
CREATE TABLE `manager` (
`username` varchar(255) NOT NULL default '',
`password` varchar(255) NOT NULL default '',
`type` varchar(64) NOT NULL default 'postmaster',
`uid` varchar(255) NOT NULL default '',
`name` varchar(255) NOT NULL default '',
`createdate` datetime NOT NULL default '0000-00-00 00:00:00',
`expiredate` datetime NOT NULL default '0000-00-00 00:00:00',
`active` tinyint(1) NOT NULL default '1',
PRIMARY KEY (`username`),
KEY `username` (`username`)
) TYPE=MyISAM COMMENT='Ext/Webman - Admin Accounts';
--
-- 导出表中的数据 `manager`
--
INSERT INTO `manager` VALUES ('[email]root@extmail.org[/email]', '{crypt}dua7lTAdGjyfo', 'admin', 'root', 'Super User', '2005-11-08 15:10:04', '2007-11-08 15:10:04', 1); [quote][b]下面是引用rickcart于2006-03-20 02:04发表的:[/b]
非常好的帖子,用了三天的时间在虚拟机上折腾了至少5次,基本上装上了。
不过发现了几个问题,不知道楼主有没有遇到
我安装的环境是 FreeBSD 6.0 + APACHE22 + MYSQL4.0.26 + PHP 5.1.2
.......[/quote]
建议打开mysql的SQL 语句LOG,看看extmail登陆时,发送给mysql的sql语句是什么。
编辑my.cnf(具体bsd里好象是/var/db/mysql/my.conf吧?不太记得了,请查阅一下相关资料)
增加:
[mysqld]
log=/var/log/mysql_sql.log
重新启动mysql,然后看看登陆时log的信息再帖到论坛吧 是呀,真应该感谢Fengyong朋友
我是按照他以前的文章,进行配置的,以为没有任务压着,所以我以‘慢慢来,搞透彻’的宗旨学习、安装、配置。现在用着也很好^_^
在此,再次谢谢fengyong朋友,另外感谢他在QQ群中热情的回复,让我等小菜获益良多
还有HZQ老大 [quote][b]下面是引用extmail于2006-03-20 06:50发表的:[/b]
建议打开mysql的SQL 语句LOG,看看extmail登陆时,发送给mysql的sql语句是什么。
编辑my.cnf(具体bsd里好象是/var/db/mysql/my.conf吧?不太记得了,请查阅一下相关资料)
.......[/quote]
感谢老大的回复和提示,让我发现了错误的关键
在 EXTMAIL 登录时只需要填写用户名和密码就好了,而不需要填写 [email]TEST@XXX.XXX[/email] 格式的名称,这点是我无法登录的关键,多谢您的提示,这个问题终于解决了。
针对EXTMAIL 还有一个问题,不知道算不算是BUG , :P
登录后选择注销
[img]http://www.ssdesign.cn/test/1.jpg[/img]
选择返回登录
[img]http://www.ssdesign.cn/test/2.jpg[/img]
结果出现了非预期的效果
[img]http://www.ssdesign.cn/test/3.jpg[/img]
再次谢谢两位的精彩文章和解答,让我受益匪浅。 补充一点,我在 IE 和 FIREFOX 中都是这个结果,是否和JS的编写有关,尝试一下
parent.location.replace('需要跳转的页面链接'); 达人啊!!!谢谢了!!!太有用了!!! 好长时间没有上来了,又看到 键盘兄的作品了,强烈支持ing ! [quote][b]下面是引用rickcart于2006-03-20 15:54发表的:[/b]
补充一点,我在 IE 和 FIREFOX 中都是这个结果,是否和JS的编写有关,尝试一下
parent.location.replace('需要跳转的页面链接');[/quote]
楼上的说得没错啊,就是html上的小问题。可以通过指定target = _parent来解决的。
新版发布将解决此问题。 顶是要顶的!牢骚也是要发的。 postfix: warning: valid_hostname: invalid character 32(decimal): xxx.xxx.com #??????????
postfix: fatal: file /usr/local/etc/postfix/main.cf: parameter myhostname: bad parameter value: xxx.xxx.com #??????????
什么问题? [quote][b]下面是引用china_j于2006-04-04 08:16发表的:[/b]
postfix: warning: valid_hostname: invalid character 32(decimal): xxx.xxx.com #??????????
postfix: fatal: file /usr/local/etc/postfix/main.cf: parameter myhostname: bad parameter value: xxx.xxx.com #??????????
什么问题?[/quote]
一定要注意一点:
编辑main.cf及master.cf,不能包含英文及数字以外的非法字符,例如中文字。
看这个报错,可以肯定,你的myhostname那行定义,多了中文的字符,或者8bit的字符。
也许是全角的空格或者是什么别的。清检查。
编辑时输入法记得一定要关闭。 postfix 后面不能跟注释是吧?我将注释移走就好了! [quote][b]下面是引用china_j于2006-04-04 11:36发表的:[/b]
postfix 后面不能跟注释是吧?我将注释移走就好了![/quote]
是的,不能跟注释。注释必须是空行开始。 在httpd.conf 加入下面的内容
Alias /extman/cgi/ /usr/local/www/apache22/cgi-bin/extman/cgi/
Alias /extman /usr/local/www/apache22/cgi-bin/extman/html/
<Location "/extman/cgi">
SetHandler cgi-script
Options +ExecCGI
AllowOverride All
</Location>
# config for ExtMail
Alias /extmail/cgi/ /usr/local/www/apache22/cgi-bin/extmail/cgi/
Alias /extmail /usr/local/www/apache22/cgi-bin/extmail/html/
"/extmail/cgi">
SetHandler cgi-script
Options +ExecCGI
AllowOverride All
</Location>
启动apache 提示:
[Tue Apr 04 12:47:26 2006] [warn] Useless use of AllowOverride in line 306.
[Tue Apr 04 12:47:26 2006] [warn] Useless use of AllowOverride in line 316.
注释掉<Location〉显示
Forbidden
You don't have permission to access /extman/cgi/index.cgi on this server.
是哪里出了问题?为什么这样? 不能打开了啊,郁闷 [quote][b]下面是引用han8xin8于2006-04-12 16:33发表的:[/b]
不能打开了啊,郁闷[/quote]
可能键盘在调整他的网站吧。请耐心等等。