32412 发表于 2016-2-17 08:32:27

构建Postfix+Mysql+Dovecot邮件系统,实现以Web页面访问的功能、添加SASL认证以及TLS加密传输

Postfix邮件系统的组成及原理用到的主要协议和软件1. 邮件用户代理 (MUA)   MUA 是一个邮件系统的客户端程序,它提供了阅读、发送、和接受电子邮件的用户接口,是用户和 MTA 之间的接口。常用软件 Windows 下有 outlook 、 Foxmail等; Linux 下有 Thunderbird 、 Evolution 等 .MUA 至少具有如下 3 个功能:       a. 撰写邮件       b. 显示邮件       c. 处理邮件2. 邮件传输代理 (MTA)       MTA 主要用于存储和转发邮件,也可以说是邮件服务器软件的总称。常用软件:windows 下的 exchange,Linux 下 Sendmail 、 Postfix 、 Qmail 等;MTA 主要功能:       a. 接收和传递由客户端发送的邮件       b. 维护邮件队列,以便客户端不必一直等到邮件真正发送出去       c. 接收客户的邮件,并将邮件放置在缓冲区存储,直到用户连接从而收取邮件       d. 有选择的转发和拒绝转发接收到的、目的地为另一个主机的消息3. 邮件分发代理 (MDA)       MDA 主要负责将 MTA 接收的邮件传递到收件人的邮箱 (mailbox) 中4. 电子邮件基本的工作流程       用户 ----MUA---MTA...........MTA---MUA---- 用户5. 相关协议   1). 简单邮件传输协议 SMTP       监听 25 端口;       邮件的发送过程中有两处要用到这个协议:         a. 发送邮件的 MUA 与 MTA 建立链接并发送邮件         b.MTA 之间的邮件转发   2) 邮件访问协议       a.POP3(Post Office Protocol)         Pop 协议要检测用户的登录名和口令,然后将用户的邮件从服务器移动到用户本地桌面系统的 MUA 中,监听 110 端口       b.IMAP(Internet message access protocol)         IMAP 是 Pop 的替代品,踏出了提供与 pop 相同的基本功能外,还增加了对邮箱同步的支持,即 IMAP 提供了如何远程维护服务器上的邮件箱的功能,监听 143端口    Postfix 系统更新 , 添加支持 mysql 模块,构建邮件系统 1.Postfix 添加 Mysql 模块       #tar zxf postfix-2.10.2.tar.gz#cd postfix-2.10.2#make -f Makefile.init makefiles             // 需要 db*-devel , gcc 支持#make upgrade          //make -f 后边不添加 mysql 的头文件及库文件参数,makeupgrade 更新后 postfix 将不支持 mysql 服务,可以使用 postconf-m 查看,若不支持 mysql 需要重新解压 postfix 包重新更新,如下首先需要安装 mysql-devel 开发包#yum install mysql-devel#make -f Makefile.init makefiles \>'CCARGS=-DHAS_MYSQL -I/usr/include/mysql' \                      // 指定 mysql 的头文件所在目录>'AUXLIBS=-L/usr/lib64/mysql -lmysqlclient -lz -lm'                   // 指定 mysql 的库文件所在目录#make upgrade                                        // 更新后,再使用 postconf-m 查看可以支持 mysql 模块2 . 安装 PhpMyAdmin, 以 web 页面形式操作 Mysql 数据库 , 建立邮件用户信息:       PhpMyAdmin 是一个以 PHP 为基础,以 Web-Base 方式架构在网站主机上的MySQL 的数据库管理工具,让管理者可用 Web 接口管理 MySQL 数据库。借由此Web 接口可以成为一个简易方式输入繁杂 SQL 语法的较佳途径,尤其要处理大量资料的汇入及汇出更为方便。其中一个更大的优势在于由于 phpMyAdmin 跟其他 PHP程式一样在网页服务器上执行,但是您可以在任何地方使用这些程式产生的 HTML 页面,也就是于远端管理 MySQL 数据库,方便的建立、修改、删除数据库及资料表。也可借由 phpMyAdmin 建立常用的 php 语法,方便编写网页时所需要的 sql 语法正确性。   #yum install httpd php php-mysql   #tar -zxf phpMyAdmin-3.5.7-all-languages.tar.gz -C /var/www/html   #cd /var/www/html/   #mv phpMyAdmin-3.5.7-all-languages/ phpmyadmin   #cd phpmyadmin/   #cp config.sample.inc.php config.inc.php   #vi config.inc.php          $cfg['blowfish_secret'] = 'tian';                     // 第二个引号中必须要有字符串,可任意   #/etc/init.d/httpd start用浏览器访问 127.0.0.1/phpmyadmin 就可以以 web 形式访问 mysql ,用户名密码仍未 mysql 的浏览器访问 mysql 后,建立库 (linux), 在建立表 email ,结构内容如下            usernamevarchar(25)          test@ty.com            passwordvarchar(20)          test            domain    varchar(15)          ty.com            mailbox   varchar(15)          ty.com/test/#useradd -u 800 email             // 添加邮件用户 emailmysql> grant all on linux.* to email@localhost identified by'email';   Query OK, 0 rows affected (0.00 sec)                   // 用户授权   postconf -d             // 查看默认设置   postconf -n             // 查看当前设置    3. 配置 Postfix   # postconf -e virtual_mailbox_base=/home/email/   # postconf -e virtual_gid_maps=static:800   # postconf -e virtual_uid_maps=static:800#vi mysql-alias.cf       user = email       password = email       dbname = linux       table = email       select_field = username       where_field = username#vi mysql-domains.cf       user = email       password = email       dbname = linux       table = email       select_field = domain             where_field = domain#vi mysql-mailboxs.cf       user = email       password = email       dbname = linux       table = email       select_field = mailbox       where_field = username#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"#postmap -q "test@ty.com"mysql:/etc/postfix/mysql-alias.cf#postmap -q "ty.com"mysql:/etc/postfix/mysql-domains.cf#postmap -q "test@ty.com"mysql:/etc/postfix/mysql-mailboxs.cf现在就可以测试发送 mail 到 test@ty.com, 若发送成功则会在 /home/email 目录下生成 ty.com 邮件目录--------------------------------------------------------------         Postfix 只承担邮件系统中的 MTA 功能,一个完整的邮件系统还需要很多其他的功能,如 POP/IMAP 服务、 Web 界面客户端、垃圾邮件过滤等,这些功能 Postfix都是无法完成的,需要第三方软件的支持;下面就开是添加各个软件:Postfix+mysql+dovecot:      Dovecot 软件是一种在 Linux 下使用的开源软件,他可以提供 POP3 和 IMAP 服务。 Dovecot 将安全作为主要设计目标,速度快、占用内存小、配置简单,可以在各种规模的场合使用。在实际使用中,常见的邮件系统使 Postfix 、 Dovecot 和 Mysql 三者配合搭建的邮件服务器。其中 Postfix 作为邮件发送服务, Dovecot 作为邮件接受服务,而 Mysql作为帐号存储服务器。    #yum install dovecot dovecot-mysql   #vi dovecot.conf          listen = *, ::   #cd /etc/dovecot/conf.d   #vi 10-auth.conf         !include auth-system.conf.ext         !include auth-sql.conf.ext   #vi 10-mail.conf         mail_location = maildir:/home/vemail/%d/%n   //maildir 不变,只变后边路径         first_valid_uid = 888   #cat auth-sql.conf.ext   // 需要有 /etc/dovecot/dovecot-sql.conf.ext 文件   #cd /usr/share/doc/dovecot-2.0.9/example-config   #cp dovecot-sql.conf.ext /etc/dovecot/   #vi dovecot-sql.conf.ext          driver = mysql          connect = host=localhost dbname=vmail user=email password=email          default_pass_scheme = PLAIN          password_query = \            SELECT username, domain, password \            FROM postfix WHERE username = '%u'          user_query = SELECT mailbox, 888AS uid, 888 AS gid FROMpostfix WHEREusername = '%u'                                                      //from+ 表, select+ 表的内容选项配置文件修改好后,测试 dovecot 是否成功#telnet localhost 110      Trying ::1...      Connected to localhost.      Escape character is '^]'.      +OK Dovecot ready.      user test@ty.com      +OK      pass test      +OK Logged in.若登录出现 Loggedin. 则 dovecot 成功---------------------------------------------------------------------------添加 Extmail 软件,以 web 方式操作邮件系统       Extmail 是一个以 perl 语言编写,面向大容量 /ISP 级应用,免费的高性能Webmail 软件,主要包括 ExtMail 、 Extman 两个部分的程序套件。 ExtMail 套件用于提供从 浏览器 中登录、使用 邮件系统 的 Web 操作界面,而 Extman 套件用于提供从浏览器中管理邮件系统的 Web 操作界面。       Extmail 套件可以提供给普通 邮件 用户使用,而 Extman 套件可以提供给 邮件系统 的 管理员 使用 .extmail 包含两个包:   extmail-1.2.tar.gz   // 为前端邮件工具,配置文件为 webmail.cf   extman-1.1.tar.gz      // 为后端管理工具         webman.cf#mkdir /var/www/extsuite#tar zxf extmail-1.2.tar.gz -C /var/www/extmail#tar zxf extman-1.2.tar.gz -C /var/www/extman#cd extman/docs#vi init.sql          // 可以修改 postmaster 和 root 的密码#mysql -uroot -pwestos < extmail.sql   // 导入数据库#mysql -uroot -pwestos < init.sql#cd extmail#cp mysql_virtual_alias_maps.cf /etc/postfix/mysql-alias.cf#cp mysql_virtual_domains_maps.cf /etc/postfix/mysql-domains.cf#cp mysql_virtual_mailbox_maps.cf /etc/postfix/mysql-mailbox.cf#postmap -q "postmaster@extmail.org"mysql:/etc/postfix/mysql-alias.cf#postmap -q "postmaster@extmail.org"mysql:/etc/postfix/mysql-mailbox.cf#postmap -q "extmail.org"mysql:/etc/postfix/mysql-domains.cf现在就可以测试给 postmaster@extmail.org 发 mail ,若 /home/vmail/ 下创建目录成功,则 ok#cp webmail.cf.default webmail.cf#vi webmail.cf SYS_LOG_ON = 0               // 日志功能关闭 SYS_MAILDIR_BASE = /home/vmail   // 为系统用户,邮件存放目录 SSYS_MYSQL_USER = extmail       // 为 extmail 库的用户,默认 extmail.sql 生成 SYS_MYSQL_PASS = extmail#chown -R vmail.vmail cgi/       // 修改 cgi 目录及其子目录权限,使该用户可以访问#vi /etc/httpd/conf/httpd.conf   // 添加邮件虚拟用户    NameVirtualHost *:80                     // 添加内容 INSTALL 文件里有,只需根据自己的实际情况稍做改动即可    <VirtualHost *:80>          ServerName mail.example.comDocumentRoot /var/www/extsuite/extmail/html/    ScriptAlias /extmail/cgi /var/www/extsuite/extmail/cgi   Alias /extmail /var/www/extsuite/extmail/html   SuexecUserGroup vmail vmail       // 此处为系统用户   </VirtualHost>#/etc/init.d/httpd restart使用 extmail 客户端时,必须先用 mail 命令发送一封邮件,以激活 extmail登录 extmail注册新用户使会用到 extman 后台管理端,所以须配置好 extman 后才可以注册会出现的问题ERROR1 :因为没有配置文件 /var/www/extsuite/extmail/webmail.cf ,所以出现如此问题 , 执行#cp webmail.cf.default webmail.cf 即可ERROR2:因为 /extmail/cgi/index.cgi 权限不符,须执行#chown -R email.email cgi/    //-R 递归, email.email 为系统用户, user.groupERROR3 :少了 perl-CGI 包支持#yum install perl-CGIERROR4 :配置文件 webmail.cf 中日志功能打开( SYS_LOG_ON= 1 ),但没有指定目录,将其关闭 =0 即可 , 或者在 cpan.org 网站中下载 Unix-Syslog 包安装后,即可:#tar -zxf Unix-Syslog-1.1.tar.gz#cd Unix-Syslog #perl Makefile.PL                                  // 可能会出现报错                  Can't locate ExtUtils/MakeMaker.pm in @INC                                                                   // 缺少 perl-ExtUtils-MakeMaker 包#yum install perl-ExtUtils-MakeMaker再次执行,如下即可 #make install注: mysql 里设置的域不以定要和 httpd.conf 中的虚拟主机的 ServerName 相同,登录时填写的域须和 mysql 中一致, http 中的虚拟主机 domain 须加入 /etc/hosts 里地址解析,否则用 extmail 客户端登录不上extman 后台管理:#cd /var/www/extsuite/extman#cp webman.cf.default webman.cf将以下两行添加到 httpd.conf 中(即上一步添加 extmail 内容内)ScriptAlias /extman/cgi /var/www/extsuite/extman/cgiAlias /extman /var/www/extsuite/extman/html重启 apache #viwebman.cf       SYS_MAILDIR_BASE = /home/email       SYS_CRYPT_TYPE = plain登录 extman 管理端#vim webman.cf SYS_CAPTCHA_ON = 1    // 验证码开关,此时没有安装验证码包,先关闭 (=0) 就可以进入 extman SYS_CAPTCHA_LEN = 6   // 控制验证码长度可能会出现的 ERROR:解决: #vi webman.cf       SYS_SESS_DIR = /tmp/extman/   // 去掉后边的 extman 目录或者在 /tmp 下mkdir 目录,并设置其权限和 tmp 相同      现在就可以进入 extmail 后台管理端 extman ,但是会在 System 菜单中出现Nosuch file or directory 问题,如下所以需要执行 :#vi /etc/rc.local                /var/www/extsuite/extman/daemon/cmdserver &    // 添加此行#/var/www/extsuite/extman/daemon/cmdserver &执行后刷新 extman 网页,此问题就会消失想要支持验证码功能,须安装 perl-GD-2.45-1.el6.rfx.x86_64 包,因为这包存在依赖性,所以选择 yum 的本地安装#yum localinstall perl-GD-2.45-1.el6.rfx.x86_64打开验证码开关,刷新既可以看到验证码vi webmail.cf SYS_SHOW_SIGNUP = 1   // 控制自由注册安装验证码包:yum localinstall perl-GD-2.45-1.el6.rfx.x86_64.rpm //localinstall 安装本地包,并检查依赖性 , 安装成功后,在 webman.cf 中打开验证功能,刷新 extman 网页如下,就可以使用验证码功能,防止恶意登录、注册开启 /var/log/maillog 日志记录功能:vi /var/www/extsuite/extmail/webmail.cfSYS_LOG_ON=1      // 打开日志功能刷新 extmail 前端,会进不去报错没有 Unix::syslog, 则需要安装之,可以到cpan.org 上下载 Unix-Syslog-1.1.tar.gz 解压安装#cd Unix-Syslog#perl Makefile.PL   // 会提示缺少安装包Can't locate ExtUtils/MakeMaker.pm in @INC#yum install perl-ExtUtils-MakeMaker             // 安装完后继续执行 perlMakefile.PL#perl Makefile.PL                              // 若如下显示,则依赖性解决,可以makeinstall   #make installextman 图形日志的安装:现在还不支持图形日志,进入 extman 后端管理 web 界面下点击 GraphLog 会出现如下报错需要 rrdtool-perl 包的支持安装好后仍不能显示图形,仍需以下步骤#cd /var/www/extsuite/extman/addon#cp -r mailgraph_ext/ /usr/local/#cd /usr/local/mailgraph_ext#./mailgraph-init start    报错,未安装 File-Tail-0.99.3.tar.gz包进入解压后的目录,安装#perl MakeFile.PL#make#make install#cd /usr/local/mailgraph_ext#./mailgraph-init start报错,未安装 perl-Time-HiRes 包#yum install perl-Time-HiRes.x86_64#./mailgraph-init start无报错,安装完成;现在刷新 extman 就可以看到图形日志vi /etc/rc.local      // 加入开机启动/usr/local/mailgraph_ext/mailgrahp-init start// 添加-------------------------------------------------------------------------------------------------------基于 web 页面的邮件系统添加 dovecot 支持 (Postfix+Extmail+Mysql+Dovecot)基于前边 extmail 、 dovecot 已安装,现在只需修改 dovecot 配置即可#vi/etc/dovecot/conf.d/10-mail.conf       mail_location =maildir:/home/email/%d/%n/Maildir       first_valid_uid= 800#vi/etc/dovecot/dovecot-sql.conf.ext       connect =host=localhost dbname=extmail user=extmail password=extmail       defdefault_pass_scheme= PLAIN       password_query= \         SELECTusername, domain, password \         FROM mailboxWHERE username = '%u'      user_query =SELECT maildir, 800 AS uid, 800 AS gid FROM mailbox WHERE
username ='%u'dovecot 配置好后,启动,测试 dovecot( 使用的端口 110) 是否配置正确如此,则配置成功---------------------------------------------------------------------------------------使 Postfix 系统支持 cyrus-sasl 认证功能 (SMTP 认证机制 )   Postfix 服务器没有认证功能,任何一个客户端都可以通过 SMTP 与 Postfix 服务器进行连接,然后使用 RCPT 命令要求 Postfix 服务器转发邮件到收件人所在邮件服务器,也就是说,互联网上的任何计算机,不需要使用帐号就可以通过这台邮件服务器向任何邮箱发送邮件,这无疑为垃圾邮件的发送敞开了大门。   因此,我们需要在 SMTP 服务器中使用身份认证机制,只有通过身份认证的用户才能发送 SMTP 请求服务器发送邮件到目的地。认证帐号一般与接受邮件的帐号相同,可以是操作系统帐号,也可以是虚拟帐号,或者是保存在数据库中的用户帐号。可以通过 CyrusSASL ( CyrusSimple Authentication and Security Layer )软件包实现。#yuminstall cyrus-sasl-devel cyrus-sasl-plain#cdpostfix-2.10.2#make-f Makefile.init makefiles'CCARGS=-DHAS_MYSQL-I/usr/include/mysql-DUSE_SASL_AUTH-DUSE_CYRUS_SASL-I/usr/include/sasl-DUSE_TLS''AUXLIBS=-L/usr/lib64/mysql-lmysqlclient-lz-lm-L/usr/lib64-lsasl2-lssl-lcrypto'在 /postfix-2.10.2/README_FILES/目录下查看各个模块的安装介绍         SASL_README         TLS_README         MYSQL_README需要根据情况修改各模块的头文件和库文件目录查看 sasl 头文件和库文件目录 rpm-ql cyrus-sasl-devel#makeupgrade#/etc/init.d/postfixstart#postconf-e "smtpd_sasl_auth_enable = yes"                     // 激活 sasl 加密 , 是smtpd 不是 smtpsmtpd_sasl_security_options= noanonymous// 限制某些登录方式,此处禁止采用匿名用户登录方式验证认证方式:#postconf-a                      //postconf 命令用来显示 Postfix 当前的配置状态, -a 选项表示输出当前cyrus                               支持的 SASL 认证类型dovecot重启服务,测试:telnetlocalhost 25// 测试显示有字段 AUTHLOGIN PLAIN ,则开启成功      EHLO 向服务器标识用户身份。发送者能欺骗,说谎,但一般情况下服务器都能检测到。可以鉴别接收方是否支持 ESMTP( 扩展 SMTP) 协议,接收方将返回所有支持的扩展命令。         ESMTP 就是对标准 SMTP 协议进行的扩展。它与 SMTP 服务的区别仅仅是,使用 SMTP 发信不需要验证用户帐户,而用 ESMTP 发信时,服务器会要求用户提供用户名和密码以便验证身份。验证之后的邮件发送过程与 SMTP 方式没有两样。#vi/etc/sasl2/smtpd.conf   // 在 README_FILES/SASL_README 文件中 Thesql plugin 部分定义       pwcheck_method: auxprop       auxprop_plugin:sql       mech_list:PLAIN LOGIN CRAM-MD5 DIGEST-MD5 NTLM       sql_engine:mysql       sql_hostnames:127.0.0.1       sql_user:extmail       sql_passwd:extmail       sql_database:extmail       sql_select:SELECT password FROM mailbox WHERE username = '%u@%r'               // 需要根据 mysql 中的实际设置修改                         // 注意:一定要把例子中 @ 符两边的单引号 '' 去掉,否则会报 SQL 语法错误安装 cyrus-sasl-sql-2.1.23-13.el6_3.1.x86_64.rpm   使 sasl 认证信息加入 mysql   #yumlocalinstall cyrus-sasl-sql-2.1.23-13.el6_3.1.x86_64.rpm   #perl-MMIME::Base64 -e 'print encode_base64("\0test\@ty.com\0test");'       AHRlc3RAdHkub3JnAHRlc3Q=                     // 括号里边加入数据库 extmail 里的邮件用户,因为 @ 为特殊字符,需要用 \ 转义,                     //the\0 is a null byte   #telnetlocalhost 25       Trying127.0.0.1...       Connectedto localhost.       Escapecharacter is '^]'.       220ty2.com ESMTP Postfix       ehlolocalhost       250-ty2.com       250-PIPELINING       250-SIZE10240000       250-VRFY       250-ETRN       250-AUTHCRAM-MD5 DIGEST-MD5 LOGIN PLAIN       250-ENHANCEDSTATUSCODES       250-8BITMIME       250DSN       authplain   AHRlc3RAdHkub3JnAHRlc3Q=       2352.7.0 Authentication successful       quit       2212.0.0 Bye       Connectionclosed by foreign host.    // 则 user 发送 mail 时的认证加入成功------------------------------TLS 使邮件传输链路加密#postconf-e "smtpd_tls_security_level = may"    // 激活 TLS 加密#postconf-e "smtpd_tls_session_cache_database =btree:/var/lib/postfix/smtpd_scache"#cd/etc/pki/tls/certs#makepostfix.pem       // 制作证书和 key#postconf-e smtpd_tls_cert_file=/etc/pki/tls/certs/postfix.pem// 指定证书和 key 的目录#telnetlocalhost 25   // 测试显示 STARTTLS 字符,则 ok打开 thunderbird ,在 OutgoingServer 中编辑, Connectionsecurity 为 STARTTLS即可smtpd_client_restrictions= check_client_access hash:/etc/postfix/access // 可以设置用此服务器发送邮件的主机 ( 客户端 )dovecot 收信:   未加密      加密端口pop3110      995(pop3s)imap4 143      993(imap4s)postfix 发信 SMTP25    sasl 认证是通过 25 端口给发件用户加一认证,即发 mail 时需要认证telnetlocalhost 110// 测试 dovecot 是否配置成功telnetlocalhost 25   // 测试 25 端口tls 是加密 25 端口,使邮件传输过程加密postconf -a   //postconf 命令用来显示 Postfix 当前的配置状态, -a 选项表示输出当前支持的 SASL 认证类型--------------------------------------------------------------------------------------------Postfix 邮件系统反垃圾反病毒:#yuminstall spamassassin      // 反垃圾包下载反病毒安装包:       clamav-0.97.6-1.el6.rf.x86_64.rpm       clamav-db-0.97.6-1.el6.rf.x86_64.rpm       clamav-milter-0.97.6-1.el6.rf.x86_64.rpm       clamd-0.97.6-1.el6.rf.x86_64.rpm需要 libmilter.so.1.0 支持,所以得安装 sendmail-milter 包 , 官网 rpm.pbone.net   #yumlocalinstall sendmail-milter-8.14.4-8.el6.x86_64.rpm   #yumlocalinstall clam*       #freshclam          // 安装完成后更新病毒库,要保证能够上网   #/etc/init.d/clamdstart      // 启动后可以使用 clamdscan 命令扫描病毒 ( 这个speed 快,但必须启动 clamd) ,也可以用 clamscan 命令扫描(这个 speed 慢,不用再启动其他程序)   #clamdscan/tmp               // 扫描 /tmp 目录下是否有病毒文件   #clamdscan--remove /tmp      // 扫描并直接删除病毒文件-------------------------安装 mail 扫描工具 MailScanner-4.84.5-3.rpm.tar.gz   #tarzxf MailScanner-4.84.5-3.rpm.tar.gz   #cdMailScanner-4.84.5-3   #./install.sh      // 此时安装会出现 error :         Youneed to install the patch command from your Linux distribution.         Onceyou have done that, please try running this script again.   需要 rpm-build 包的支持   #yuminstall rpm-build       #./install.sh       #/etc/init.d/postfixstop   #chkconfigpostfix off      // 关闭 postfix 及开机启动,因为开机自启动 MailScanner时会调用 postfix 启动程序而开启 postfix ,即就是 postfix 交由 MailScanner 控制,并扫描 mail配置 MailScanner 和 postfix   #vi/etc/MailScanner/MailScanner.conf            Run As User = postfix            Run As Group = postfix         IncomingQueue Dir = /var/spool/postfix/hold         OutgoingQueue Dir = /var/spool/postfix/incoming         MTA= postfix         IncomingWork User =         IncomingWork Group =         IncomingWork Permissions = 0640         VirusScanners = clamav         SpamAssassinUser State Dir = /var/spool/MailScanner/spamassassin   #mkdir/var/spool/MailScanner/spamassassin   #chown-R postfix.postfix /var/spool/MailScanner/spamassassin   #MailScanner--lint          //MailScanner 语法测试,第一次安装会出现一些问题四个ERROR,解决如下:1.unrar 未安装,下载 rarlinux-3.8.0.tar.gz 解压 makeinstall#whichunrar   // 查看 unrar 目录/usr/local/bin/unrar#ln-s /usr/local/bin/unrar /usr/bin/    // 必须放在 /usr/bin/ 下,所以使用软链接指向其2.ERROR:The "envelope_sender_header" in yourspam.assassin.prefs.conf   ERROR:is not correct, it should match X-yoursite-MailScanner-From#vi/etc/MailScanner/spam.assassin.prefs.conf       envelope_sender_headerX-yoursite-MailScanner-From3.config:failed to parse line, skipping, in "/etc/mail/spamassassin/ mailscanner.cf": use_auto_whitelist 0#vi/etc/MailScanner/spam.assassin.prefs.conf       use_auto_whitelist0               // 将此行注释4.Cannotfind Socket (/tmp/clamd.socket) Exiting! at/usr/lib/MailScanner/MailScanner/SweepViruses.pm line 3838查看 /etc/clamd.conf 中Socket如下:LocalSocket    /var/run/clamav/clamd.sock根据这个修改 MailScanner.conf 里的Socket   ClamdSocket = /var/run/clamav/clamd.sock
页: [1]
查看完整版本: 构建Postfix+Mysql+Dovecot邮件系统,实现以Web页面访问的功能、添加SASL认证以及TLS加密传输