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

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

[复制链接]
累计签到:1 天
连续签到:1 天
发表于 2016-2-17 08:32:27 | 显示全部楼层 |阅读模式

Postfix邮件系统的组成及原理

NvyeQb.jpg

用到的主要协议和软件

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 ,结构内容如下

              username  varchar(25)          test@ty.com

              password  varchar(20)          test

              domain    varchar(15)          ty.com

              mailbox   varchar(15)          ty.com/test/

#useradd -u 800 email             // 添加邮件用户 email

mysql> grant all on linux.* to email@localhost identified by'email';

   Query OK, 0 rows affected (0.00 sec)                   // 用户授权

   postconf -d             // 查看默认设置

   postconf -n             // 查看当前设置   

3. 配置 Postfix

   [iyunv@ty ~]# postconf -e virtual_mailbox_base=/home/email/

   [iyunv@ty ~]# postconf -e virtual_gid_maps=static:800

   [iyunv@ty ~]# 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 WHERE

  username = '%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.com

DocumentRoot /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

B3QR7b.jpg

登录 extmail

注册新用户使会用到 extman 后台管理端,所以须配置好 extman 后才可以注册

会出现的问题

ERROR1 :

7RbaMv.jpg

因为没有配置文件 /var/www/extsuite/extmail/webmail.cf ,所以出现如此问题 , 执行

#cp webmail.cf.default webmail.cf 即可

ERROR2:

RNVZbm.jpg

因为 /extmail/cgi/index.cgi 权限不符,须执行

#chown -R email.email cgi/    //-R 递归, email.email 为系统用户, user.group

ERROR3 :

iQRVri.jpg

少了 perl-CGI 包支持

#yum install perl-CGI

ERROR4 :

MjY7ji.jpg

配置文件 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/cgi

  Alias /extman /var/www/extsuite/extman/html

重启 apache

#vi  webman.cf

       SYS_MAILDIR_BASE = /home/email

       SYS_CRYPT_TYPE = plain

登录 extman 管理端

JbaIJn.jpg

#vim webman.cf

SYS_CAPTCHA_ON = 1    // 验证码开关,此时没有安装验证码包,先关闭 (=0) 就可以进入 extman

SYS_CAPTCHA_LEN = 6   // 控制验证码长度

可能会出现的 ERROR:

mINjYj.jpg

解决: #vi webman.cf  

       SYS_SESS_DIR = /tmp/extman/   // 去掉后边的 extman 目录或者在 /tmp 下mkdir 目录,并设置其权限和 tmp 相同      

现在就可以进入 extmail 后台管理端 extman ,但是会在 System 菜单中出现Nosuch file or directory 问题,如下

fEr2eu.jpg

所以需要执行 :

#vi /etc/rc.local               

/var/www/extsuite/extman/daemon/cmdserver &    // 添加此行

#/var/www/extsuite/extman/daemon/cmdserver &

U7by6zJ.jpg

执行后刷新 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 网页如下,就可以使用验证码功能,防止恶意登录、注册

6bEZZ3.jpg

开启 /var/log/maillog 日志记录功能:

vi /var/www/extsuite/extmail/webmail.cf

  SYS_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

FRfYry.jpg

   #make install

extman 图形日志的安装:

现在还不支持图形日志,进入 extman 后端管理 web 界面下点击 GraphLog 会出现如下报错

2IbIZj.jpg

需要 rrdtool-perl 包的支持

安装好后仍不能显示图形,仍需以下步骤

  #cd /var/www/extsuite/extman/addon

  #cp -r mailgraph_ext/ /usr/local/

  #cd /usr/local/mailgraph_ext

  #./mailgraph-init start   

QBj6viI.jpg

报错,未安装 File-Tail-0.99.3.tar.gz

进入解压后的目录,安装

  #perl MakeFile.PL

  #make

  #make install

  #cd /usr/local/mailgraph_ext

  #./mailgraph-init start

RFJryi.jpg

报错,未安装 perl-Time-HiRes 包

  #yum install perl-Time-HiRes.x86_64

  #./mailgraph-init start

rINjma.jpg

无报错,安装完成;

现在刷新 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) 是否配置正确

iUveiu.jpg

如此,则配置成功

---------------------------------------------------------------------------------------

使 Postfix 系统支持 cyrus-sasl 认证功能 (SMTP 认证机制 )

     Postfix 服务器没有认证功能,任何一个客户端都可以通过 SMTP 与 Postfix 服务器进行连接,然后使用 RCPT 命令要求 Postfix 服务器转发邮件到收件人所在邮件服务器,也就是说,互联网上的任何计算机,不需要使用帐号就可以通过这台邮件服务器向任何邮箱发送邮件,这无疑为垃圾邮件的发送敞开了大门。

     因此,我们需要在 SMTP 服务器中使用身份认证机制,只有通过身份认证的用户才能发送 SMTP 请求服务器发送邮件到目的地。认证帐号一般与接受邮件的帐号相同,可以是操作系统帐号,也可以是虚拟帐号,或者是保存在数据库中的用户帐号。

可以通过 CyrusSASL ( CyrusSimple Authentication and Security Layer )软件包实现。

#yum  install cyrus-sasl-devel cyrus-sasl-plain

#cd  postfix-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 不是 smtp

smtpd_sasl_security_options= noanonymous  // 限制某些登录方式,此处禁止采用匿名用户登录方式

验证认证方式:

#postconf-a                      //postconf 命令用来显示 Postfix 当前的配置状态, -a 选项表示输出当前

cyrus                               支持的 SASL 认证类型

dovecot

重启服务,测试:

telnetlocalhost 25  // 测试显示有字段 AUTHLOGIN PLAIN ,则开启成功

bM7B3q.jpg

        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

       ehlo  localhost

       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

26N7R3.jpg

打开 thunderbird ,在 OutgoingServer 中编辑, Connectionsecurity 为 STARTTLS即可

IRb2Un.jpg

smtpd_client_restrictions= check_client_access hash:/etc/postfix/access // 可以设置用此服务器发送邮件的主机 ( 客户端 )

dovecot 收信:   未加密        加密端口

pop3  110        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 语法测试,第一次安装会出现一些问题

MvUZ3a.jpg

四个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/ 下,所以使用软链接指向其

NjUvYr.jpg

QVNZRv.jpg

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-From

3.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、欢迎大家加入本站运维交流群:群②: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-178956-1-1.html 上篇帖子: 在用outlook,想转foxmail,官网安装了最新7.2版,安装好后导入outlook账号文件等。 下篇帖子: Postfix的bcc邮件备份 邮件系统 加密 认证
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

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

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

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

扫描微信二维码查看详情

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


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


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


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



合作伙伴: 青云cloud

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