extmail(dovecot配置文件注释)

本地用户作为邮件账号
配置DNS,MX记录
1. 安装postfix
rpm -ivh postfix-2.3.3-2.1.el5_2.i386.rpm

修改postfix配置文件
vim /etc/postfix/main.cf
inet_interfaces = $myhostname, localhost
myhostname = mail.lx.com
mydomain = lx.com
mydestination = $myhostname, $mydomain, localhost
启动postfix
service postfix restart

2.安装dovecot
rpm -ivh dovecot-1.0.7-7.el5.i386.rpm
启动:service dovecot restart

3.测试:
telnet 方式收/发信测试
thunderbird
squirrelmail

4.实现虚拟域和虚拟用户:postfix+dovecot+mysql+extmail
创建本地用户和组,作为虚拟用户的映射,所有虚拟用户都映射成为vuser用户和vgroup组。
groupadd -g 1000 vgroup
useradd -u 1000 -g 1000 -M vuser
创建邮箱:mkdir /var/mailbox
chown vuser.vgroup /var/maiibox
[root@mail tmp]# grep -v "#" /etc/dovecot.conf | uniq

protocols = pop3 imap  //让dovecot支持pop3和imap4协议。
mail_location = maildir:/var/mailbox/%d/%n/Maildir   //设置邮箱路径及格式,%d为域名,%n为用户名,邮箱类似:/var/mailbox/up.com/abc/Maildir/{new,cur}

protocol imap {

}
protocol pop3 {

}

protocol lda {
  postmaster_address = [email protected]   //邮件管理员邮箱

}

auth default {
  mechanisms = plain login   //登录验证,明文验证

  passdb pam {
  }

  passdb sql {
    args = /etc/dovecot-sql.conf    //密码保存到mysql数据库中,使用数据库验证
  }

  userdb passwd {             
  }

  userdb sql {
    args = /etc/dovecot-sql.conf    //用户名保存到mysql数据库中
  }

  user = root

  socket listen {
    master {
      path = /var/run/dovecot/auth-master   //把dovecot当做MDA,postfix收到信后通过smtp交给dovecot,dovecot再把信放到邮箱里或者转发。
      mode = 0600
      user = vuser    //虚拟用户映射的系统账号名
      group = vgroup   //映射的组名
    }
    client {
    path = /var/spool/postfix/dovecot-auth    //postfix使用和dovecot一样的验证类型,
      mode = 0660
    user = postfix    此文件能让postfix用户具有读的权限,通过它来实现验证
    group = postfix
    }
  }
}
dict {
}
plugin {

}

[root@mail tmp]# grep -v '#' /etc/dovecot-sql.conf

driver =  mysql  //用户名和密码到mysql数据库里验证
connect = host=localhost dbname=extmail user=extmail password=extmail //指明mysql数据库的信息,extmail在后面安装extmail是会产生。
default_pass_scheme = CRYPT  //数据库里密码保存的方式(md5加密)
password_query = SELECT username, password FROM mailbox WHERE username = '%u'
user_query = SELECT maildir,uidnumber as uid, gidnumber as gid FROM mailbox WHERE username = '%u'

启动dovecot,有问题看日志/var/log/maillog

5.postfix的设置
为了使dovecot成为MDA,还需要修改master.cf和main.cf文件
vim master.cf修改如下
dovecot   unix  -       n       n       -       -       pipe
  flags=DRhu user=vuser:vgroup argv=/usr/libexec/dovecot/deliver -f ${sender} -d ${recipient}
注意user=vuser:vgroup,为映射的系统账号,及flags前面要有空格。

虚拟域和虚拟账号保存在mysql数据库里,为了使postfix支持mysql,需要升级postfix
rpm -Uvh postfix-2.5.9-5.ired.i386.rpm
使用postconf -m查看当前postfix是否支持mysql。

main.cf文件的设置:
smtpd_sasl_auth_enable=yes
smtpd_recipient_restrictions=permit_sasl_authenticated,permit_mynetworks,reject_unauth_destination

virtual_mailbox_domains = mysql:/etc/postfix/mysql_virtual_domains_maps.cf  //支持虚拟域,虚拟域保存到mysql里
virtual_mailbox_maps = mysql:/etc/postfix/mysql_virtual_mailbox_maps.cf  //邮箱账号保存在mysql里
virtual_alias_maps = mysql:/etc/postfix/mysql_virtual_alias_maps.cf   //支持邮箱别名

virtual_transport = dovecot   //使用dovecot作为虚拟域的MDA(dovecot在master.cf里定义的)
virtual_mailbox_base = /var/mailbox  //邮箱路径
dovecot_destination_recipient_limit = 1
smtpd_sasl_type = dovecot      //smtp认证和dovecot认证一样
smtpd_sasl_path = dovecot-auth  //postfix通过读取dovecot-auth这个套接字文件来认证
virtual_uid_maps = static:1000   //映射的系统账号的uid和gid
virtual_gid_maps = static:1000

6.安装apache、mysql

7. 安装ExtMail和extman实现webmail和邮件后台管理
yum install extsuite-webmail
cd /var/www/extsuite/extmail
cp webmail.cf.default webmail.cfc
vi webmail.cf
语言选项,可改作:
SYS_USER_LANG = zh_CN
此处即为您在前文所设置的用户邮件的存放目录,可改作:
SYS_MAILDIR_BASE = /var/mailbox/
SYS_MYSQL_USER = extmail
SYS_MYSQL_PASS = extmail
SYS_MYSQL_DB = extmail
chown -R vuser:vgroup /var/www/extsuite/extmail/cgi/

yum install extsuite-webman
vim /var/www/extsuite/extman/webman.cf
此处即为您在前文所设置的用户邮件的存放目录,可改作:
SYS_MAILDIR_BASE = /var/mailbox
SYS_SESS_DIR = /tmp/extman/
SYS_CAPTCHA_ON = 0   //不需要认证码
mkdir /tmp/extman
chown vuser.vgroup /tmp/extman -R
设置虚拟域和虚拟用户的配置文件
cp /var/www/extsuite/extman/docs/mysql_virtual_*.cf /etc/postfix/
chown -R vuser:vgroup /var/www/extsuite/extman/cgi/
导入mysql数据库结构及初始化数据
cd /var/www/extsuite/extman/docs
# mysql -u root -p <extmail.sql
# mysql -u root -p <init.sql

修改httpd.conf文件
NameVirtualHost *:80
Include conf/vhost_*.conf
vi /etc/httpd/conf/vhost_extmail.conf
< VirtualHost *:80>
ServerName mail.extmail.org
DocumentRoot /var/www/extsuite/extmail/html/

ScriptAlias /extmail/cgi/ /var/www/extsuite/extmail/cgi/
Alias /extmail /var/www/extsuite/extmail/html/

ScriptAlias /extman/cgi/ /var/www/extsuite/extman/cgi/
Alias /extman /var/www/extsuite/extman/html/

SuexecUserGroup vuser vgroup
< /VirtualHost>
service httpd restart

8. 访问及测试
http://mail.lx.com/extman
选择管理即可登入extman进行后台管理了。默认管理帐号为:[email protected]
密码为:extmail*123*
登录成功后创建虚拟域和虚拟用户
使用telnet登录25和110端口进行测试
perl -MMIME::Base64 -e 'print encode_base64("abc\@lx.com");'
perl -MMIME::Base64 -e 'print encode_base64("123");'

添加虚拟域和虚拟账号,如果不能创建邮箱需要在main.cf文件里注释
#mydestination
cd /var/www/extsuite/extmail/html/plugins/
vim rpc_init.js
6  //   "http://rpc-srv01.extmail.net/phprpc/rpc.php",
  7  //   "http://rpc-srv02.extmail.net/phprpc/rpc.php",
  8  //   "http://rpc-srv03.extmail.net/phprpc/rpc.php",
  //   "coolweather",
 13  //   "etnews",
 14  //   "chkupdate",
注释不用外网解析

9. extman图形日志:
/usr/local/mailgraph_ext/mailgraph-init start
/var/www/extsuite/extman/daemon/cmdserver --daemon
开机自启动:
# echo “/usr/local/mailgraph_ext/mailgraph-init start” >> /etc/rc.d/rc.local
显示系统信息
# echo “/var/www/extsuite/extman/daemon/cmdserver -v -d” >> /etc/rc.d/rc.local

你可能感兴趣的:(extmail(dovecot配置文件注释))