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,结构内容如下
username varchar(25) [email protected]
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
[root@ty ~]$ postconf -e virtual_mailbox_base=/home/email/ [root@ty ~]$ postconf -e virtual_gid_maps=static:800 [root@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 "[email protected]"mysql:/etc/postfix/mysql-alias.cf $ postmap -q "ty.com"mysql:/etc/postfix/mysql-domains.cf $ postmap -q "[email protected]"mysql:/etc/postfix/mysql-mailboxs.cf
现在就可以测试发送mail到[email protected],若发送成功则会在/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 [email protected] +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 "[email protected]"mysql:/etc/postfix/mysql-alias.cf $postmap -q "[email protected]"mysql:/etc/postfix/mysql-mailbox.cf $postmap -q "extmail.org"mysql:/etc/postfix/mysql-domains.cf
现在就可以测试给[email protected]发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文件里有,只需根据自己的实际情况稍做改动即可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 //此处为系统用户
$/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.group
ERROR3:
少了perl-CGI包支持
$yum install perl-CGI
ERROR4:
配置文件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管理端
$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.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
$make install
extman图形日志的安装:
现在还不支持图形日志,进入extman后端管理web界面下点击GraphLog会出现如下报错
需要rrdtool-perl包的支持
yum install 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)软件包实现。
$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,则开启成功
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 $make postfix.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收信: 未加密 加密端口
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邮件系统反垃圾反病毒:
反垃圾:
www.ccert.edu.cn/spam/sa/Chinese_rules.cf
#yuminstall spamassassin
#cd /usr/share/spamassassin //可以在此目录下存放反垃圾文件的规则
Chinese_rules.cf //支持中文的反垃圾规则;GB2312 windows下的邮件
Chinese_rules_UTF-8.cf //支持中文的反垃圾规则;UTF-8 linux下的邮件
//规则中记录每个关键字的评分,当评分达到设定的门限值,就会自动屏蔽垃圾邮件
/etc/mail/spamassassin/local.cf //此文件中记录设定的门限值
required_hits5 //最大分值
report_safe0
rewrite_headerSubject [SPAM] //标记
#spamd -D //测试规则是否加入成功,须先stopspamassassin
若规则没加成功,注意查看/var/lib/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
$tar -zxf MailScanner-4.84.5-3.rpm.tar.gz $cd MailScanner-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包的支持
$yum install rpm-build $./install.sh $/etc/init.d/postfix stop
$chkconfig postfix 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 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
$which unrar //查看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-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.
Can not find 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