Chinaunix首页 | 论坛 | 博客
  • 博客访问: 132018
  • 博文数量: 35
  • 博客积分: 692
  • 博客等级: 上士
  • 技术积分: 317
  • 用 户 组: 普通用户
  • 注册时间: 2011-03-22 16:40
文章分类
文章存档

2014年(2)

2012年(4)

2011年(29)

分类: LINUX

2011-10-28 17:26:44

p { margin-bottom: 0.08in; }a:link { }

                                                                postfix+mysql

一 安装与设置mysql

#yum install mysql mysql-server -y

#service mysqld start

#mysqladmin -u root password linux

#service httpd start

使用phpMyAdmin软件登录,并建立新数据库和新表

数据库名:linuxsql

数据表名:linuxtable

拥有字段: username VARCHAR 25 //指定用户名

password VARCHAR 25 //指定密码

domain VARCHAR 30 //指定域

mailbox VARCHAR 30 //指定邮箱

点击执行,保存

点击linuxtable,点击右上方的“插入”,在该表中插入数据如下

username      

password        user

domain           linux.org

mailbox          linux.org/user/                           加“/”表明邮箱为一个目录;不加,表明邮箱为一个文件


如此,数据库方面已经建立好了哟!


二 建立虚拟用户

# mysql -uroot -plinux

>grant all on linuxsql.* to identified by 'vmail' ; //设置vmail虚拟用户及其密码

>flush privileges;

>quit ;

以上即为虚拟用户授予管理linuxsql数据库的权限


登录mysql,检测以下

# mysql -uvmail -pvmail

>show databases;

>use linuxsql;

>show tables ;

>select * from linuxtable;

>quit;


三 设置postfix

# useradd -u 600 -s /bin/false email                     //建立一个用户

#postconf -n                           //查看已有的postfix设置

链接mysql数据库设置

#postconf -e virtual_mailbox_base=/home/email/                    //虚拟邮箱放置目录

#postconf -e virtual_uid_maps=static:600

#postconf -e virtual_gid_maps=static:600

以上设置,均与email用户相关,明白为何要建立email用户了吧!!!


#postconf -e virtual_alias_maps=mysql:/etc/postfix/mysql-alias.cf

#postconf -e virtual_mailbox_domains=mysql:/etc/postfix/mysql-domains.cf

#postconf -e virtual_mailbox_maps=mysql:/etc/postfix/mysql-mailboxs.cf

注:此处的mysql-alias.cf mysql-domains.cf mysql-mailboxs.cf 均为自定义,用户可取其他名称,但需以“.cf”结尾

#postconf -n                           //看看是否加入了设置

现在我们就去创建并设置mysql-alias.cf mysql-domains.cf mysql-mailboxs.cf的内容吧!

#cd /etc/postfix

#vi mysql-alias.cf

内容如下:

hosts = localhost                                  //此为默认值,可省略!

user = vmail                                         //使用虚拟用户的身份进行对数据库及数据表的管理

password = vmail                               //这就是设置虚拟用户的原因,明白了吧!

dbname = linuxsql                             //指定可查看的数据库

table = linuxtable                               //指定该库下可查看的数据表

select_field = username                   //查看的数据表中的字段

where_field = username


#vi mysql-domains.cf

内容如下:

hosts = localhost

user = vmail

password = vmail

dbname = linuxsql

table = linuxtable

select_field = domain

where_field = domain


#vi mysql-mailboxs.cf

内容如下:

hosts = localhost

user = vmail

password = vmail

dbname = linuxsql

table = linuxtable

select_field = mailbox

where_field = username


如此,设置完毕了,重启服务,发邮件检测一下下

#/etc/init.d/postfix restart

重启后,检测以下设置文件是否正确

#postmap -q “” mysql:/etc/postfix/mysql-alias.cf

#postmap -q “” mysql:/etc/postfix/mysql-mailboxs.cf

linux.org/user/

#postmap -q “linux.org” mysql:/etc/postfix/mysql-domains.cf

linux.org


以上显示的,均为设置文件中指定的查询字段


没错了,去邮箱目录看看!

# cd /home/email/

#ls

发现为空,怎么回事啊?原来数据库中的用户并没有接收的邮件,系统并为给数据库中的用户建立邮箱,当用户有接收的邮件时,系统会自动建立其邮箱.那我们就给数据库用户发封邮件吧!


# mail //注:此处对应数据库中的username字段

Subject: welcome

hello, i did it!

.                            //符号“ . ”表示邮件结束,英文中的句号

EOT


接下来,让我们到虚拟用户目录中看看吧!

# ls

linux.org

#cd linux.org

user

#cd user

#ls

cur new tmp

# cd new

#ls //邮件即放于new目录中,看到了吗?打开自己看看吧!

1319746109.Vfd01I26M854651.desktop20.example.com


别忘了,还可以想数据表中继续添加数据哦!!!

阅读(2354) | 评论(0) | 转发(0) |
0

上一篇:vsftp扩展

下一篇:Linux杂记(2)

给主人留下些什么吧!~~