设为首页 收藏本站
查看: 1410|回复: 0

[经验分享] Postfix 配置完全版

[复制链接]

尚未签到

发表于 2015-11-24 10:44:34 | 显示全部楼层 |阅读模式
Postfix 配置完全版

转自:http://my.donews.com/ipv6ok/2006/09/25/tcqxenlfmffcedqxlknetulitwsumvuugcgr/


  对配置者的要求
  1.       Llinux有基本的认识,会一些基本的操作,如vi
  2.       mail的一些基本原理要有个基本认识,如知道什么是MTA,知道 DNSmail的关系。
  3.       MYSQL有些基本的认识,最简单的是知道如何备份还原。在此文档中主要提及postfix的配置,和一些基本的维护方法。
    配置环境 centos4.3 由于全部软件是源码安装的,我想在一些比较新的linux/unix/bsd上略修改一下目录也可以用。
            Ccentos4.3只安装了开发工具,系统语言为英文,但是也安装了中文语言包。其他都没有选取。Selinuxdisable.
   公司内有一DNS服务器,已配置了为mail准备的域名。(注意的是虚拟域也要做啊)
  其他说明:文档最近更新2006924
            软件是在2006921日下载的
  我会把一些功能分开文档来写,先配置一个可用的比较基本的mail系统,然后再其他文档相应的一些附加功能,一是维护方便,二是方便大家有所选择。
  版权没有@随便COPY
请在转贴时保留作者信息,这是对我花大量精力写这文档的一种基本的尊重,谢谢!
计划补充SMTP认证; 反垃圾反病毒;webmail;
  相关软件说明
  因为要用postfixadmin来管理postfix的虚拟域和帐号,所以要安装apache了,我们用的postfixadminphp做的,那php也是一定要的了。帐号用系统帐号不方便也不安全,我们把它存在数据库中,(要是要搞个pureftp也可以这样)推荐用Mysql
上面的工具准备好了,要到我们的主角上场了,最近比较流行的MTApostfix , 但是它只是一个smtp server啊,要配置完整的mail还要有个pop3/imap,在这里我选择了dovecot.原因是比较新,更重要的是,它有很多安全配置功能。
  很多C/S的协议是没有验证能力的,或者说验证能力很弱。所以我们要找个专业的加强用户验证功能的软件,这个软件就是 Cyrus SASL即简单的认证机制。在网上用LDAP的人也很多,因为公司网络没有其他要用LDAP认证的,所以我没有用这个,以后会出现在补充文档里。不明白这个软件吗?请看下面的示意图:
  SASL 密码加密库 认证算法=== > smtp client
  下载地址
  Apache 最强的web服务器,不用多说。
  官方主页: http://www.apache.org
  httpd-2.2.3.tar.gz
    Php   linux下流行的网页编写语言。、
  官方主页: http://www.php.net
  php-5.1.6.tar.bz2
    Mysql   轻便免费的数据库软件
  官方主页: http://www.mysql.org
  MySQL-standard-5.0.24a-0.rhel4.src.rpm  因为考虑到兼容性,我选择了这个下载。
      PostfixAdmin 一个用php写的用来管理postfix的域和帐号的软件。
官方主页: http://www.postfixadmin.com
postfixadmin-2.1.0.tgz
    Dovecot  安全的pop3/imap软件。
  官方主页: http://www.dovecot.org
  dovecot-1.0.rc7.tar.gz
    Cyrus SASL  第三方加强认证功能的软件
  官主主页 http://cyrusimap.web.cmu.edu
  cyrus-sasl-2.1.22.tar.gz
    官方主页:
  Postfix   目前主流的MTA
  官方主页:http://www.postfix.org
  postfix-2.3.3.tar.gz
    基本安装
我把所有软件都放在了/root根下面,你可选择放在其他的位置。
  [iyunv@mail ~]# ll
  total 57332
  -rw-r–r–   1 root  root        1221 Aug  1 10:23 anaconda-ks.cfg
  drwxrwxrwx  18 90488 wheel       4096 Sep 22 10:03 cyrus-sasl-2.1.22
  -rw-r–r–   1 root  root     1609278 Sep 21 09:29 cyrus-sasl-2.1.22.tar.gz
  drwxrwsrwx   4  1000    1000     4096 Sep 22 13:52 dovecot-1.0.rc7
  -rw-r–r–   1 root  root     1273427 Sep 23  2006 dovecot-1.0.rc7.tar.gz
  drwxr-xr-x  12 mysql pegasus     4096 Sep 21 15:39 httpd-2.2.3
  -rw-r–r–   1 root  root     6342475 Sep 20 14:59 httpd-2.2.3.tar.gz
  -rw-r–r–   1 root  root       49848 Aug  1 10:23 install.log
  -rw-r–r–   1 root  root        3368 Aug  1 10:23 install.log.syslog
  drwxrwxrwx  38   503 users       4096 Sep 21 15:11 mysql-5.0.24a
  -rw-r–r–   1 root  root    19993102 Aug 26 17:58 mysql-5.0.24a.tar.gz
  -rw-r–r–   1 root  root    19826366 Sep 21 09:58 MySQL-standard-5.0.24a-0.rhel4.src.rpm
  drwxr-xr-x  18  1002    1002     4096 Sep 22 09:07 php-5.1.6
  -rw-r–r–   1 root  root     6454408 Sep 20 15:25 php-5.1.6.tar.bz2
  drwxr-xr-x  16  1001 wheel       4096 Sep 22 11:43 postfix-2.3.3
  -rw-r–r–   1 root  root     2777045 Sep 20 15:06 postfix-2.3.3.tar.gz
  drwxr-xr-x   9   501 mysql       4096 Jan  7  2005 postfixadmin-2.1.0
  -rw-r–r–   1 root  root      160525 Sep 21 09:37 postfixadmin-2.1.0.tgz
  [iyunv@mail ~]#chkconfig –level 3 iptables off
  为了方便测试我先把iptables关了,以后再来慢慢写规则
    ————————————–安装apapche——————————————
  [iyunv@mail ~]# tar xzvf httpd-2.2.3.tar.gz    //解压到当前目录
  [iyunv@mail ~]# cd httpd-2.2.3            // 进入安装目录
  [iyunv@mail httpd-2.2.3]# mkdir /usr/local/apache  //新建安装目录
    [iyunv@mail httpd-2.2.3]# ./configure –prefix=/usr/local/apache /  //指定安装目录
  >–enable-rewrite=shared /  //编译rewrite_module模块否则不能正常加载最新的php模块
  >–enable-speling=shared    //同上
  >–enable-module=so       //编译模块     
  [iyunv@mail httpd-2.2.3]# make && make install   //编译安装apache
    [iyunv@mail httpd-2.2.3]# cp /usr/local/apache/bin/apachectl /etc/init.d/httpd   //复制启动文件
    [iyunv@mail httpd-2.2.3]# /etc/init.d/httpd start       //这样就可以启动了,够简单吧
  打开你的网页浏览器去测试吧。要是正常的话就可以显示了。
  —————————————-end———————————————————-
    —————————————mysql——————————————————
  [iyunv@mail ~]# rpm -ivh MySQL-standard-5.0.24a-0.rhel4.src.rpm  //安装sql源代码
  [iyunv@mail ~]# ll /usr/src/redhat/SOURCES/              //哈,原来安装到这了      
  total 19556
  -rw-r–r–  1 root root 19993102 Aug 26 17:58 mysql-5.0.24a.tar.gz
  [iyunv@mail ~]# cp /usr/src/redhat/SOURCES/mysql-5.0.24a.tar.gz .  //把它复制过来先
  [iyunv@mail ~]# tar xzvf mysql-5.0.24a.tar.gz              //还是解压
  [iyunv@mail ~]# cd mysql-5.0.24a                     //进入安装目录
  [iyunv@mail mysql-5.0.24a]#mkdir /usr/local/mysql     //新建安装目录
  [iyunv@mail mysql-5.0.24a]# groupadd mysql      //添加运行mysql的组
  [iyunv@mail mysql-5.0.24a]# useradd -g mysql mysql  //添加运行mysql的用户并加入到组
  [iyunv@mail mysql-5.0.24a]#./configure –prefix=/usr/local/mysql  //指定安装目录
  [iyunv@mail mysql-5.0.24a]#make && make install              //编译安装
  [iyunv@mail mysql-5.0.24a]# cp support-files/my-medium.cnf  /etc/my.cnf   //复制配置文件
  [iyunv@mail mysql-5.0.24a]# cp support-files/mysql.server  /etc/rc.d/init.d/mysqld
//复制启动脚本,这样比较方便管理
[iyunv@mail mysql-5.0.24a]# chmod 700 /etc/init.d/mysqld   //添加执行权限
  [iyunv@mail mysql-5.0.24a]# cd /usr/local/mysql             //进入sql安装目录
  [iyunv@mail mysql]# bin/mysql_install_db –user=mysql  //初始化mysql
  安全设置
[iyunv@mail mysql]# chown -R root  .  //修改文件所有者.注意对像为/usr/local/mysql目录。
  [iyunv@mail mysql]# chown -R mysql var //当前目录下的var目录所有者改为mysql
  [iyunv@mail mysql]# chgrp -R mysql .  //当前目录下所有目录所有者组改为mysql
  最后权限看起来要是这样的
  [iyunv@mail mysql]# ll
  total 80
  drwxr-xr-x  2 root  mysql 4096 Sep 21 16:38 bin
  drwxr-xr-x  3 root  mysql 4096 Sep 21 16:37 include
  drwxr-xr-x  2 root  mysql 4096 Sep 21 16:37 info
  drwxr-xr-x  3 root  mysql 4096 Sep 21 16:37 lib
  drwxr-xr-x  2 root  mysql 4096 Sep 21 16:39 libexec
  drwxr-xr-x  3 root  mysql 4096 Sep 21 16:38 man
  drwxr-xr-x  7 root  mysql 4096 Sep 21 16:39 mysql-test
  drwxr-xr-x  3 root  mysql 4096 Sep 21 16:38 share
  drwxr-xr-x  5 root  mysql 4096 Sep 21 16:38 sql-bench
  drwx——  5 mysql mysql 4096 Sep 22 14:39 var
  测试mysql
[iyunv@mail mysql]# /usr/local/mysql/bin/mysqld_safe –user=mysql &
  要是正常的话会显示mysqld ended
  现在可以用/etc/init.d/mysqld start 来启动mysql了。
  推荐设置:
因为我们是源码安装,有时安装其他关连软件的时候常提示找不到??文件,
  我们可以把mysql的库文件的路径加到系统的sehll中,这样可以大大减少安装软件的错误。方法如下:
  [iyunv@mail mysql]# PATH=$PATH:/usr/local/mysql/bin
  [iyunv@mail mysql]# export PATH
[iyunv@mail mysql]# echo ”/usr/local/mysql/lib/mysql” >> /etc/ld.so.conf
[iyunv@mail mysql]# ldconfig&

  为了方便的用mysqladmin命令来管理mysql我们来做个链接;
  [iyunv@mail mysql]#ln -s /usr/local/mysql/bin/mysql /sbin/mysql
[iyunv@mail mysql]#ln -s /usr/local/mysql/bin/mysqladmin /sbin/mysqladmin
Mysql默认安装的管理员是空口令,这个当然要改了。
  [iyunv@mail mysql]#mysqladmin password  ’新的mysql口令
  默认的情况下mysql只能本地登陆不能从网络登陆,为了使用一些windows下的mysql管理工具,我们有必要增加一个管理员来远程连接到mysql;方法如下:
  [iyunv@mail mysql-5.0.24a]# mysql -u root -p
  Enter password:
  Welcome to the MySQL monitor.  Commands end with ; or /g.
  Your MySQL connection id is 72 to server version: 5.0.24a-log
  Type ‘help;’ or ‘/h’ for help. Type ‘/c’ to clear the buffer.
    mysql>grant all on *.* to remoteadmin@’%’ identified by ‘远程管理员口令
  mysql>with grant option;
  ——————————————-php——————————————————-
  [iyunv@mail ~]# tar xjvf php-5.1.6.tar.bz2        //解压,注意z换成了j, 因格式不同
  [iyunv@mail ~]# cd php-5.1.6                 //进入安装目录
  [iyunv@mail php-5.1.6]#mkdir /usr/local/php     //新建安装目录
  [iyunv@mail php-5.1.6]# ./configure  –prefix=/usr/local/php /
  > –with-mysql=/usr/local/mysql/  /               
  >–with-apxs2=/usr/local/apache/bin/apxs   
  [iyunv@mail php-5.1.6]#make && make install                    
  [iyunv@mail php-5.1.6]# cp php.ini-dist /usr/local/lib/php.ini           //复制php配置文件
  [iyunv@mail php-5.1.6]# cat /usr/local/apache/conf/httpd.conf | grep libphp5.so //是否加载模块
  LoadModule php5_module        modules/libphp5.so
  要是有结果返回的话,我们的php模块就已加载了。要是没有的话请用下面的命令加载。
  [iyunv@mail php-5.1.6]# echo “LoadModule php5_module        modules/libphp5.so” >> /usr/local/apache/conf/httpd.conf   
  [iyunv@mail php-5.1.6]#vi /usr/local/apache/conf/httpd.conf
  在317行左右加入这两行,让apache支持php
  AddType application/x-httpd-php .php .phtml
  AddType application/x-httpd-php-source .phps
  保存退出就行了。
  至此,php配置完毕!下面我们来配置postfixadmin
  ——————————————————–end———————————————————-
    —————————————–postfixadmin————————————————————-
  [iyunv@mail ~]# mkdir /var/www                    //建立postfixadmin存放目录
  [iyunv@mail ~]#cd /var/www
  [iyunv@mail www]# tar xzvf /root/postfixadmin-2.1.0.tgz   //解压到当前目录
  [iyunv@mail www]# ln -s postfixadmin-2.1.0/ postfixadmin   //做个连接
  [iyunv@mail www]# chown -R daemon:daemon postfixadmin-2.1.0/  //修改所有者为httpd用户
  [iyunv@mail www]#cd postfixadmin
  [iyunv@mail postfixadmin]#chmod 640 admin/*.php       //设置权限增加安全性
  [iyunv@mail postfixadmin]#chmod 640 images / *.png
  [iyunv@mail postfixadmin]#chmod 640 languages/*.lang
  [iyunv@mail postfixadmin]#chmod 640 templates/*.tpl
  [iyunv@mail postfixadmin]#chmod 640 users/ *.php
  [iyunv@mail postfixadmin]#mysql -u root –p123456 DATABASE_MYSQL.TXT //导入数据库当然了,实际中我的sql的密码不可能是123456而是标准的强密码。
  [iyunv@mail postfixadmin]#cp config.inc.php.sample config.inc.php   //复制配置文件
  [iyunv@mail postfixadmin]#vi config.inc.php
  找这行$CONF['default_language'] = ‘en’;
  改为$CONF['default_language'] = ‘cn’;               //postfixadmin 支持中文
  找到 $CONF['domain_in_mailbox'] = ‘YES’;
  改为$CONF['domain_in_mailbox'] = ‘NO’;              // If you don’t want to have the domain in your mailbox set this to ‘NO’.
   [iyunv@mail postfixadmin]# mv motd-admin.txt motd-admin.txt.move //删除烦人的提示,当然喽,你也可以自已写一些说明性的文字!
   [iyunv@mail postfixadmin]#vi  /usr/local/apache/conf/httpd.conf
  在110行左右加入以下内容,加强安全性,要不每个人不经认证都可以用postfixadmn了!
      Options FollowSymLinks
   DirectoryIndex  index.php
    AllowOverride None
AuthType Basic
authname Private
authuserfile /var/phpaccess/tony
require valid-user
  Order allow,deny
    Allow from all
    注意tony是我的密码档文件名。
  [iyunv@mail postfixadmin]#mkdir /var/phpaccess
  ouch /var/phpaccess/tony
  [iyunv@mail postfixadmin]#cd /var/phpaccess/
  [iyunv@mail phpaccess]# /usr/local/apache/bin/htpasswd -c tony jim  //添加用户jim
  New password:
  Re-type new password:
  Adding password for user tony
  [iyunv@mail phpaccess]#
  然后我们就可以打开网页浏览器来访问了
  Http://youip/postfixadmn/admin  
  至此postfixadmin配置完毕。在这里我推荐对mysql比较了解的人更改默认的postfix连接密码!默认数据名为postfix,用户名密码都是postfix!!!!
  ——————————————-end———————————————————
  关于解压不在重复
    ————————————-cyrus-sasl-2.1.22———————————————-
  [iyunv@mail cyrus-sasl-2.1.22]# rpm -qa | grep cyr               //查看是否安装了cyrus
  cyrus-sasl-2.1.19-5.EL4
  cyrus-sasl-devel-2.1.19-5.EL4
  cyrus-sasl-md5-2.1.19-5.EL4
  cyrus-sasl-plain-2.1.19-5.EL4
  [iyunv@mail cyrus-sasl-2.1.22]# mv /usr/lib/sasl /usr/lib/sasl.off
  [iyunv@mail cyrus-sasl-2.1.22]# mv /usr/lib/sasl2 /usr/lib/sasl2.off
  [iyunv@mailcyrus-sasl-2.1.22]#./config –enable-login –enable-sql –with-mysql=/usr/local/mysql/
  [iyunv@mailcyrus-sasl-2.1.22]#make && make install
  安装后提示
  ********************************************************
  * WARNING:
  * Plugins are being installed into /usr/local/lib/sasl2,
  * but the library will look for them in /usr/lib/sasl2.
  * You need to make sure that the plugins will eventually
  * be in /usr/lib/sasl2
  所以要做个ln
  ln -s /usr/local/lib/sasl2 /usr/lib/sasl2
  为了让postfix找到sasl
  [iyunv@mail cyrus-sasl-2.1.22]# echo “/usr/local/lib” >> /etc/ld.so.conf
  至此安装完毕
  —————————————————-end————————————————————–
    ——————————————postfix——————————————————————–
    删除原来的sendmail
  [iyunv@mail postfix-2.3.3]# /etc/init.d/sendmail stop
  [iyunv@mail postfix-2.3.3]# chkconfig –level 0123456 sendmail off
  [iyunv@mail postfix-2.3.3]# mv /usr/bin/newaliases /usr/bin/newaliases.orig
  [iyunv@mail postfix-2.3.3]# mv /usr/bin/mailq /usr/bin/mailq.orig
  [iyunv@mail postfix-2.3.3]# mv /usr/sbin/sendmail /usr/sbin/sendmail.orig
  [iyunv@mail postfix-2.3.3]#chkconfig –level 3 sendmail off
  要开始安装我们的postfix
  [iyunv@mail postfix-2.3.3]# groupadd -g 12345 postfix
  [iyunv@mail postfix-2.3.3]# useradd -u 12345 -g 12345 -c postfix -d /dev/null -s /bin/false  postfix
  [iyunv@mail postfix-2.3.3]# groupadd -g 54321 postdrop
  验证postfix用户的uidgid
  [iyunv@mail postfix-2.3.3]# id postfix
  uid=12345(postfix) gid=12345(postfix) groups=12345(postfix)
  准备加入mysqlsasl的支持(注意rpm安装的postfix默认是不支持mysql的)
  [iyunv@mail postfix-2.3.3]# make -f Makefile.init makefiles /
  >CCARGS=-DHAS_MYSQL -I/usr/local/mysql/include/mysql -DUSE_SASL_AUTH -DUSE_CYRUS_SASL -I/usr/local/include/sasl’  /
  >’AUXLIBS=-L/usr/local/mysql/lib/mysql -lmysqlclient -lz -lm -L/usr/local/lib -lsasl2′
  [iyunv@mail postfix-2.3.3]#make install   //安装mysql,然后有提示的时候一路确定即可
  如果/etc/aliases文件不存在,请用如下命令创建:
[iyunv@mail postfix-2.3.3]
# echo postfix: root >>/etc/aliases
[iyunv@mail postfix-2.3.3]# /usr/bin/newaliases
然后我们可以用postfix start 来启动postfix了,用postfix reload 来得新加载配置文件;

  —————————————————-end————————————————————–
      ——————————————————postfix配置————————————————-
[iyunv@mail postfix-2.3.3]# cd /etc/postfix
[iyunv@mail postfix]# vi main.cf         //你可以先备份一下配置文件
先修改一些基本的参数
myhostname = mail     //修改为你的主机名,重要!
mydomain = mail.com    //你域名,注意这里非虚拟域的域名,我的虚拟域名为mail2.com
myorigin = $mydomain
inet_interfaces = all
mydestination = $myhostname, localhost.$mydomain, localhost, $mydomain
以上基本的配置,你可以在配置文件中任意处加入,也可以简单的去掉原来的#号,然后根据自己的情况来修改之,接下来我来配置postfix来支持虚拟域。

  virtual_mailbox_base = /var/mailbox   //虚拟用户邮件存放目录,这个一会再新建
virtual_mailbox_maps = mysql:/etc/postfix/mysql/mysql_virtual_mailbox_maps.cf
virtual_mailbox_domains = mysql:/etc/postfix/mysql/mysql_virtual_domains_maps.cf
virtual_alias_maps = mysql:/etc/postfix/mysql/mysql_virtual_alias_maps.cf
virtual_uid_maps = static:12345  //注意这就是我们postfix用户的uid
virtual_gid_maps = static:12345
virtual_transport = virtual   

  #——————quota—–
message_size_limit = 14336000     //附件最大10M,大约是这样
virtual_create_maildirsize = yes
virtual_mailbox_extended = yes
virtual_mailbox_limit_maps = mysql:/etc/postfix/mysql_virtual_mailbox_limit_maps.cf

  virtual_mailbox_limit_override = yes
virtual_maildir_limit_message = Sorry, the user’s maildir has overdrawn his diskspace quota, please try again later.
virtual_overquota_bounce = yes

  #SASL这个下一个文档再来配置
保存退出,然后就来建几个文件,用来让postfix知道如何连到mysql查询虚拟用户信息
[iyunv@mail postfix]# mkdir mysql
[iyunv@mail postfix]#cd mysql
[iyunv@mail mysql]#vi mysql_virtual_alias_maps.cf
user = postfix
password = postfix
hosts = localhost
dbname = postfix
query = SELECT goto FROM alias WHERE address=’%s’ AND active = 1
[iyunv@mail mysql]#vi mysql_virtual_domains_maps.cf
user = postfix
password = postfix
hosts = localhost
dbname = postfix
query = SELECT domain FROM domain WHERE domain=’%s’
[iyunv@mail mysql]#vi mysql_virtual_mailbox_maps.cf
user = postfix
password = postfix
hosts = localhost
dbname = postfix
query = SELECT maildir FROM mailbox WHERE username=’%s’ AND active = 1
[iyunv@mail mysql]#vi  mysql_virtual_mailbox_limit_maps.cf
user = postfix
password = postfix
hosts = localhost
dbname = postfix
query = SELECT quota FROM mailbox WHERE username=’%s’
[iyunv@mail mysql]# mkdir   /var/mailbox/               //建立我们虚拟用户的邮箱目录
[iyunv@mail mysql]#chown -R postfix.postfix  /var/mailbox/  
下面我们来配置smtpd.conf,因为想应用sasl就要配置这个文件,否则postfix将不能应用sasl!!
[iyunv@mail postfix]# vi /usr/local/lib/sasl2/smtpd.conf
pwcheck_method: auxprop
auxprop_plugin: sql
mech_list: plain login
sql_engine: mysql
sql_hostnames: localhost
sql_user: postfix
sql_passwd: postfix
sql_database: postfix
sql_select: SELECT password FROM mailbox WHERE username=’%u@%r’ and domain=’%r’ and active=’1′
记得保存退出
现在我们可以用postfix start来启动我们的postfix
测度postfix
[iyunv@mail postfix]# telnet localhost 25   
Trying 127.0.0.1…
Connected to localhost.localdomain (127.0.0.1).
Escape character is ‘^]’.
220 mail ESMTP Postfix      
ctrl+c退出好了。         
——————————————————-end———————————————————-

  ——————————————dovecot—————————————————————–
[iyunv@mail dovecot-1.0.rc7]# ./configure  –with-mysql   //加入sql的支持
[iyunv@mail dovecot-1.0.rc7]# useradd -d /dev/null -s /bin/false  dovecot  //添加运行用户
[iyunv@mail dovecot-1.0.rc7]#make && make install
安装就是这么简单,下面来复制配置所要的配置文件
[iyunv@mail dovecot-1.0.rc7]# cp dovecot-example.conf  /usr/local/etc/dovecot.conf
[iyunv@mail dovecot-1.0.rc7]# cp doc/dovecot-sql.conf /usr/local/etc/
[iyunv@mail dovecot-1.0.rc7]# cd /usr/local/etc/
[iyunv@mail etc]#vi dovecot.conf  //注意我的习惯是在配置文件里找到配置,然后去掉#号,读英文说明,再根据实际情况修改,但很多人很NB,就直接写一个,呵,我不行。
因为公司不用imap所以在这里我没有用,但会在后面的文档加入这个;大家可以在配置文件里找到相应的行,然后再修改。我的改动如下:
protocols =  pop3
listen = *
disable_plaintext_auth = no
ssl_disable = yes

  default_mail_env = maildir:/var/mailbox/%d/%n
first_valid_uid = 12345
pop3_uidl_format =%v.%u
mechanisms = plain login digest-md5 cram-md5
passdb sql {
    # Path for SQL configuration file, see doc/dovecot-sql.conf for example
    args =/usr/local/etc/dovecot-sql.conf
  }
userdb sql {
    # Path for SQL configuration file, see doc/dovecot-sql.conf for example
    args =/usr/local/etc/dovecot-sql.conf
  }
userdb prefetch {
  }
最后我们配置一下dovecot-sql.conf
[iyunv@mail etc]# vi dovecot-sql.conf
driver =mysql
connect = host=localhost dbname=postfix user=postfix password=postfix
default_pass_scheme = CRYPT
password_query = SELECT  password, maildir as userdb_home, 12345 as userdb_uid, 12345 as userdb_gid FROM mailbox WHERE userna
me = ‘%u’
以后的配置都可以在配置文件里找到,我们只要去掉#号略修改一下就可以了。配置对mysql的支持,这里很重要,要是这里出错了dovecot将不能正常启动;
现在你可以用dovecot来启动dovecot.要注意的是,dovecto每当修改了配置文件后要重新启动的话,你只能用ps –aux | grep dovedot找到进程IDkill之。
测试:我们用postfixadmin来新建域mail2.com;并添加一测试用户google密码为123
在这里有个要特别要注意的地方,在客户端outlook设置的时候,帐号名为google@mail2.com
而不是google!!!!
[iyunv@mail etc]# telnet localhost 110                                                                     
Trying 127.0.0.1…
Connected to localhost.localdomain (127.0.0.1).
Escape character is ‘^]’.
+OK Dovecot ready.
user google@mail2.com
+OK
pass 123
+OK Logged in.
list     
+OK 0 messages:
.
quit
+OK Logging out.
Connection closed by foreign host.
[iyunv@mail etc]#
——————————————————end———————————————————-

  至此全部配置完毕,启动所有服务,httpd,mysqld,postfix,dovecot,就OK了。我会在国庆内加入其他的内容。谢谢!





















运维网声明 1、欢迎大家加入本站运维交流群:群②:261659950 群⑤:202807635 群⑦870801961 群⑧679858003
2、本站所有主题由该帖子作者发表,该帖子作者与运维网享有帖子相关版权
3、所有作品的著作权均归原作者享有,请您和我们一样尊重他人的著作权等合法权益。如果您对作品感到满意,请购买正版
4、禁止制作、复制、发布和传播具有反动、淫秽、色情、暴力、凶杀等内容的信息,一经发现立即删除。若您因此触犯法律,一切后果自负,我们对此不承担任何责任
5、所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其内容的准确性、可靠性、正当性、安全性、合法性等负责,亦不承担任何法律责任
6、所有作品仅供您个人学习、研究或欣赏,不得用于商业或者其他用途,否则,一切后果均由您自己承担,我们对此不承担任何法律责任
7、如涉及侵犯版权等问题,请您及时通知我们,我们将立即采取措施予以解决
8、联系人Email:admin@iyunv.com 网址:www.yunweiku.com

所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其承担任何法律责任,如涉及侵犯版权等问题,请您及时通知我们,我们将立即处理,联系人Email:kefu@iyunv.com,QQ:1061981298 本贴地址:https://www.yunweiku.com/thread-142996-1-1.html 上篇帖子: CentOS 5.6+Postfix+LDAP(虚拟域)+ExtMail+BIND9+Dovecot 下篇帖子: 解決Postfix被gmail退信問題
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

扫码加入运维网微信交流群X

扫码加入运维网微信交流群

扫描二维码加入运维网微信交流群,最新一手资源尽在官方微信交流群!快快加入我们吧...

扫描微信二维码查看详情

客服E-mail:kefu@iyunv.com 客服QQ:1061981298


QQ群⑦:运维网交流群⑦ QQ群⑧:运维网交流群⑧ k8s群:运维网kubernetes交流群


提醒:禁止发布任何违反国家法律、法规的言论与图片等内容;本站内容均来自个人观点与网络等信息,非本站认同之观点.


本站大部分资源是网友从网上搜集分享而来,其版权均归原作者及其网站所有,我们尊重他人的合法权益,如有内容侵犯您的合法权益,请及时与我们联系进行核实删除!



合作伙伴: 青云cloud

快速回复 返回顶部 返回列表