postfix+mysql+dovecot郵件平臺

 本文主要介紹了POSTFIX+MYSQL+DOVECOT如何整合在一起,進行郵件的收發
實驗環境 linux rhel6.0

首先創建postfix的庫,建立一個表
4個元素           userid      password     domain      maibox
插入一個數據項 [email protected]    test      westos.org   westos.org/test/
service  postfix start
  useradd -­u 600 ­-s /sbin/nologin vmail
• postconf ­-e virtual_mailbox_base=/home/vmail
• postconf -­e virtual_uid_maps=static:600
• postconf ­-e virtual_gid_maps=static:600
• 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

新建三個文件
1 /etc/postfix/mysql-alias.cf

  1. user = vmail 
  2. password = vmail 
  3. dbname = postfix 
  4. table = users 
  5. select_field = userid 
  6. where_field = userid 




2 /etc/postfix/mysql-domains.cf

  1. user = vmail 
  2. password = vmail 
  3. dbname = postfix 
  4. table = users 
  5. select_field = domain 
  6. where_field = domain 


3/etc/postfix/mysql-mailboxs.cf

  1. user = vmail 
  2. password = vmail 
  3. dbname = postfix 
  4. table = users 
  5. select_field = mailbox 
  6. where_field = userid 


* 在mysql中給vmail用戶權限
 grant all on postfix.* to vmail@localhost identified by 'vmail';
 

測試
postmap -­q [email protected]” mysql:/etc/postfix/mysql-­alias.cf
postmap ­-q “westos.org” mysql:/etc/postfix/mysql-­domains.cf
postmap ­-q [email protected]” mysql:/etc/postfix/mysql-­mailboxs.cf
service postfix restart
 mail [email protected]
之後在/home/vmail/下自己會建立文件夾

至此已可以把郵件收到服務器上的mailbox
之後要用戶收到郵件要用dovecot,dovecot是用來收郵件的
配置dovecot
yum install dovecot dovecot-mysql -y
/etc/dovecot/conf.d/10-mail.conf  下改兩項
           mail_location = maildir:/home/vmail/%d/%n
           first_valid_uid = 600
10-auth.conf中的第二個include的註釋去掉
cp /usr/share/doc/dovecot-2.0/example.config/dovecot-sql.conf.ext /etc/dovecot
vi /etc/dovecot/dovecot-sql.conf.ext
 

  1. driver = mysql 
  2. ...  
  3. connect = host=localhost dbname=postfix user=vmail 
  4. password=vmail 
  5. ...  
  6. default_pass_scheme = PLAIN (明文加密)  
  7. ...  
  8. passwd_query = \  
  9.    SELECT userid, domain, password \  
  10.    FROM users WHERE userid = '%u' 
  11. ...  
  12. user_query = SELECT mailbox, 600 AS uid,600 AS gid FROM users WHERE userid = '%u' 

重啓dovecot
測試
 telnet localhost 110
user test@westos.org
pass test
list
 

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章