A.检查你的系统是否已安装了以下软件
1.pam
2.pam-devel
3.mysql
4.mysql-servel
5.mysql-devel
6.imap-devel
7.sharutils
B.下载以下软件
1.metamail*.i386.rpm
2.pam-mysql
3.cyrus-sasl-2.1.15
4.postfix-2.0.16
5.courier-imap
C.说明
mysql-devel在第3个盘。我忘了装,结果pam-mysql和postfix的编译过不了。metamail和sharutils是取验证码用的。
A.[root@localhost root]# mysql
Welcome to the MySQL monitor. Commands end with ; or \g.Your MySQL connection id is 3 to server version: 3.23.58
Type 'help;' or '\h' for help. Type '\c' to clear the buffer.
mysql> use mysql
Reading table information for completion of table and column names
You can turn off this feature to get a quicker startup with -A
Database changed
mysql> INSERT INTO db (Host,Db,User,Select_priv)VALUES('localhost','postfix','postfix','Y');
Query OK, 1 row affected (0.00 sec)
mysql> CREATE DATABASE postfix;
Query OK, 1 row affected (0.00 sec)
mysql> GRANT ALL ON postfix.* TO postfix@localhost
-> IDENTIFIED BY "postfix";
Query OK, 0 rows affected (0.00 sec)
mysql> FLUSH PRIVILEGES;
Query OK, 0 rows affected (0.00 sec)
mysql> quit
Bye
B.把下列文字复制存为postfix.sql
########potfix_sql########bigin##################CREATE TABLE alias (
username varchar(255) NOT NULL default'',
goto text NOT NULL,
domain varchar(255) NOT NULL default'',
PRIMARY KEY (username)
) TYPE=MyISAM;
CREATE TABLE domain (
domain varchar(255) NOT NULL default'',
description varchar(255) NOT NULL default'',
PRIMARY KEY (domain)
) TYPE=MyISAM;
CREATE TABLE mailbox (
userid char(20) binary NOT NULL default'',
username varchar(255) NOT NULL default'',
password varchar(255) NOT NULL default'',
home varchar(255) NOT NULL default'',
maildir varchar(255) NOT NULL default'',
name varchar(255) NOT NULL default'',
uid smallint(5) unsigned NOT NULL default'12345',
gid smallint(5) unsigned NOT NULL default'12345',
quota varchar(255) NOT NULL default'',
domain varchar(255) NOT NULL default'',
create_date date NOT NULL default'0000-00-00',
create_time time NOT NULL default'00:00:00',
change_date date NOT NULL default'0000-00-00',
change_time time NOT NULL default'00:00:00',
last_access int(10) unsigned NOT NULL default'0',
passwd_lastchanged int(10) unsigned NOT NULL default'0',
status tinyint(4) NOT NULL default'1',
PRIMARY KEY (username),
KEY status (status)
) TYPE=MyISAM;
#####################end########################
[root@localhost root]# mysql postfix < /work/postfix.sql
C.对表的内容的一些说明.
Reading table information for completion of table and column names
You can turn off this feature to get a quicker startup with -A
Database changed
mysql> show tables;
+-------------------+
| Tables_in_postfix |
+-------------------+
| alias |
| domain |
| mailbox |
+-------------------+
3 rows in set (0.00 sec)
mysql> desc alias;
+----------+--------------+------+-----+---------+-------+
| Field | Type | Null | Key | Default | Extra |
+----------+--------------+------+-----+---------+-------+
| username | varchar(255) | | PRI | | |
| goto | text | | | | |
| domain | varchar(255) | | | | |
+----------+--------------+------+-----+---------+-------+
3 rows in set (0.00 sec)
mysql> desc domain;
+-------------+--------------+------+-----+---------+-------+
| Field | Type | Null | Key | Default | Extra |
+-------------+--------------+------+-----+---------+-------+
| domain | varchar(255) | | PRI | | |
| description | varchar(255) | | | | |
+-------------+--------------+------+-----+---------+-------+
2 rows in set (0.00 sec)
mysql> desc mailbox;
+--------------------+----------------------+------+-----+------------+-------+
| Field | Type | Null | Key | Default | Extra |
+--------------------+----------------------+------+-----+------------+-------+
| userid | varchar(20) binary | | | | |
| username | varchar(255) | | PRI | | |
| password | varchar(255) | | | | |
| home | varchar(255) | | | | |
| maildir | varchar(255) | | | | |
| name | varchar(255) | | | | |
| uid | smallint(5) unsigned | | | 12345 | |
| gid | smallint(5) unsigned | | | 12345 | |
| quota | varchar(255) | | | | |
| domain | varchar(255) | | | | |
| crea