1. 主要是main.cf的配置。
virtual_alias_maps = mysql:/etc/postfix/mysql_virtual_alias_maps.cf
virtual_gid_maps = static:12345
virtual_mailbox_base = /usr/local/virtual
virtual_mailbox_domains = mysql:/etc/postfix/mysql_virtual_domains_maps.cf
virtual_mailbox_maps = mysql:/etc/postfix/mysql_virtual_mailbox_maps.cf
virtual_mailbox_limit = 51200000
virtual_minimum_uid = 12345
virtual_transport = virtual
virtual_uid_maps = static:12345
smtpd_sasl_auth_enable = yes
#smtpd_sasl_local_domain = $myhostname
smtpd_recipient_restrictions = permit_mynetworks permit_sasl_authenticated permit_auth_destination reject
smtpd_sasl_security_options = noanonymous
smtpd_client_restrictions = permit_sasl_authenticated
broken_sasl_auth_clients = yes
2. mysql_virtual_alias_maps.cf 如下
user = postfix
password = postfix
hosts = localhost
dbname = postfix
table = alias
select_field = goto
where_field = username
3. mysql_virtual_domains_maps.cf 如下
user = postfix
password = postfix
hosts = localhost
dbname = postfix
table = domain
select_field = description
where_field = domain
4. mysql_virtual_mailbox_maps.cf 如下
user = postfix
password = postfix
hosts = localhost
dbname = postfix
table = mailbox
select_field = maildir
where_field = username
E.建立
[root@localhost root]# mkdir /usr/local/virtual
[root@localhost root]# chown -R postfix:postfix /usr/local/virtual
[root@localhost root]# chmod -R 751 /usr/local/virtual
七、测试端口25
A. mysql> use postfixReading 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> INSERT INTO alias (username,goto) VALUES ('postmaster@lansemail.com','tester@lansemail.com');
Query OK, 1 row affected (0.08 sec)
mysql> INSERT INTO domain (domain,description) VALUES ('lansemail.com','local:'); Query OK, 1 row affected (0.00 sec)
mysql> INSERT INTO mailbox (username,password,home,maildir,name,domain,create_date,create_time) VALUES('tester','$1$pi.WVgBx$a3dUCzBnbY76jnZlqWQCQ/','/usr/local/virtual/','tester@lansemail.com/','tester','lansemail.com','2003-11-19','21:24:00'); Query OK, 1 row affected (0.03 sec)
mysql> select * from mailbox
-> ;
+----+-----+---+----+-----+----+----+--+----+--+-+-+----+------+-------+----------+----+
| userid | username | password | home | maildir | name | uid | gid | quota | domain | create_date | create_time | change_date | change_time | last_access | passwd_lastchanged | status |
+----+-----+------------------+-----------+------------+----+----+----+----+--------+-------+-------+-------+-------+-------+----------+----+
| | tester | $1$pi.WVgBx$a3dUCzBnbY76jnZlqWQCQ/ | /usr/local/virtual/ | tester@lansemail.com/ | tester | 12345 | 12345 | | lansemail.com | 2003-11-19 | 21:24:00 | 0000-00-00 | 00:00:00 | 0 | 0 | 1 |
+----+-----+------------------+-----------+------------+----+----+----+----+--------+-------+-------+-------+-------+-------+----------+----+
1 row in set (0.11 sec)
mysql>
这里用的username为tester,只是用来测试端口用的,正式使用一定要用全名tester@lansemail.com.
否则信件收不到,信息如下
无法到达以下收件人:
'tester@lansemail.com',时间为 21/11/2003 13:05
450 <tester@lansemail.com>: User unknown in local recipient table
B.[root@localhost postfix]# telnet localhost 25
Connected to localhost.
Escape character is '^]'.
220 localhost.localdomain ESMTP Postfix
ehlo local host
250-localhost.localdomain
250-PIPELINING
250-SIZE 10240000
250-VRFY
250-ETRN
250-AUTH LOGIN PLAIN OTP
250-AUTH=LOGIN PLAIN OTP
250-XVERP
250 8BITMIME
auth plain dGVzdGVyAHRlc3RlcgB0ZXN0cHc=
235 Authentication successful
quit
221 Bye
Connection closed by foreign host.
[root@localhost postfix]# telnet localhost 25
Trying 127.0.0.1...
Connected to localhost.
Escape character is '^]'.
220 localhost.localdomain ESMTP Postfix
ehlo localhost
250-localhost.localdomain
250-PIPELINING
250-SIZE 10240000
250-VRFY
250-ETRN
250-AUTH LOGIN PLAIN OTP
250-AUTH=LOGIN PLAIN OTP
250-XVERP
250 8BITMIME
auth login
334 VXNlcm5hbWU6
dGVzdGVy -->username: tester(用printf 'tester' | mmencode取得。)
334 UGFzc3dvcmQ6
dGVzdHB3 -->password: testpw
235 Authentication successful
quit
221 Bye
Connection closed by foreign host.
[root@localhost postfix]#