<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:wfw="http://wellformedweb.org/CommentAPI/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:atom="http://www.w3.org/2005/Atom"
	xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
	xmlns:slash="http://purl.org/rss/1.0/modules/slash/"
	>

<channel>
	<title>夜行人 &#187; Mail</title>
	<atom:link href="http://www.187299.com/archives/tag/mail/feed" rel="self" type="application/rss+xml" />
	<link>http://www.187299.com</link>
	<description>寻觅生命中的那一片浅草......</description>
	<lastBuildDate>Wed, 16 Nov 2011 11:25:49 +0000</lastBuildDate>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.0</generator>
		<item>
		<title>Send Mail with Gmail and sSMTP on CentOS 5</title>
		<link>http://www.187299.com/archives/1571</link>
		<comments>http://www.187299.com/archives/1571#comments</comments>
		<pubDate>Wed, 05 May 2010 01:54:53 +0000</pubDate>
		<dc:creator>admin</dc:creator>
				<category><![CDATA[Linux]]></category>
		<category><![CDATA[Mail]]></category>
		<category><![CDATA[sSMTP]]></category>

		<guid isPermaLink="false">http://www.187299.com/?p=1571</guid>
		<description><![CDATA[sSMTP is an extremely simple, resource conserving, smtp server that will allow your desktop or server to send email. in this article we are going to use sSMTP to send outgoing email through gmail. 1、Install sSMTP. Unfortunately,ssmtp is not in CentOS 5... ]]></description>
			<content:encoded><![CDATA[<p>sSMTP is an extremely simple, resource conserving, smtp server that will allow your desktop or server to send email. in this article we are going to use sSMTP to send outgoing email through gmail.</p>
<p>1、Install sSMTP.<br />
Unfortunately,ssmtp is not in CentOS 5 yum base repository,so we have to download and install it manually.</p>
<p>#wget ftp://ftp.muug.mb.ca/mirror/fedora/epel/5/x86_64/ssmtp-2.61-11.8.el5.x86_64.rpm<br />
#rpm -Uvh ssmtp-2.61-11.8.el5.x86_64.rpm</p>
<p>2、configure sSMTP<br />
First,backup and empty /etc/ssmtp/ssmtp.conf<br />
#/bin/cp /etc/ssmtp/ssmtp.conf /etc/ssmtp/ssmtp.conf.OLD<br />
#&gt; /etc/ssmtp/ssmtp.conf<br />
#vi /etc/ssmtp/ssmtp.conf<br />
root=sender@gmail.com<br />
mailhub=smtp.gmail.com:587<br />
UseSTARTTLS=YES<br />
RewriteDomain=<br />
Hostname=sender@gmail.com<br />
AuthUser=sender@gmail.com<br />
AuthPass=password<br />
FromLineOverride=YES</p>
<p>add content above,save and quit.</p>
<p>Second,add each account that you want to be able to send mail from by editing, '/etc/ssmtp/revaliases':</p>
<p>#echo 'root:sender@gmail.com:smtp.gmail.com:587' &gt;&gt; /etc/ssmtp/revaliases</p>
<p>Please replace sender and password with your Gmail accountname and password.</p>
<p>Third,backup old sendmail<br />
#/bin/mv /usr/sbin/sendmail /usr/sbin/sendmail.OLD<br />
#ln -s /usr/sbin/ssmtp /usr/sbin/sendmail</p>
<p>On my system,sendmail is provided by postfix.</p>
<p>3、Now try sending an email</p>
<p>You can send an email through your favorite email client, like 'mail', or type:</p>
<p>ssmtp someemail@email.com</p>
<p>You will then type your message, hit enter and ‘ctrl+d‘</p>
<p>Now that you have a simple outgoing email server setup, you can do all sorts of neat things:<br />
Configure cron jobs to send log reports to your email address<br />
Alert you of all kinds of system changes<br />
Send email alerts when your computer reaches a certain temperature<br />
Send email through PHP, Python, Ruby, and Perl</p>
<p>References:</p>
<p>http://topo.72pines.com/2009/02/18/linux-命令行下用-gmail-smtp-发信/</p>
<p>http://blog.rogerz.cn/archives/599</p>
<p>http://www.nixtutor.com/linux/send-mail-with-gmail-and-ssmtp/</p>
]]></content:encoded>
			<wfw:commentRss>http://www.187299.com/archives/1571/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>CentOS5.2、5.3上安装ispCP OMEGA</title>
		<link>http://www.187299.com/archives/435</link>
		<comments>http://www.187299.com/archives/435#comments</comments>
		<pubDate>Sat, 25 Apr 2009 06:06:47 +0000</pubDate>
		<dc:creator>admin</dc:creator>
				<category><![CDATA[Linux]]></category>
		<category><![CDATA[Apache]]></category>
		<category><![CDATA[Mail]]></category>
		<category><![CDATA[MySQL]]></category>
		<category><![CDATA[Postfix]]></category>

		<guid isPermaLink="false">http://www.momati.net/?p=435</guid>
		<description><![CDATA[IspCP Omega 简单介绍： IspCP 是作为另一款开源虚拟主机管理系统VHCS2的替代产品，采用Apache2+PHP5（fastcgi模式，支持每个虚机独立的php.ini）+MySQL5（提供内置的phpmyadmin）提供 Web 服务（也支持传统... ]]></description>
			<content:encoded><![CDATA[<p>IspCP Omega 简单介绍：<br />
IspCP 是作为另一款开源虚拟主机管理系统VHCS2的替代产品，采用Apache2+PHP5（fastcgi模式，支持每个虚机独立的php.ini）+MySQL5（提供内置的phpmyadmin）提供 Web 服务（也支持传统的 CGI），FTP 采用 Proftpd（也支持 webftp 功能），邮件是 postfix+courier+squirrermail，和 IspCPH管理平台（PHP 代码，支持管理员、代理商、虚拟主机用户三级用户，相互之间可以自由切换，自由增加子域名、FTP、MySQL、Mail 账号），另外对于每个虚拟主机都有独立的每天完整备份机制（可以用 FTP 下载）。</p>
<p>系统：CentOS5.2，无桌面，安装开发工具，开发库</p>
<p>一、禁用SELinux<br />
# vi /etc/selinux/config<br />
将<br />
SELINUX=enforcing<br />
修改为<br />
SELINUX=disabled</p>
<p># vi /etc/sysconfig/network<br />
将HOSTNAME修改为<br />
HOSTNAME=test.test.com</p>
<p>iptables没必要禁了，ispCP安装好后，会生成防火墙规则，并启用iptables</p>
<p>重启系统<br />
# init 6<br />
<span id="more-435"></span></p>
<p>二、安装ispCP所需基本软件<br />
1、下载ispcp-omega：<br />
# mkdir /root/download<br />
# cd /root/download<br />
# wget http://nchc.dl.sourceforge.net/sourceforge/ispcp/ispcp-omega-1.0.0.tar.gz<br />
# tar xzf ispcp-omega-1.0.0.tar.gz<br />
# cd ispcp-omega-1.0.0</p>
<p>2、安装rpm包：<br />
# yum install `cat ./docs/CentOS/centos-packages`<br />
这个过程会提示很多包都没有，没有关系，呆会激活另外一个更新源时，再重复以上yum的步骤。<br />
（由于是这样，在考虑干脆在这一步就用那个源，免得重复）</p>
<p>3、安装一个perl会用到的软件<br />
# cd /root/download<br />
# wget ftp://ftp.pbone.net/mirror/centos.karan.org/el5/extras/testing/i386/RPMS/ncftp-3.2.0-3.el5.kb.i386.rpm<br />
# rpm -Uvh ncftp-3.2.0-3.el5.kb.i386.rpm</p>
<p>4、初始化perl模块安装环境<br />
# perl -MCPAN -e shell<br />
# /usr/lib/perl5/5.8.8/CPAN/Config.pm initialized.</p>
<p>CPAN is the world-wide archive of perl resources. It consists of about<br />
100 sites that all replicate the same contents all around the globe.<br />
Many countries have at least one CPAN site already. The resources<br />
found on CPAN are easily accessible with the CPAN.pm module. If you<br />
want to use CPAN.pm, you have to configure it properly.</p>
<p>If you do not want to enter a dialog now, you can answer 'no' to this<br />
question and I'll try to autoconfigure. (Note: you can revisit this<br />
dialog anytime later by typing 'o conf init' at the cpan prompt.)</p>
<p>Are you ready for manual configuration? [yes] 直接回车</p>
<p>The following questions are intended to help you with the<br />
configuration. The CPAN module needs a directory of its own to cache<br />
important index files and maybe keep a temporary mirror of CPAN files.<br />
This may be a site-wide directory or a personal directory.</p>
<p>First of all, I'd like to create this directory. Where?</p>
<p>CPAN build and cache directory? [/root/.cpan] 直接回车</p>
<p>If you want, I can keep the source files after a build in the cpan<br />
home directory. If you choose so then future builds will take the<br />
files from there. If you don't want to keep them, answer 0 to the<br />
next question.</p>
<p>How big should the disk cache be for keeping the build directories<br />
with all the intermediate files?</p>
<p>Cache size for build directory (in MB)? [10] 直接回车</p>
<p>By default, each time the CPAN module is started, cache scanning<br />
is performed to keep the cache size in sync. To prevent from this,<br />
disable the cache scanning with 'never'.</p>
<p>Perform cache scanning (atstart or never)? [atstart] atstart</p>
<p>To considerably speed up the initial CPAN shell startup, it is<br />
possible to use Storable to create a cache of metadata. If Storable<br />
is not available, the normal index mechanism will be used.</p>
<p>Cache metadata (yes/no)? [yes] 直接回车</p>
<p>The next option deals with the charset your terminal supports. In<br />
general CPAN is English speaking territory, thus the charset does not<br />
matter much, but some of the aliens out there who upload their<br />
software to CPAN bear names that are outside the ASCII range. If your<br />
terminal supports UTF-8, you say no to the next question, if it<br />
supports ISO-8859-1 (also known as LATIN1) then you say yes, and if it<br />
supports neither nor, your answer does not matter, you will not be<br />
able to read the names of some authors anyway. If you answer no, names<br />
will be output in UTF-8.</p>
<p>Your terminal expects ISO-8859-1 (yes/no)? [yes] 直接回车</p>
<p>If you have one of the readline packages (Term::ReadLine::Perl,<br />
Term::ReadLine::Gnu, possibly others) installed, the interactive CPAN<br />
shell will have history support. The next two questions deal with the<br />
filename of the history file and with its size. If you do not want to<br />
set this variable, please hit SPACE RETURN to the following question.</p>
<p>File to save your history? [/root/.cpan/histfile] 直接回车<br />
Number of lines to save? [100] 直接回车</p>
<p>The CPAN module can detect when a module that which you are trying to<br />
build depends on prerequisites. If this happens, it can build the<br />
prerequisites for you automatically ('follow'), ask you for<br />
confirmation ('ask'), or just ignore them ('ignore'). Please set your<br />
policy to one of the three values.</p>
<p>Policy on building prerequisites (follow, ask or ignore)? [ask] ask</p>
<p>The CPAN module will need a few external programs to work properly.<br />
Please correct me, if I guess the wrong path for a program. Don't<br />
panic if you do not have some of them, just press ENTER for those. To<br />
disable the use of a download program, you can type a space followed<br />
by ENTER.</p>
<p>Where is your gzip program? [/bin/gzip] 直接回车<br />
Where is your tar program? [/bin/tar] 直接回车<br />
Where is your unzip program? [/usr/bin/unzip] /直接回车<br />
Where is your make program? [/usr/bin/make] 直接回车<br />
Where is your links program? [/usr/bin/links] 直接回车<br />
Where is your wget program? [/usr/bin/wget] 直接回车<br />
Where is your ncftp program? [/usr/bin/ncftp] 直接回车<br />
Where is your ftp program? [/usr/kerberos/bin/ftp] 直接回车<br />
Where is your gpg program? [/usr/bin/gpg] 直接回车<br />
What is your favorite pager program? [/usr/bin/less] 直接回车<br />
What is your favorite shell? [/bin/bash] 直接回车</p>
<p>Every Makefile.PL is run by perl in a separate process. Likewise we<br />
run 'make' and 'make install' in processes. If you have any<br />
parameters (e.g. PREFIX, LIB, UNINST or the like) you want to pass<br />
to the calls, please specify them here.</p>
<p>If you don't understand this question, just press ENTER.</p>
<p>Parameters for the 'perl Makefile.PL' command?<br />
Typical frequently used settings:</p>
<p>PREFIX=~/perl       non-root users (please see manual for more hints)</p>
<p>Your choice:  [] 直接回车<br />
Parameters for the 'make' command?<br />
Typical frequently used setting:</p>
<p>-j3              dual processor system</p>
<p>Your choice:  [] 直接回车<br />
Parameters for the 'make install' command?<br />
Typical frequently used setting:</p>
<p>UNINST=1         to always uninstall potentially conflicting files</p>
<p>Your choice:  [] 直接回车</p>
<p>Sometimes you may wish to leave the processes run by CPAN alone<br />
without caring about them. As sometimes the Makefile.PL contains<br />
question you're expected to answer, you can set a timer that will<br />
kill a 'perl Makefile.PL' process after the specified time in seconds.</p>
<p>If you set this value to 0, these processes will wait forever. This is<br />
the default and recommended setting.</p>
<p>Timeout for inactivity during Makefile.PL? [0] 直接回车</p>
<p>If you're accessing the net via proxies, you can specify them in the<br />
CPAN configuration or via environment variables. The variable in<br />
the $CPAN::Config takes precedence.</p>
<p>Your ftp_proxy?<br />
Your http_proxy?<br />
Your no_proxy?<br />
You have no /root/.cpan/sources/MIRRORED.BY<br />
I'm trying to fetch one<br />
CPAN: LWP::UserAgent loaded ok<br />
Fetching with LWP:<br />
ftp://ftp.perl.org/pub/CPAN/MIRRORED.BY</p>
<p>Now we need to know where your favorite CPAN sites are located. Push<br />
a few sites onto the array (just in case the first on the array won't<br />
work). If you are mirroring CPAN to your local workstation, specify a<br />
file: URL.</p>
<p>First, pick a nearby continent and country (you can pick several of<br />
each, separated by spaces, or none if you just want to keep your<br />
existing selections). Then, you will be presented with a list of URLs<br />
of CPAN mirrors in the countries you selected, along with previously<br />
selected URLs. Select some of those URLs, or just keep the old list.<br />
Finally, you will be prompted for any extra URLs -- file:, ftp:, or<br />
http: -- that host a CPAN mirror.</p>
<p>(1) Africa<br />
(2) Asia<br />
(3) Central America<br />
(4) Europe<br />
(5) North America<br />
(6) Oceania<br />
(7) South America<br />
Select your continent (or several nearby continents) [] 2<br />
Sorry! since you don't have any existing picks, you must make a<br />
geographic selection.</p>
<p>(1) China<br />
(2) Hong Kong<br />
(3) Indonesia<br />
(4) Israel<br />
(5) Japan<br />
(6) Republic of Korea<br />
(7) Russia<br />
(8) Singapore<br />
(9) Taiwan<br />
(10) Thailand<br />
(11) Turkey<br />
(12) Viet Nam<br />
Select your country (or several nearby countries) [] 1<br />
Sorry! since you don't have any existing picks, you must make a<br />
geographic selection.</p>
<p>(1) ftp://www.perl87.cn/CPAN/<br />
(2) http://mirrors.xueron.com/CPAN/<br />
Select as many URLs as you like (by number),<br />
put them on one line, separated by blanks, e.g. '1 4 5' [] 1 2</p>
<p>Enter another URL or RETURN to quit: [] 直接回车<br />
New set of picks:<br />
ftp://www.perl87.cn/CPAN/</p>
<p>commit: wrote /usr/lib/perl5/5.8.8/CPAN/Config.pm<br />
Terminal does not support AddHistory.</p>
<p>cpan shell -- CPAN exploration and modules installation (v1.7602)<br />
ReadLine support available (try 'install Bundle::CPAN')</p>
<p>cpan&gt; exit</p>
<p>5、安装perl模块<br />
cat ./docs/CentOS/centos-perl | xargs -I {} perl -MCPAN -e 'install {}'</p>
<p>6、激活另外两个源，用于更新php<br />
# wget http://download.fedora.redhat.com/pub/epel/5/i386/epel-release-5-2.noarch.rpm<br />
# wget http://rpms.famillecollet.com/el5.i386/remi-release-5-4.el5.remi.noarch.rpm<br />
# rpm -Uvh remi-release-5*.rpm epel-release-5*.rpm<br />
# vi /etc/yum.repos.d/remi.repo<br />
# vi /etc/yum.repos.d/epel.repo<br />
# vi /etc/yum.repos.d/epel-testing.repo<br />
在这三个文件最后添加<br />
priority=1<br />
保存退出</p>
<p>7、使用remi源，安装刚才找不到的软件包<br />
yum --enablerepo=remi install `cat ./docs/CentOS/centos-packages`</p>
<p>8、删除sendmail<br />
# yum -y remove sendmail</p>
<p>9、删除 mysql-5.0.45-7.el5<br />
# yum -y remove mysql-5.0.45-7.el5</p>
<p>这里记住它删除了那些包，呆会用remi源重新安装跟MySQL相关的软件包<br />
至于为什么要删除，因为yum --enablerepo=remi update php*时，会安装一个依赖包mysql-libs-5.1.34-1.el5.remi.i386.rpm<br />
这个包与mysql-5.0.45-7.el5冲突，所以要卸载mysql-5.0.45-7.el5。<br />
用新源重新安装<br />
# yum --enablerepo=remi install mysql amavisd-new libdbi-dbd-mysql mod_auth_mysql mysql-server perl-DBD-MySQL php-mysql proftpd-mysql mysql-devel postgresql-devel</p>
<p>10、ispCP安装文档说CentOS官方源里的PHP有问题，所以这里需要更新PHP<br />
# yum --enablerepo=remi update php*</p>
<p>11、安装Courier IMAP server<br />
由于INSTALL安装文档中所给出的地址已经失效，我们手动创建相关rpm包<br />
# yum -y --enablerepo=remi install libtool*<br />
# yum -y --enablerepo=remi install gamin-devel<br />
# useradd -m -s /bin/bash compileuser<br />
# passwd compileuser<br />
# visudo</p>
<p>在root行添加以下内容：<br />
compileuser   ALL=(ALL)       ALL<br />
保存退出</p>
<p># su compileuser<br />
$ mkdir $HOME/rpm<br />
$ mkdir $HOME/rpm/SOURCES<br />
$ mkdir $HOME/rpm/SPECS<br />
$ mkdir $HOME/rpm/BUILD<br />
$ mkdir $HOME/rpm/SRPMS<br />
$ mkdir $HOME/rpm/RPMS<br />
$ mkdir $HOME/rpm/RPMS/i386<br />
$ echo "%_topdir $HOME/rpm" &gt;&gt; $HOME/.rpmmacros<br />
$ cd /tmp<br />
$ wget http://prdownloads.sourceforge.net/courier/courier-authlib-0.62.1.tar.bz2<br />
$ wget http://prdownloads.sourceforge.net/courier/courier-imap-4.4.1.tar.bz2<br />
$ sudo rpmbuild -ta courier-authlib-0.62.1.tar.bz2<br />
$ cd $HOME/rpm/RPMS/i386<br />
$ sudo rpm -Uvh courier-authlib-0.62.1-1.i386.rpm courier-authlib-userdb-0.62.1-1.i386.rpm<br />
$ cd /tmp<br />
$ rpmbuild -ta courier-imap-4.4.1.tar.bz2<br />
$ cd $HOME/rpm/RPMS/i386<br />
$ sudo rpm -ivh courier-imap-4.4.1-1.i386.rpm<br />
退出compileuser，切换为root<br />
$ exit<br />
# groupadd courier -g 3000<br />
# useradd -u 3000 -c 'Courier Mail Server' -d /dev/null -g courier -s /bin/false courier<br />
# service mysqld start<br />
# /usr/bin/mysql_secure_installation</p>
<p>12、安装mod_fcgid<br />
# cd /root/download/<br />
# wget http://centos.karan.org/el5/extras/testing/i386/RPMS/mod_fcgid-2.2-4.el5.kb.i386.rpm<br />
# rpm -Uvh mod_fcgid-2.2-4.el5.kb.i386.rpm</p>
<p>13、删除无用的Apache文件<br />
# rm -f /etc/httpd/conf.d/*</p>
<p>三、安装ispCP OMEGA</p>
<p>1、编译ispCP OMEGA:<br />
# cd /root/download/ispcp-omega-1.0.0<br />
# make -f Makefile.centos install</p>
<p>2、复制生成的目录到系统：<br />
# cp -RLf /tmp/ispcp/* /<br />
# cp -Rv /tmp/ispcp/etc/init.d /etc/rc.d/<br />
# ln -s /etc/rc.d/init.d /etc/init.d<br />
# mkdir /var/mail/virtual</p>
<p>3、配置BIND:<br />
# mv /var/named/data /var/named/data2<br />
# ln -s /var/named/chroot/var/named/data /var/named/data<br />
vi /var/named/chroot/etc/named.caching-nameserver.conf after line:<br />
在include "/etc/named.rfc1912.zones";后添加以下内容</p>
<p>include "/etc/named-ispcp.conf";</p>
<p>保存退出</p>
<p>4、 创建SASL database 目录并配置使Postfix调用SASL的配置文件：<br />
# touch /etc/sasldb2<br />
# mkdir -p /var/spool/postfix/etc<br />
# cp /etc/sasldb2 /var/spool/postfix/etc/sasldb2<br />
# mv /usr/lib/sasl2/smtpd.conf /usr/lib/sasl2/smtpd.conf.OLD<br />
# vi /usr/lib/sasl2/smtpd.conf<br />
添加以下内容：</p>
<p>pwcheck_method: auxprop<br />
auxprop_plugin: sasldb<br />
mech_list: PLAIN LOGIN CRAM-MD5 DIGEST-MD5</p>
<p>保存退出</p>
<p>5、添加Apache配置文件:</p>
<p># echo 'include vhosts/*.conf' &gt;&gt; /etc/httpd/conf/httpd.conf<br />
# chown apache:apache /var/www/ispcp/gui/tools/webmail/data</p>
<p>6、安装:<br />
# cd /var/www/ispcp/engine/setup<br />
# perl ispcp-setup</p>
<p>7、设置系统参数:<br />
# chmod 777 /var/www/ispcp/gui/phptmp</p>
<p>8、安装服务:<br />
# chkconfig --add ispcp_daemon<br />
# chkconfig --add ispcp_network<br />
# chkconfig --levels 345 ispcp_daemon on<br />
# chkconfig --levels 345 ispcp_network on<br />
# service ispcp_daemon start<br />
# service ispcp_network start</p>
<p>9、清楚临时文件目录，安装完成:<br />
# rm -R /tmp/ispcp</p>
<p>至此安装完成，此时需要做的工作是service iptables save，否则，防火墙或系统重启，ispCP所生成的规则会丢失。</p>
<p>四、主要参考资料：<br />
1、ispcp-omega安装包里的安装手册<br />
2、http://www.howtoforge.com/perfect-server-centos-5.2-ispconfig-3-p4</p>
<p>五、一些提示：<br />
1、yum安装都需要比较长的时间，yum那里有个小窍门，当源比较慢时，可以按下Ctrl+c，这样yum会尝试另外一个源，如果一直慢，就再Ctrl+c,总有个源是比较快的，如果这样做了，yum只会下载所有的包，不会安装，所以需要重新运行下yum install `cat ./docs/CentOS/centos-packages`，这时候才会安装</p>
<p>2、DNS功能暂时只能在localhost用，因为以下：<br />
Modify /var/named/chroot/etc/named.caching-nameserver.conf according your needs (default it binds only to localhost)</p>
<p>3、ispcp的配置文件在：/etc/ispcp/ispcp.conf，将管理所用的域名改为了IP地址，phpMyAdmin可以实现免密码自动登录，哈哈。</p>
<p>4、刚访问http://www.thatfleminggent.com/，发现是软件包更新了，courier相关包可以到上面下载</p>
<p>http://www.thatfleminggent.com/packages/centos/5/i386/repoview/</p>
<p>5、登录进后台<br />
settings--Internationalisation--Install new languages选择本地的语言文件，点击Install，<br />
Install languages哪里，选择简体中文(Chinese Simplified)，点击Save，再随便点击任何一个链接，界面就变成中文了</p>
<p>6、此方法同样适用于CentOS5.3</p>
<p>7、ispcp邮局问题请参考这篇文章：<a href="http://www.187299.com/archives/1049" target="_blank">http://www.187299.com/archives/1049</a></p>
<p>8、Proftpd启动失败及登录失败请参考这篇文章：</p>
<p><a href="http://www.187299.com/archives/1052" target="_blank">http://www.187299.com/archives/1052</a></p>
]]></content:encoded>
			<wfw:commentRss>http://www.187299.com/archives/435/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>smtp、esmtp、pop3命令使用</title>
		<link>http://www.187299.com/archives/96</link>
		<comments>http://www.187299.com/archives/96#comments</comments>
		<pubDate>Mon, 20 Apr 2009 08:00:00 +0000</pubDate>
		<dc:creator>admin</dc:creator>
				<category><![CDATA[Network]]></category>
		<category><![CDATA[Mail]]></category>

		<guid isPermaLink="false">http://www.momati.net/archives/96</guid>
		<description><![CDATA[SMTP命令： HELO fqdn  识别发送SMTP主机 MAIL FROM:&#60;sender&#62;  识别邮件发件人 RCPT TO:&#60;recipient&#62; 识别邮件收信人信息 DATA    指示发送主机邮件数据发送已经准备好 RSET    中断当前邮件传输... ]]></description>
			<content:encoded><![CDATA[<p><span style="font-size: small;">SMTP命令：</span></p>
<p><span style="font-size: small;">HELO fqdn  识别发送SMTP主机<br />
MAIL FROM:&lt;sender&gt;  识别邮件发件人<br />
RCPT TO:&lt;recipient&gt; 识别邮件收信人信息<br />
DATA    指示发送主机邮件数据发送已经准备好<br />
RSET    中断当前邮件传输<br />
VRFY string  允许发送主机在发送邮件前验证收件人的有效性<br />
HELP    列出接收主机能支持的SMTP命令<br />
QUIT    中断并关闭SMTP会话<br />
TURN    触发收信服务器发送队列中的消息到发信服务器</span></p>
<p><span id="more-96"></span></p>
<p><span style="font-size: small;">ESMTP命令：</span></p>
<p><span style="font-size: small;">ATRN    只有会话是被验证的才运行<br />
ETRN    指定邮件传递的远程主机<br />
PIPELINING   允许SMTP命令批量发送而不需要得到回应<br />
CHUNKING     允许更有效的发送大的MIME邮件<br />
X-EXPS GSSAPI NTLM LOGIN  使用一种有效的认证机制，Kerberos和NTLM<br />
X-EXPS=LOGIN  使用一种认证机制支持兼容Exchange Server5.5的NTLM<br />
X-LINK2STATE  指定支持Exchange 2000连接状态命令<br />
XEXCH50    用于在邮件中传输Exchang特定的内容<br />
STARTTLS   在SMTP客户和服务器之间提供SSL连接</span></p>
<p><span style="font-size: small;">POP3命令：</span></p>
<p><span style="font-size: small;">USER name   提供用户名<br />
PASS string 提供用户密码<br />
STAT        提供邮箱状态<br />
LIST        列举出邮件的项目<br />
RETR msg    读取邮件<br />
DELE msg    将邮件标记为删除<br />
NOOP        不做任何事情，仅返回一个回应<br />
RSET        中断当前操作，将标记为删除的邮件恢复<br />
QUIT        退出POP3会话<br />
</span><br />
转载自：http://hi.baidu.com/harhun/blog/item/cb22dd8bd0b43c15c8fc7abb.html</p>
]]></content:encoded>
			<wfw:commentRss>http://www.187299.com/archives/96/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Linux提取特定字符</title>
		<link>http://www.187299.com/archives/118</link>
		<comments>http://www.187299.com/archives/118#comments</comments>
		<pubDate>Tue, 31 Mar 2009 02:43:00 +0000</pubDate>
		<dc:creator>admin</dc:creator>
				<category><![CDATA[Linux]]></category>
		<category><![CDATA[Mail]]></category>
		<category><![CDATA[shell]]></category>

		<guid isPermaLink="false">http://www.momati.net/archives/118</guid>
		<description><![CDATA[cat maildress &#124; cut -d\&#60; -f2&#124; cut -d\&#62; -f1 &#62; test.txt cat test1 &#124; grep "@163.com" &#62; test2 用excel的高级筛选功能可以删除重复的... ]]></description>
			<content:encoded><![CDATA[<p><span style="font-size: small;">cat maildress | cut -d\&lt; -f2| cut -d\&gt; -f1 &gt; test.txt<br />
cat test1 | grep "@<a href="http://163.com/">163.com</a>" &gt; test2</span></p>
<p><span style="font-size: small;">用excel的高级筛选功能可以删除重复的行</span></p>
]]></content:encoded>
			<wfw:commentRss>http://www.187299.com/archives/118/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>转载：smtp 认证过程(163.com)</title>
		<link>http://www.187299.com/archives/132</link>
		<comments>http://www.187299.com/archives/132#comments</comments>
		<pubDate>Thu, 12 Mar 2009 06:43:00 +0000</pubDate>
		<dc:creator>admin</dc:creator>
				<category><![CDATA[Network]]></category>
		<category><![CDATA[Mail]]></category>

		<guid isPermaLink="false">http://www.momati.net/archives/132</guid>
		<description><![CDATA[220 163.com Anti-spam GT for Coremail System (163com[20050206]) ehlo www.163.com 250-mail 250-PIPELINING 250-AUTH LOGIN PLAIN 250-AUTH=LOGIN PLAIN 250 8BITMIME auth login 334 dXNlcm5hbWU6 c2hpeWF5b3U=   --此为用户名的base64编码，请用下面... ]]></description>
			<content:encoded><![CDATA[<p><span style="font-size: small;">220 163.com Anti-spam GT for Coremail System (163com[20050206])</span></p>
<p><span style="font-size: small;">ehlo www.163.com</span></p>
<p><span style="font-size: small;">250-mail</span></p>
<p><span style="font-size: small;">250-PIPELINING</span></p>
<p><span style="font-size: small;">250-AUTH LOGIN PLAIN</span></p>
<p><span style="font-size: small;">250-AUTH=LOGIN PLAIN</span></p>
<p><span style="font-size: small;">250 8BITMIME</span></p>
<p><span style="font-size: small;">auth login</span></p>
<p><span style="font-size: small;">334 dXNlcm5hbWU6</span></p>
<p><span style="font-size: small;">c2hpeWF5b3U=   <span style="color: #ff0102;">--此为用户名的base64编码，请用下面那个网址进行转换，注意有些smtp服务器的认证用户名是包含所在域，即形如user@example.com</span></span></p>
<p><span style="font-size: small;">334 UGFzc3dvcmQ6</span></p>
<p><span style="font-size: small;">**********     <span style="color: #ff0102;">--此为密码的base64编码</span></span></p>
<p><span style="font-size: small;">235 Authentication successful</span></p>
<p><span style="font-size: small;">mail from: &lt;shiyayou@163.com&gt;</span></p>
<p><span style="font-size: small;">250 Mail OK</span></p>
<p><span style="font-size: small;"><span id="more-132"></span><br />
</span></p>
<p><span style="font-size: small;">完成认证,这里有一个计算base64的网站,我想有机会自已写一个方法!</span></p>
<p><span style="font-size: small;">哈哈哈哈</span></p>
<p><span style="font-size: small;">http://www.zhanzz.com/gj/base64.htm</span></p>
<p><span style="font-size: small;">当然我把密码给屏蔽了,我现在还不知道它逆向能不能进行!</span></p>
<p><span style="font-size: small;">以下的是从网上摘的!</span></p>
<p><span style="font-size: small;">smtp 协议的一些东东^_^- -</span></p>
<p><span style="font-size: small;"> </span></p>
<p><span style="font-size: small;"><br />
</span></p>
<p><span style="font-size: small;">SMTP命令简介</span></p>
<p><span style="font-size: small;">什么是 SMTP </span></p>
<p><span style="font-size: small;">SMTP (Simple Mail Transfer Protocol) :</span></p>
<p><span style="font-size: small;">电子邮件从客户机传输到服务器或从某一个服务器传输到另一个服务器使用的传输协议。 SMTP 是请求/响应协议，命令和响应都是基于 ASCII</span></p>
<p><span style="font-size: small;">文本，并以 CR 和 LF 符结束。响应包括一个表示返回状态的三位数字代码。SMTP 在 TCP 协议 25 端口监听连接请求。 </span></p>
<p><span style="font-size: small;">什么是 ESMTP </span></p>
<p><span style="font-size: small;">ESMTP (Extended SMTP)，顾名思义，扩展 SMTP 就是对标准 SMTP 协议进行的扩展。它与 SMTP</span></p>
<p><span style="font-size: small;">服务的区别仅仅是，使用 SMTP 发信不需要验证用户帐户，而用 ESMTP 发信时，</span></p>
<p><span style="font-size: small;">服务器会要求用户提供用户名和密码以便验证身份。验证之后的邮件发送过程与 SMTP 方式没有两样。 </span></p>
<p><span style="font-size: small;">SMTP 命令 </span></p>
<p><span style="font-size: small;">SMTP 命令包括： </span></p>
<p><span style="font-size: small;">HELO 向服务器标识用户身份。发送者能欺骗，说谎，但一般情况下服务器都能检测到。 </span></p>
<p><span style="font-size: small;">EHLO 向服务器标识用户身份。发送者能欺骗，说谎，但一般情况下服务器都能检测到。 </span></p>
<p><span style="font-size: small;">MAIL FROM 命令中指定的地址是发件人地址 </span></p>
<p><span style="font-size: small;">RCPT TO 标识单个的邮件接收人；可有多个 RCPT TO；常在 MAIL 命令后面。 </span></p>
<p><span style="font-size: small;">DATA 在单个或多个 RCPT 命令后，表示所有的邮件接收人已标识，并初始化数据传输，以 CRLF.CRLF 结束 </span></p>
<p><span style="font-size: small;">VRFY 用于验证指定的用户/邮箱是否存在；由于安全方面的原因，服务器常禁止此命令 </span></p>
<p><span style="font-size: small;">EXPN 验证给定的邮箱列表是否存在，扩充邮箱列表，也常被禁用 </span></p>
<p><span style="font-size: small;">HELP 查询服务器支持什么命令 </span></p>
<p><span style="font-size: small;">NOOP 无操作，服务器应响应 OK </span></p>
<p><span style="font-size: small;">RSET 重置会话，当前传输被取消 </span></p>
<p><span style="font-size: small;">QUIT 结束会话 </span></p>
<p><span style="font-size: small;">连接 Winmail Server 使用 SMTP 命令发送邮件 </span></p>
<p><span style="font-size: small;">例如：安装 Winmail 的邮件服务器IP是192.168.0.1 </span></p>
<p><span style="font-size: small;">telnet 192.168.0.1 25 --------------------- 使用 telnet 命令连接服务器 25 端口 </span></p>
<p><span style="font-size: small;">Trying 192.168.0.1... --------------------- 正在连接服务器 25 端口 </span></p>
<p><span style="font-size: small;">Connected to 192.168.0.1. ------------------- 连接服务器 25 端口成功 </span></p>
<p><span style="font-size: small;">220 Winmail Mail Server ESMTP ready ----------- 显示服务器的标识名称 (Winmail 管理工具-&gt;高级设置-&gt;系统参数-&gt;基本参数中可更改) </span></p>
<p><span style="font-size: small;">helo cnu.com ------------------------------------------------ 向服务器标识用户身份，发信不要认证，跳过下面几步直接发送 mail from 命令 </span></p>
<p><span style="font-size: small;">250 Winmail Mail Server </span></p>
<p><span style="font-size: small;">ehlo cnu.com ------------------------------------------------ ESMTP 命令,发信需要认证。 </span></p>
<p><span style="font-size: small;">250-Winmail Mail Server </span></p>
<p><span style="font-size: small;">250-PIPELINING </span></p>
<p><span style="font-size: small;">250-AUTH=LOGIN PLAIN </span></p>
<p><span style="font-size: small;">250-AUTH LOGIN PLAIN </span></p>
<p><span style="font-size: small;">250-SIZE 20480000 </span></p>
<p><span style="font-size: small;">250 8BITMIME </span></p>
<p><span style="font-size: small;">auth login ------------------------------------------------- 进行用户身份认证 </span></p>
<p><span style="font-size: small;">334 VXNlcm5hbWU6 </span></p>
<p><span style="font-size: small;">Y29zdGFAYW1heGl0Lm5ldA== ----------------------------------- BASE64 加密后的用户名 </span></p>
<p><span style="font-size: small;">334 UGFzc3dvcmQ6 </span></p>
<p><span style="font-size: small;">MTk4MjIxNA== ----------------------------------------------- BASE64 加密后的密码 </span></p>
<p><span style="font-size: small;">235 auth successfully -------------------------------------- 身份认证成功 </span></p>
<p><span style="font-size: small;">(535 auth failure ------------------------------------------ 身份认证失败) </span></p>
<p><span style="font-size: small;">发到本系统中域名下的账户可跳过身份认证。 </span></p>
<p><span style="font-size: small;">mail from: &lt;test1@domain.com&gt; ------------------------------ mail from 地址 test1@domain.com </span></p>
<p><span style="font-size: small;">250 ok ----------------------------------------------------- 命令执行成功 </span></p>
<p><span style="font-size: small;">rcpt to: &lt;test2@domain.com&gt; -------------------------------- 递送给地址 test2@domain.com </span></p>
<p><span style="font-size: small;">250 ok ----------------------------------------------------- 命令执行成功 </span></p>
<p><span style="font-size: small;">data ------------------------------------------------------- 数据传输初始化 </span></p>
<p><span style="font-size: small;">354 go ahead ----------------------------------------------- 开始传输数据 </span></p>
<p><span style="font-size: small;">From: test1@domain.com </span></p>
<p><span style="font-size: small;">To: test2@domain.com </span></p>
<p><span style="font-size: small;">Date: Mon, 25 Oct 2004 14:24:27 +0800 </span></p>
<p><span style="font-size: small;">Subject: test mail </span></p>
<p><span style="font-size: small;">Hi, test2 </span></p>
<p><span style="font-size: small;">This is a test mail, you don't reply it. </span></p>
<p><span style="font-size: small;">. </span></p>
<p><span style="font-size: small;">------------------------------------------------------------ 数据内容,包括BASE64加密后的邮件内容, 以 CRLF.CRLF 结束数据传输 </span></p>
<p><span style="font-size: small;">250 ok message accepted for delivery ----------------------- 命令执行成功 </span></p>
<p><span style="font-size: small;">quit ------------------------------------------------------- 结束会话 </span></p>
<p><span style="font-size: small;">221 Winmail Mail Server </span></p>
<p><span style="font-size: small;">Connection closed by foreign host .------------------------- 断开连接</span></p>
<p><span style="font-size: small;">转载于：http://hi.baidu.com/leshy/blog/item/816f728b20dba712c9fc7a2d.html</span></p>
]]></content:encoded>
			<wfw:commentRss>http://www.187299.com/archives/132/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>hMailServer+Roundcube+APMServ+希网二级域名+ADSL搭建邮件服务器</title>
		<link>http://www.187299.com/archives/142</link>
		<comments>http://www.187299.com/archives/142#comments</comments>
		<pubDate>Sun, 14 Dec 2008 03:52:00 +0000</pubDate>
		<dc:creator>admin</dc:creator>
				<category><![CDATA[MS]]></category>
		<category><![CDATA[Mail]]></category>

		<guid isPermaLink="false">http://www.momati.net/archives/142</guid>
		<description><![CDATA[我们的目标是：将免费进行到底，Linux下的免费开源邮件解决方案很多了，如Emos，iRedOS等， Windows下的就是hMailServer，可惜这个默认没有webmail，只能用客户端进行收发，网上看到有篇文章介绍hMa... ]]></description>
			<content:encoded><![CDATA[<p><span style="font-size: small;">我们的目标是：将免费进行到底，Linux下的免费开源邮件解决方案很多了，如Emos，iRedOS等，<br />
Windows下的就是hMailServer，可惜这个默认没有webmail，只能用客户端进行收发，网上看到有篇文章介绍hMailServer和Roundcube整合的，可惜不是很详细，所以决定自己整合下，另外，hMailServer默认就支持Squirrelmail，带了Squirrelmail Plugins的插件，但</span><span style="font-size: small;">Squirrelmail</span><span style="font-size: small;">默认不支持中文，还需要下载语言包，Roundcube就内置了简体中文语言包。</span></p>
<p><span style="font-size: small;">Windows下免费的开源邮件解决方案<br />
主要参考文章：<br />
HOWTO: Install Roundcube with IIS6 and hMs internal DB：</p>
<p>http://www.hmailserver.com/forum/viewtopic.php?t=5591</span></p>
<p><span style="font-size: small;">开源的邮件服务器hMailServer：</p>
<p>http://www.alog.cn/article.asp?id=59</span></p>
<p><span style="font-size: small;">IRedMail-doc-MySQL-0.2-Roundcubemail-0.1.1</span><br />
<span style="font-size: small;">http://www.iredmail.org/wiki/index.php/IRedMail-doc-MySQL-0.2-Roundcubemail-0.1.1</span></p>
<p><span style="font-size: small;"><span id="more-142"></span><br />
</span></p>
<p><span style="font-size: small;">系统环境：<br />
Windows 2003 Standard Edition</span></p>
<p><span style="font-size: small;">所用软件：<br />
Apache+Mysql+PHP环境：<br />
APMServ5.2.6（选择Mysql版本为5.1）</span></p>
<p><span style="font-size: small;">Mail Server：<br />
hMailServer-4.4.2-B277</span></p>
<p><span style="font-size: small;">webmail程序：<br />
roundcubemail-0.1.1</span></p>
<p><span style="font-size: small;">一、将APMServ5.2.6解压缩到D盘下，修改php.ini文件,注意，每次修改php.ini后，要重启apache，</span></p>
<p><span style="font-size: small;">打开APMServ5.2.6，选择PHP设置---》修改配置文件</span></p>
<p><span style="font-size: small;">将101行的<br />
output_buffering = off<br />
修改为<br />
output_buffering = on<br />
当默认为off时,会报以下错误：<br />
Warning: session_start() [function.session-start]: Cannot send session cache limiter - headers already sent (output started at D:\APMServ5.2.6\www\htdocs\webmail\installer\index.php:8) in D:\APMServ5.2.6\www\htdocs\webmail\installer\index.php on line 29</span></p>
<p><span style="font-size: small;">虽然对安装没影响，但总感觉不爽的</span></p>
<p><span style="font-size: small;">将第441行的<br />
magic_quotes_gpc = on<br />
修改为<br />
magic_quotes_gpc = off</span></p>
<p><span style="font-size: small;">将第995行的<br />
;session.save_path = "/tmp"<br />
修改为，请根据实际路径修改<br />
session.save_path = "D:/APMServ5.2.6/tmp/sessiondata"</span></p>
<p><span style="font-size: small;">二、安装hMailServer-4.4.2-B277</span></p>
<p><span style="font-size: small;">一直默认，去到“Select database server type”时，选择下面的“Use external database server”，然后一直next，去到数据库配置界面，打开APMServ，并点击“启动APMServ”（注意不要在安装hMailserver之前就启动APMServ,否则数据库配置的界面一直出不来，不知道为什么），选择“新建hMailserver数据库”，下一步，选择“MySQL Server”，下一步，填入数据库相关信息，本例中，数据距服务器地址：localhost, TCP端口：3306，数据库名：hmailserver，用户名：root，密码留空（APMServ5.2.6的Mysqlroot用户密码默认就是空），点击下一步，hMailserver安装程序会建立一个hmailserver的数据库，并将初始数据导入进去。接下来设置hMailServer管理员帐号administrator的密码。安装完毕，可以开启。</span></p>
<p><span style="font-size: small;">三、建立数据库，初始化数据库，修改roundcube相关文件</span></p>
<p><span style="font-size: small;">点击开始---》运行，输入cmd,去到D:\APMServ5.2.6\MySQL5.1\bin目录下，</span></p>
<p><span style="font-size: small;">###########新建roundcube会用到的数据库##########<br />
D:\APMServ5.2.6\MySQL5.1\bin&gt;mysqladmin.exe -uroot create roundcube</span></p>
<p><span style="font-size: small;">将roundcubemail-0.1.1解压缩到D:\APMServ5.2.6\www\htdocs下，命名为webmail,初始化roundcube<br />
##########初始化数据库############<br />
D:\APMServ5.2.6\MySQL5.1\bin&gt;mysql.exe -uroot roundcube &lt; D:\APMServ5.2.6\www\htdocs\webmail\SQL\mysql5.initial.sql</span></p>
<p><span style="font-size: small;">新建一个操作roundcube数据库的用户：<br />
D:\APMServ5.2.6\MySQL5.1\bin&gt;mysql.exe -uroot<br />
Welcome to the MySQL monitor.  Commands end with ; or \g.<br />
Your MySQL connection id is 19<br />
Server version: 5.1.28-rc-community MySQL Community Server (GPL)</span></p>
<p><span style="font-size: small;">Type 'help;' or '\h' for help. Type '\c' to clear the buffer.</span></p>
<p><span style="font-size: small;">#############新建数据库用户##############<br />
mysql&gt; use mysql;<br />
Database changed<br />
mysql&gt; insert into user(host,user,password) values ("localhost","roundcube",password("123456"));<br />
Query OK, 1 row affected, 3 warnings (0.00 sec)</span></p>
<p><span style="font-size: small;">########刷新权限，使改变生效###########<br />
mysql&gt; flush privileges;<br />
Query OK, 0 rows affected (0.00 sec)</span></p>
<p><span style="font-size: small;">########赋予用户roundcube对数据库roundcube的全权权限###########<br />
mysql&gt; grant all on roundcube.* to roundcube@"localhost";<br />
Query OK, 0 rows affected (0.00 sec)</span></p>
<p><span style="font-size: small;">########刷新权限，使改变生效###########<br />
mysql&gt;flush privileges;<br />
Query OK, 0 rows affected (0.00 sec)</span></p>
<p><span style="font-size: small;">去到D:\APMServ5.2.6\www\htdocs\webmail\config下，将db.inc.php.dist，main.inc.php.dist改名为db.inc.php，main.inc.php，用文本编辑器打开db.inc.php,<br />
根据以上的操作将<br />
$rcmail_config['db_dsnw'] = 'mysql://roundcube:pass@localhost/roundcubemail';<br />
修改为<br />
$rcmail_config['db_dsnw'] = 'mysql://roundcube:123456@localhost/roundcube';</span></p>
<p><span style="font-size: small;">用文本编辑器打开main.inc.php<br />
########开启安装#######<br />
将<br />
$rcmail_config['enable_installer'] = false;<br />
修改为<br />
$rcmail_config['enable_installer'] = true;</span></p>
<p><span style="font-size: small;">#########修改系统默认语言为中文#########<br />
将<br />
$rcmail_config['locale_string'] = 'en';<br />
修改为<br />
$rcmail_config['locale_string'] = 'zh_CN';</span></p>
<p><span style="font-size: small;">##########修改时区###############<br />
将<br />
$rcmail_config['timezone'] = intval(date('O'))/100 - date('I');<br />
修改为<br />
$rcmail_config['timezone'] = 8;</span></p>
<p><span style="font-size: small;">四、申请带MX记录功能的二级域名：</span></p>
<p><span style="font-size: small;">登录：www.3322.org，注册一个用户，申请一个二级域名，如aaa.8800.org,下载客户端，然后安装，打开客户端<br />
选择管理帐号，域名填aaa.8800.org，用户名，密码等填你注册时填写的，MX记录填写aaa.8800.org，然后点击增加，最后确定，等到“状态”列显示为可用，ping aaa.8800.org，看ping出来的地址是否就是你的公网IP</span></p>
<p><span style="font-size: small;">五、路由的NAT设置</span></p>
<p><span style="font-size: small;">登录路由器，做以下几个端口的NAT，假设架设邮件服务器的内网IP是192.168.1.121</span></p>
<p><span style="font-size: small;">IMAP 143 192.168.1.121<br />
POP  110 192.168.1.121<br />
SMTP 25  192.168.1.121<br />
HTTP 80  192.168.1.121</span></p>
<p><span style="font-size: small;">六、新建Domain，建立该Domain帐号：<br />
打开hMailServer，输入密码连接，右键Domains，选择add，Domain name 填入aaa.8800.org，点击Save，然后选择增加帐号，如Account address为test,Password为123456，点击Save，</span></p>
<p><span style="font-size: small;">选择Settings--》Protocols--》SMTP--》Delivery of e-mail,在Host name填入aaa.8800.org，点击Save。</span></p>
<p><span style="font-size: small;">七、安装Roundcube</span></p>
<p><span style="font-size: small;">打开浏览器，输入http://aaa.8800.org/webmail/installer<br />
点击START INSTALLSTION,去到下一个页面，显示FileInfo:  NOT AVAILABLE和PostgreSQL:  NOT AVAILABLE（我们用的是Mysql，所以这个NOT AVAILABLE是没有关系的），不必理会，点击NEXT，最后一个测试配置的页面：</span></p>
<p><span style="font-size: small;">Test SMTP settings<br />
Sender填写test@aaa.8800.org,Recipient填写收信人，经实践，发到QQ邮箱的马上就收到，我们填写一个QQ邮箱，如test@qq.com,点击 Send test mail，可能显示不成功，但过一会就OK了，可能是hMailserver处理没那么快吧！</span></p>
<p><span style="font-size: small;">Test SMTP settings<br />
Server: PHP mail()<br />
Port: 25</span></p>
<p><span style="font-size: small;">#############表示OK了#########<br />
Trying to send email...<br />
SMTP send:  OK </span></p>
<p><span style="font-size: small;">Sender  test@aaa.8800.org<br />
Recipient  test@qq.com</span></p>
<p><span style="font-size: small;">Test IMAP configuration<br />
Server  aaa.8800.org<br />
Port 143<br />
Username  test@aaa.8800.org<br />
Password  123456</span></p>
<p><span style="font-size: small;">点击Check login,结果应该是：</span></p>
<p><span style="font-size: small;">Connecting to aaa.8800.org...<br />
IMAP connect:  OK(SORT capability: yes) </span></p>
<p><span style="font-size: small;">好了，现在全都安装好了，删除installer文件夹，可以用浏览器打开http://aaa.8800.org/webmail/进行登录测试发邮件了。</span></p>
<p><span style="font-size: small;">已知问题：<br />
直接发信到163收不到，但用163发信过来，可以收到，再回复过去，163那边就可以收到。</span></p>
]]></content:encoded>
			<wfw:commentRss>http://www.187299.com/archives/142/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>RHEL5.0+Postfix+Oray+ADSL+顶级域名架设邮件服务器</title>
		<link>http://www.187299.com/archives/197</link>
		<comments>http://www.187299.com/archives/197#comments</comments>
		<pubDate>Sun, 30 Mar 2008 13:36:00 +0000</pubDate>
		<dc:creator>admin</dc:creator>
				<category><![CDATA[Linux]]></category>
		<category><![CDATA[Mail]]></category>

		<guid isPermaLink="false">http://www.momati.net/archives/197</guid>
		<description><![CDATA[主要参考了以下这两篇文章 RHEL4上安装基于postfix的全功能邮件服务器(全部使用目前最新源码包构建) http://bbs.chinaunix.net/thread-987344-1-1.html RHEL5上安装Postfix+dovecot+MailScanner+spamassassin+f-prot+SquirrelMai... ]]></description>
			<content:encoded><![CDATA[<p>主要参考了以下这两篇文章<br />
RHEL4上安装基于postfix的全功能邮件服务器(全部使用目前最新源码包构建)<br />
<a href="http://bbs.chinaunix.net/thread-987344-1-1.html">http://bbs.chinaunix.net/thread-987344-1-1.html</a><br />
RHEL5上安装Postfix+dovecot+MailScanner+spamassassin+f-prot+SquirrelMail<br />
<a href="http://bbs.chinaunix.net/thread-982988-1-1.html">http://bbs.chinaunix.net/thread-982988-1-1.html</a></p>
<p>一、系统安装</p>
<p>宿主机系统：Windows XP<br />
VMare版本：VMware Workstation 5.0.0 build-13124<br />
虚拟机系统：RedHat Enterprise Linux 5.0<br />
新建虚拟机系统，系统类型那里选择RedHat Enterprise Linux 4.0，硬盘空间请根据自己需要进行分配，其他默认<br />
开启虚拟机，选择图形化安装向导，软件选择方面，请在以下相应栏目选择本例中会用到的软件：MySQL、Apache、PHP、Cyrus-sasl、SpamAssassin</p>
<p>1、桌面环境：不安装<br />
2、应用程序：选择基于文本的互联网和编辑器<br />
3、开发：开发工具、开发库里的软件包全部安装（这样做的目的，是防止在接下来的软件安装中，安装程序提示缺少某个包，如果你觉得哪些包没必要，请去除）<br />
4、服务器：请根据上文所提软件包进行选择，邮件服务器中，安装Cyrus-sasl、SpamAssassin，其余不装<br />
5、基本系统：注意去掉sendmail，X窗口也不装，其余默认。</p>
<p><span id="more-197"></span></p>
<p>二、准备工作</p>
<p>1、域名解释设置<br />
@ MX记录 q1874.vicp.net.<br />
<a href="http://www.q1874.cn">www.q1874.cn</a> CNAME记录 q1874.vicp.net.</p>
<p>2、花生壳 for linux 安装<br />
下载：<a href="http://down1.tech.sina.com.cn/download/downContent/2005-11-25/16233.shtml">http://down1.tech.sina.com.cn/download/downContent/2005-11-25/16233.shtml</a><br />
下载适合您的unix/linux版本的安装包文件，使用root身份解压缩安装包</p>
<p># tar xzf phlinux-1.0-install.fc5.tar.gz</p>
<p>安装包文件将解压缩至phlinux_install目录中</p>
<p># cd phlinux_install</p>
<p>执行安装脚本</p>
<p># ./install.sh</p>
<p>执行安装脚本后,将自动以互动配置模式的phlinux程序</p>
<p>输入web服务的地址,直接回车</p>
<p>Runing phlinux for first configuration...<br />
Peanuthull Linux-core 1.0 by oray.net, copyright 2005<br />
No user configuration found, entering interactive mode automatically!</p>
<p>Peanuthull Linux-core Interactive startup.<br />
Please input service address(press ENTER use phservice.oray.net):</p>
<p>输入花生壳服务器地址,直接回车</p>
<p>Please input server address(press ENTER use PH031.Oray.Net):</p>
<p>此处提示输入您的花生护照登陆名</p>
<p>Please input username(press ENTER use ):</p>
<p>此处提供输入花生护照登陆密码</p>
<p>Please input password:</p>
<p>系统提示是否保存配置文件,在这里输入yes回车.</p>
<p>Save to configuration file (/etc/phlinux.conf)?(yes/no):</p>
<p>以上操作完成,系统将自动登录花生壳服务器,用户可以通过web方式查看当前花生壳客户端的运行状态.<br />
花生壳客户端使用 6160端口提供web检测服务,例如 <a href="http://192.168.1.126:6160/">http://192.168.1.126:6160/</a><br />
此监测页面将完全的反应当前花生壳的运行状态.<br />
也可通过以下命令在后台运行花生壳<br />
#/usr/local/phlinux/phlinux -d</p>
<p>3、路由中的NAT设置<br />
虚拟服务名称  内部主机    协议   外部端口 内部端口<br />
smtp          192.168.126 tcp    25       25<br />
pop           192.168.126 tcp    110      110<br />
httpd         192.168.126 tcp    80        80</p>
<p>4、本例中，为使工作更加方便，在宿主系统中建立文件夹rhel5,共享，并设置为“允许网络用户可更改我的文件”<br />
宿主系统IP为192.168.1.124，虚拟机系统IP为192.168.1.126，<br />
虚拟机系统<br />
#mkdir /mnt/share<br />
将IP为192.168.1.124的XP系统中的共享rhel5挂载到/mnt/share下，rhxp和123456请分别改为你XP系统中的登录名和密码，需要什么软件，直接在xp下下载好，再放到rhel5下即可<br />
#mount -t cifs -o username=rhxp,password=123456 //192.168.1.124/rhel5 /mnt/share</p>
<p>5、用以下命令检查sendmail与exim是否已安装，如果安装，请卸载之<br />
#rpm -qa | grep sendmail<br />
#rpm -qa | grep exim<br />
卸载<br />
#rpm -e --nodeps sendmail<br />
#rpm -e --nodeps exim</p>
<p>6、用以下命令启动apche、mysqld服务<br />
# service httpd start<br />
# service mysqld start<br />
# chkconfig --level 345 mysqld on<br />
# chkconfig --level 345 httpd on</p>
<p>7、编辑apache配置文件httpd.conf，以apache支持php<br />
# vi /etc/httpd/conf/httpd.conf<br />
1、添加如下二行<br />
AddType application/x-httpd-php  .php<br />
AddType application/x-httpd-php-source  .phps</p>
<p>2、定位至DirectoryIndex index.html<br />
修改为：<br />
DirectoryIndex  index.php  index.html</p>
<p>3、按照使用习惯，这里将网站根目录指定到/var/www：<br />
找到DocumentRoot “/var/www/html”<br />
修改为：DocumentRoot “/var/www”(后文中我们还会注释掉此行，以启用虚拟主机)</p>
<p>找到&lt;Directory “/var/www/html”&gt;<br />
修改为：&lt;Directory “/var/www”&gt;</p>
<p>三、安装openssl-0.9.8e</p>
<p># tar zxvf openssl-0.9.8e.tar.gz<br />
# cd openssl-0.9.8e<br />
# ./config shared zlib<br />
# make<br />
# make test<br />
# make install<br />
# mv /usr/bin/openssl /usr/bin/openssl.OFF<br />
# mv /usr/include/openssl /usr/include/openssl.OFF<br />
# rm /usr/lib/libssl.so<br />
# ln -s /usr/local/ssl/bin/openssl /usr/bin/openssl<br />
# ln -s /usr/local/ssl/include/openssl /usr/include/openssl<br />
# ln -sv /usr/local/ssl/lib/libssl.so.0.9.8  /usr/lib/libssl.so</p>
<p>配置库文件搜索路径<br />
# echo "/usr/local/ssl/lib" &gt;&gt; /etc/ld.so.conf<br />
# ldconfig -v</p>
<p>四、启动sasl</p>
<p># saslauthd -a shadow pam<br />
# testsaslauthd -u root -p 系统root密码<br />
# echo "saslauthd -a shadow pam" &gt;&gt; /etc/rc.local</p>
<p>五、安装Postfix-2.4.3</p>
<p>1．安装<br />
#rpm -ivh mysql-devel-5.0.22-2.1.i386.rpm (可在装系统的时候装上)<br />
#rpm -ivh db4-devel-4.3.29-9.fc6.i386.rpm (可在装系统的时候装上)<br />
#groupadd -g 2525 postfix<br />
#useradd -g postfix -u 2525 -s /sbin/nologin -M postfix<br />
#groupadd -g 2526 postdrop<br />
#useradd -g postdrop -u 2526 -s /bin/false -M postdrop<br />
#tar zxvf Postfix-2.4.3.tar.gz<br />
#cd Postfix-2.4.3<br />
#make makefiles 'CCARGS=-DHAS_MYSQL -I/usr/include/mysql -DUSE_SASL_AUTH -DUSE_CYRUS_SASL -I/usr/include/sasl -DUSE_TLS -I/usr/local/ssl/include/openssl ' 'AUXLIBS=-L/usr/lib/mysql -lmysqlclient -lz -lm -L/usr/lib -L/usr/include/sasl -lsasl2 -L/usr/local/ssl/lib -lssl -lcrypto'<br />
#make<br />
#make install</p>
<p>按照以下的提示输入相关的路径([]号中的是缺省值，”]”后的是输入值)</p>
<p>install_root: [/] /<br />
tempdir: [/usr/local/src/Postfix-2.4.3] /tmp<br />
config_directory: [/etc/postfix]<br />
daemon_directory: [/usr/libexec/postfix] /usr/local/postfix/libexec<br />
command_directory: [/usr/sbin] /usr/local/postfix/sbin<br />
queue_directory: [/var/spool/postfix]<br />
sendmail_path: [/usr/sbin/sendmail]<br />
newaliases_path: [/usr/bin/newaliases]<br />
mailq_path: [/usr/bin/mailq]<br />
mail_owner: [postfix]<br />
setgid_group: [postdrop]<br />
html_directory: [no] /var/www/postfix_html<br />
manpages: [/usr/local/man] /usr/local/postfix/man<br />
readme_directory: [no]</p>
<p>说明：这里的postfix将安装在独立的目录/usr/local/postfix中，目的是为了方便管理；您亦可以采用默认安装的方式，可能这样使用起来会更为方便些；</p>
<p>生成别名二进制文件，这个步骤如果忽略，会造成postfix效率极低：<br />
#  newaliases</p>
<p>2．进行一些基本配置，测试启动postfix并进行发信<br />
#vi /etc/postfix/main.cf<br />
修改以下几项为您需要的配置<br />
myhostname = mail.q1874.cn<br />
myorigin = $mydomain<br />
mydomain = mail.q1874.cn<br />
mydestination = $myhostname, localhost.$mydomain, localhost, $mydomain<br />
mynetworks = 192.168.1.0/24, 127.0.0.0/8</p>
<p>说明:<br />
myorigin参数用来指明发件人所在的域名；<br />
mydestination参数指定postfix接收邮件时收件人的域名，即您的postfix系统要接收到哪个域名的邮件；<br />
myhostname 参数指定运行postfix邮件系统的主机的主机名，默认情况下，其值被设定为本地机器名；<br />
mydomain参数指定您的域名，默认情况下，postfix将myhostname的第一部分删除而作为mydomain的值；<br />
mynetworks 参数指定你所在的网络的网络地址，postfix系统根据其值来区别用户是远程的还是本地的，如果是本地网络用户则允许其访问；<br />
inet_interfaces 参数指定postfix系统监听的网络接口；</p>
<p>注意：<br />
1、在postfix的配置文件中，参数行和注释行是不能处在同一行中的；<br />
2、任何一个参数的值都不需要加引号，否则，引号将会被当作参数值的一部分来使用；<br />
3、每修改参数及其值后执行 postfix reload 即可令其生效；但若修改了inet_interfaces，则需重新启动postfix；<br />
4、如果一个参数的值有多个，可以将它们放在不同的行中，只需要在其后的每个行前多置一个空格即可；postfix会把第一个字符为空格或tab的文本行视为上一行的延续；</p>
<p>启动postfix，不要安装exim 或用 service exim stop停止它，否则它会把25端口占用，导致postfix无法启动<br />
/usr/local/postfix/sbin/postfix  start</p>
<p>连接postfix，验正服务启动状况：开头部分是英文的为手工输入，这里特别说明下，<br />
因为之前输入了telnet localhost 25后就在那里等，以为ehlo mail.q1874.cn会自动出现，结果每次都超时，<br />
直到后来在网上搜索才知道要手工输入。<br />
# telnet localhost 25<br />
Trying 127.0.0.1...<br />
Connected to localhost.localdomain (127.0.0.1).<br />
Escape character is '^]'.<br />
220 mail.q1874.cn ESMTP Postfix<br />
ehlo mail.q1874.cn<br />
250-mail.q1874.cn<br />
250-PIPELINING<br />
250-SIZE 10240000<br />
250-VRFY<br />
250-ETRN<br />
250-ENHANCEDSTATUSCODES<br />
250-8BITMIME<br />
250 DSN<br />
mail from:root@q1874.cn<br />
250 2.1.0 Ok<br />
rcpt to:redhat@q1874.cn<br />
250 2.1.5 Ok<br />
data<br />
354 End data with &lt;CR&gt;&lt;LF&gt;.&lt;CR&gt;&lt;LF&gt;<br />
subject:Mail test!<br />
Mail test!!!<br />
.<br />
250 2.0.0 Ok: queued as AB94A1A561<br />
quit<br />
221 2.0.0 Bye<br />
Connection closed by foreign host.</p>
<p>切换到redhat用户进行收信：<br />
# su - redhat<br />
$ mail<br />
Mail version 8.1 6/6/93.  Type ? for help.<br />
"/var/spool/mail/redhat": 1 message 1 new<br />
&gt;N  1 <a href="mailto:root@q1874.cn">root@q1874.cn</a> Wed Sep  5 10:59  15/488   "Mail test!"<br />
&amp;</p>
<p>六、为postfix开启基于cyrus-sasl的认证功能</p>
<p>使用以下命令验正postfix是否支持cyrus风格的sasl认证，如果您的输出为以下结果，则是支持的：<br />
# /usr/local/postfix/sbin/postconf  -a<br />
cyrus<br />
dovecot</p>
<p>#vi /etc/postfix/main.cf<br />
添加以下内容：<br />
############################CYRUS-SASL############################<br />
broken_sasl_auth_clients = yes<br />
smtpd_recipient_restrictions=permit_mynetworks,permit_sasl_authenticated,reject_invalid_hostname,reject_non_fqdn_hostname,reject_unknown_sender_domain,reject_non_fqdn_sender,reject_non_fqdn_recipient,reject_unknown_recipient_domain,reject_unauth_pipelining,reject_unauth_destination<br />
smtpd_sasl_auth_enable = yes<br />
smtpd_sasl_local_domain = $myhostname<br />
smtpd_sasl_security_options = noanonymous<br />
smtpd_sasl_application_name = smtpd<br />
smtpd_banner = Welcome to our $myhostname ESMTP,Warning: Version not Available!</p>
<p>#vi /usr/lib/sasl2/smtpd.conf<br />
添加如下内容：<br />
pwcheck_method: saslauthd<br />
mech_list: PLAIN LOGIN</p>
<p>让postfix重新加载配置文件<br />
#/usr/local/postfix/sbin/postfix reload</p>
<p># telnet localhost 25<br />
Trying 127.0.0.1...<br />
Connected to localhost.localdomain (127.0.0.1).<br />
Escape character is '^]'.<br />
220 Welcome to our mail.q1874.cn ESMTP,Warning: Version not Available!<br />
ehlo mail.q1874.cn<br />
250-mail.q1874.cn<br />
250-PIPELINING<br />
250-SIZE 10240000<br />
250-VRFY<br />
250-ETRN<br />
250-AUTH PLAIN LOGIN<br />
250-AUTH=PLAIN LOGIN               （请确保您的输出以类似两行）<br />
250-ENHANCEDSTATUSCODES<br />
250-8BITMIME<br />
250 DSN<br />
quit</p>
<p>七、让postfix支持虚拟域和虚拟用户</p>
<p>1、编辑/etc/postfix/main.cf，添加如下内容：<br />
########################Virtual Mailbox Settings########################<br />
virtual_mailbox_base = /var/spool/mail<br />
virtual_mailbox_maps = mysql:/etc/postfix/mysql_virtual_mailbox_maps.cf<br />
virtual_mailbox_domains = mysql:/etc/postfix/mysql_virtual_domains_maps.cf<br />
virtual_alias_domains =<br />
virtual_alias_maps = mysql:/etc/postfix/mysql_virtual_alias_maps.cf<br />
virtual_uid_maps = static:2525<br />
virtual_gid_maps = static:2525<br />
virtual_transport = virtual<br />
maildrop_destination_recipient_limit = 1<br />
maildrop_destination_concurrency_limit = 1<br />
##########################QUOTA Settings########################<br />
message_size_limit = 14336000<br />
virtual_mailbox_limit = 20971520<br />
virtual_create_maildirsize = yes<br />
virtual_mailbox_extended = yes<br />
virtual_mailbox_limit_maps = mysql:/etc/postfix/mysql_virtual_mailbox_limit_maps.cf<br />
virtual_mailbox_limit_override = yes<br />
virtual_maildir_limit_message = Sorry, the user's maildir has overdrawn his diskspace quota, please Tidy your mailbox and try again later.<br />
virtual_overquota_bounce = yes</p>
<p>2、添加为支持虚拟域和虚拟用户所用到的配置文件</p>
<p>编辑/etc/postfix/mysql_virtual_alias_maps.cf ，添加如下内容：<br />
user = extmail<br />
password = extmail<br />
hosts = localhost<br />
dbname = extmail<br />
table = alias<br />
select_field = goto<br />
where_field = address</p>
<p>编辑/etc/postfix/mysql_virtual_domains_maps.cf ，添加如下内容：<br />
user = extmail<br />
password = extmail<br />
hosts = localhost<br />
dbname = extmail<br />
table = domain<br />
select_field = description<br />
where_field = domain</p>
<p>编辑/etc/postfix/mysql_virtual_mailbox_limit_maps.cf ，添加如下内容：<br />
user = extmail<br />
password = extmail<br />
hosts = localhost<br />
dbname = extmail<br />
table = mailbox<br />
select_field = quota<br />
where_field = username</p>
<p>编辑/etc/postfix/mysql_virtual_mailbox_maps.cf ，添加如下内容：<br />
user = extmail<br />
password = extmail<br />
hosts = localhost<br />
dbname = extmail<br />
table = mailbox<br />
select_field = maildir<br />
where_field = username</p>
<p>说明：<br />
1、这里用到的数据库及用户的建立可以后文中的extmail说明部分来实现，您可以参照那一部分来理解这里指定的数据库及其用户名等；<br />
2、以上新建文件亦可以从extman安装文件中获得，您也可以由此不用手动输入；<br />
3、虚拟用户邮箱目录我这里沿用了/var/spool/mail，你可以指定为别的目录，比如常见到的/var/spool/mail，或者/home/domains等；但如果这里做了修改，请在后文中用到时作了相应的修改；</p>
<p>八、安装Courier authentication library</p>
<p># tar jxvf courier-authlib-0.59.3.tar.bz2<br />
# cd courier-authlib-0.59.3<br />
./configure --prefix=/usr/local/courier-authlib --sysconfdir=/etc --without-authpam --without-authldap --without-authpwd --without-authshadow --without-authvchkpw --without-authpgsql --with-authmysql --with-mysql-libs==/usr/lib/mysql --with-mysql-includes==/usr/include/mysql --with-redhat --with-authmysqlrc=/etc/authmysqlrc --with-authdaemonrc=/etc/authdaemonrc CFLAGS="-march=i686 -O2 -fexpensive-optimizations" CXXFLAGS="-march=i686 -O2 -fexpensive-optimizations"<br />
# make<br />
# make install</p>
<p># chmod 755 /usr/local/courier-authlib/var/spool/authdaemon<br />
# cp /etc/authdaemonrc.dist  /etc/authdaemonrc<br />
# cp /etc/authmysqlrc.dist  /etc/authmysqlrc</p>
<p>修改/etc/authdaemonrc 文件<br />
authmodulelist="authmysql"<br />
authmodulelistorig="authmysql"<br />
daemons=10</p>
<p>编辑/etc/authmysqlrc 为以下内容，其中2525，2525 为postfix 用户的UID和GID。<br />
MYSQL_SERVER localhost<br />
MYSQL_PORT 3306                   (指定你的mysql监听的端口，这里使用默认的3306)<br />
MYSQL_USERNAME  extmail      (这时为后文要用的数据库的所有者的用户名)<br />
MYSQL_PASSWORD extmail        (密码)<br />
MYSQL_SOCKET  /var/lib/mysql/mysql.sock<br />
MYSQL_DATABASE  extmail<br />
MYSQL_USER_TABLE  mailbox<br />
MYSQL_CRYPT_PWFIELD  password<br />
MYSQL_UID_FIELD  '2525'<br />
MYSQL_GID_FIELD  '2525'<br />
MYSQL_LOGIN_FIELD  username<br />
MYSQL_HOME_FIELD  concat('/var/spool/mail/',maildir)<br />
MYSQL_NAME_FIELD  name<br />
MYSQL_MAILDIR_FIELD  concat('/var/spool/mail/',maildir)</p>
<p># cp courier-authlib.sysvinit /etc/init.d/courier-authlib<br />
# chmod 755 /etc/init.d/courier-authlib<br />
# chkconfig --add courier-authlib<br />
# chkconfig --level 2345 courier-authlib on</p>
<p>#echo "/usr/local/courier-authlib/lib/courier-authlib" &gt;&gt; /etc/ld.so.conf<br />
# ldconfig -v<br />
# service courier-authlib start   (启动服务)</p>
<p>九、安装Courier-IMAP</p>
<p># tar jxvf courier-imap-4.1.3.tar.bz2<br />
# cd courier-imap-4.1.3<br />
./configure --prefix=/usr/local/courier-imap --with-redhat --enable-unicode --disable-root-check --with-trashquota --without-ipv6 CPPFLAGS='-I/usr/local/ssl/include/openssl  -I/usr/local/courier-authlib/include' LDFLAGS='-L/usr/local/courier-authlib/lib/courier-authlib' COURIERAUTHCONFIG='/usr/local/courier-authlib/bin/courierauthconfig'<br />
#cd imap<br />
#vi Makefile<br />
将<br />
CFLAGS = -I.. -I./.. -Wall -g -O2<br />
修改为<br />
CFLAGS = -I/usr/local/courier-authlib/include -I.. -I./.. -Wall -g -O2<br />
#cd ..<br />
# make<br />
# make install</p>
<p># cp /usr/local/courier-imap/etc/imapd.dist /usr/local/courier-imap/etc/imapd<br />
# cp /usr/local/courier-imap/etc/imapd-ssl.dist /usr/local/courier-imap/etc/imapd-ssl<br />
# cp /usr/local/courier-imap/etc/pop3d.dist /usr/local/courier-imap/etc/pop3d<br />
# cp /usr/local/courier-imap/etc/pop3d-ssl.dist /usr/local/courier-imap/etc/pop3d-ssl</p>
<p>配置Courier-IMAP，为用户提供pop3服务：<br />
vi /usr/local/courier-imap/etc/pop3d<br />
POP3DSTART=YES</p>
<p>注：如果你想为用户提供IMAP服务，则需在"/usr/local/courier-imap/etc/imapd"文件中设置"IMAPDSTART=yes"；其它类同；</p>
<p>将虚拟用户邮箱所在的目录权限赋予postfix用户：<br />
#chown –R postfix /var/spool/mail</p>
<p>#cp courier-imap.sysvinit /etc/rc.d/init.d/courier-imapd<br />
#chmod 755 /etc/rc.d/init.d/courier-imapd<br />
#chkconfig --add courier-imapd<br />
#chkconfig --level 2345 courier-imapd on<br />
#service courier-imapd start</p>
<p>接下来重新配置SMTP 认证，编辑 /usr/lib/sasl2/smtpd.conf ，确保其为以下内容：<br />
pwcheck_method: authdaemond<br />
log_level: 3<br />
mech_list:PLAIN LOGIN<br />
authdaemond_path:/usr/local/courier-authlib/var/spool/authdaemon/socket</p>
<p>十、安装Extmail-1.0.2</p>
<p>1、安装<br />
# tar zxvf extmail-1.0.2.tar.gz<br />
# mkdir -pv /var/www/extsuite<br />
# mv extmail-1.0.2 /var/www/extsuite/extmail<br />
# cp /var/www/extsuite/extmail/webmail.cf.default  /var/www/extsuite/extmail/webmail.cf</p>
<p>2、修改主配置文件<br />
#vi /var/www/extsuite/extmail/webmail.cf</p>
<p>部分修改选项的说明：</p>
<p>SYS_MESSAGE_SIZE_LIMIT = 5242880<br />
用户可以发送的最大邮件</p>
<p>SYS_USER_LANG = en_US<br />
语言选项，可改作：<br />
SYS_USER_LANG = zh_CN</p>
<p>SYS_MAILDIR_BASE = /home/domains<br />
此处即为您在前文所设置的用户邮件的存放目录，可改作：<br />
SYS_MAILDIR_BASE = /var/spool/mail</p>
<p>SYS_MYSQL_USER = db_user<br />
SYS_MYSQL_PASS = db_pass<br />
以上两句句用来设置连接数据库服务器所使用用户名、密码和邮件服务器用到的数据库，这里修改为：<br />
SYS_MYSQL_USER = extmail<br />
SYS_MYSQL_PASS = extmail</p>
<p>SYS_MYSQL_HOST = localhost<br />
指明数据库服务器主机名，这里默认即可</p>
<p>SYS_MYSQL_TABLE = mailbox<br />
SYS_MYSQL_ATTR_USERNAME = username<br />
SYS_MYSQL_ATTR_DOMAIN = domain<br />
SYS_MYSQL_ATTR_PASSWD = password<br />
以上用来指定验正用户登录里所用到的表，以及用户名、域名和用户密码分别对应的表中列的名称；这里默认即可</p>
<p>SYS_AUTHLIB_SOCKET = /var/spool/authdaemon/socket<br />
此句用来指明authdaemo socket文件的位置，这里修改为：<br />
SYS_AUTHLIB_SOCKET = /usr/local/courier-authlib/var/spool/authdaemon/socket</p>
<p>3、apache相关配置</p>
<p>由于extmail要进行本地邮件的投递操作，故必须将运行apache服务器用户的身份修改为您的邮件投递代理的用户；本例中打开了apache服务器的suexec功能，故使用以下方法来实现虚拟主机运行身份的指定。此例中的MDA为postfix自带，因此将指定为postfix用户：<br />
&lt;VirtualHost *:80&gt;<br />
ServerName mail.q1874.cn<br />
DocumentRoot /var/www/extsuite/extmail/html/<br />
ScriptAlias /extmail/cgi /var/www/extsuite/extmail/cgi<br />
Alias /extmail /var/www/extsuite/extmail/html<br />
SuexecUserGroup postfix postfix<br />
&lt;/VirtualHost&gt;</p>
<p>修改 cgi执行文件属主为apache运行身份用户：<br />
# chown -R postfix.postfix /var/www/extsuite/extmail/cgi/</p>
<p>如果您没有打开apache服务器的suexec功能,也可以使用以下方法解决：<br />
# vi /etc/httpd/httpd.conf<br />
User postfix<br />
Group postfix</p>
<p>&lt;VirtualHost *:80&gt;<br />
ServerName mail.q1874.cn<br />
DocumentRoot /var/www/extsuite/extmail/html/<br />
ScriptAlias /extmail/cgi /var/www/extsuite/extmail/cgi<br />
Alias /extmail /var/www/extsuite/extmail/html<br />
&lt;/VirtualHost&gt;</p>
<p>4、依赖关系的解决</p>
<p>extmail将会用到perl的Unix::syslogd功能，您可以去<a href="http://search.cpan.org">http://search.cpan.org</a>搜索下载原码包进行安装。<br />
# tar zxvf Unix-Syslog-0.100.tar.gz<br />
# cd Unix-Syslog-0.100<br />
# perl Makefile.PL<br />
# make<br />
# make install</p>
<p>十一、安装Extman-0.2.2</p>
<p>1、安装及基本配置</p>
<p>#tar zxvf  extman-0.2.2.tar.gz<br />
# mv extman-0.2.2 /var/www/extsuite/extman</p>
<p>修改配置文件以符合本例的需要：<br />
# vi /var/www/extsuite/extman/webman.cf</p>
<p>SYS_MAILDIR_BASE = /home/domains<br />
此处即为您在前文所设置的用户邮件的存放目录，可改作：<br />
SYS_MAILDIR_BASE = /var/spool/mail</p>
<p>使用extman源码目录下docs目录中的extmail.sql和init.sql建立数据库：</p>
<p># cd /var/www/extsuite/extman/docs<br />
# mysql -u root -p &lt;extmail.sql<br />
# mysql -u root -p &lt;init.sql</p>
<p>修改cgi目录的属主：<br />
# chown -R postfix.postfix /var/www/extsuite/extman/cgi/</p>
<p>如果extman访问数据库权限不足的话，可采用以下命令将新生成的数据库赋予webman用户具有所有权限：<br />
mysql&gt; GRANT all privileges on extmail.* TO <a href="mailto:webman@localhost">webman@localhost</a> IDENTIFIED BY 'webman';<br />
mysql&gt; GRANT all privileges on extmail.* TO <a href="mailto:webman@127.0.0.1">webman@127.0.0.1</a> IDENTIFIED BY 'webman';</p>
<p>在apache的主配置文件中Extmail的虚拟主机部分，添加如下两行：<br />
ScriptAlias /extman/cgi /var/www/extsuite/extman/cgi<br />
Alias /extman /var/www/extsuite/extman/html</p>
<p>创建其运行时所需的临时目录，并修改其相应的权限：<br />
#mkdir  -pv  /tmp/extman<br />
#chown postfix.postfix  /tmp/extman</p>
<p>十二、安装maildrop-2.0.4</p>
<p>maildrop是一个使用C++编写的用来代替本地MDA的带有过滤功能邮件投递代理，是courier邮件系统组件之一。它从标准输入接受信息并投递到用户邮箱；maildrop既可以将邮件投递到mailboxes格式邮箱，亦可以将其投递到maildirs格式邮箱。同时，maildrop可以从文件中读取入站邮件过滤指示，并由此决定是将邮件送入用户邮箱或者转发到其它地址等。和procmail不同的是，maildrop使用结构化的过滤语言，因此，邮件系统管理员可以开发自己的过滤规则并应用其中。</p>
<p>我们在此将使用maildrop来代替postfix自带的MDA，并以此为基础扩展后文的邮件杀毒和反垃圾邮件功能的调用；在此可能会修改前文中的许多设置，请确保您的设置也做了相应的修改。</p>
<p>1、安装</p>
<p>将courier-authlib的头文件及库文件链接至/usr目录(编译maildrop时会到此目录下找此些相关的文件):<br />
# ln -sv /usr/local/courier-authlib/bin/courierauthconfig   /usr/bin<br />
# ln -sv /usr/local/courier-authlib/include/*   /usr/include</p>
<p>maildrop需要pcre的支持，因此，接下来将首先安装pcre<br />
# tar jxvf pcre-7.3.tar.bz2<br />
# cd pcre-7.3<br />
# ./configure<br />
# make<br />
# make check<br />
# make install</p>
<p># groupadd -g 1001 vmail<br />
# useradd -g vmail -u 1001 -M -s /sbin/nologin vmail<br />
# tar jxvf maildrop-2.0.4.tar.bz2<br />
# cd maildrop-2.0.4<br />
#./configure --enable-sendmail=/usr/sbin/sendmail --enable-trusted-users='root vmail' --enable-syslog=1 --enable-maildirquota --enable-maildrop-uid=1001 --enable-maildrop-gid=1001 --with-trashquota --with-dirsync<br />
# make<br />
# make install</p>
<p>检查安装结果，请确保有"Courier Authentication Library extension enabled."一句出现：<br />
# maildrop -v<br />
maildrop 2.0.4 Copyright 1998-2005 Double Precision, Inc.<br />
GDBM extensions enabled.<br />
Courier Authentication Library extension enabled.<br />
Maildir quota extension enabled.<br />
This program is distributed under the terms of the GNU General Public<br />
License. See COPYING for additional information.</p>
<p>2、新建其配置文件/etc/maildroprc文件，首先指定maildrop的日志记录位置：<br />
# vi /etc/maildroprc<br />
添加：<br />
logfile "/var/log/maildrop.log"</p>
<p># touch /var/log/maildrop.log<br />
# chown vmail.vmail /var/log/maildrop.log</p>
<p>3、配置Postfix</p>
<p>编辑master.cf<br />
# vi /etc/postfix/master.cf<br />
启用如下两行<br />
maildrop  unix  -       n       n       -       -       pipe<br />
flags=DRhu user=vmail argv=/usr/local/bin/maildrop -d ${recipient}</p>
<p>注意：定义transport的时候，即如上两行中的第二行，其参数行必须以空格开头，否则会出错。</p>
<p>编辑main.cf<br />
# vi /etc/postfix/main.cf<br />
virtual_transport = virtual<br />
修改为：<br />
virtual_transport = maildrop</p>
<p>将下面两项指定的UID和GID作相应的修改:<br />
virtual_uid_maps = static:2525<br />
virtual_gid_maps = static:2525<br />
修改为:<br />
virtual_uid_maps = static:1001<br />
virtual_gid_maps = static:1001</p>
<p>4、编辑/etc/authmysqlrc</p>
<p># vi /etc/authmysqrc<br />
MYSQL_UID_FIELD  '2525'<br />
MYSQL_GID_FIELD  '2525'<br />
更改为：<br />
MYSQL_UID_FIELD  '1001'<br />
MYSQL_GID_FIELD  '1001'</p>
<p>注意：没有此处的修改，maildrop可能会报告 “signal 0x06”的错误报告。</p>
<p>5、编辑/etc/httpd/httpd.conf，修改运行用户:</p>
<p>如果启用了suexec的功能，则将虚拟主机中指定的<br />
SuexecUserGroup postfix postfix<br />
修改为：<br />
SuexecUserGroup vmail vmail</p>
<p>如果没有使用上面的功能，则修改User和Group指令后的用户为vmail<br />
将前文中的如下项<br />
User postfix<br />
Group postfix<br />
修改为：<br />
User vmail<br />
Group vmail</p>
<p>6、将用户邮件所在的目录/var/spool/mail和extman的临时目录/tmp/extman的属主和属组指定为vmail<br />
#chown -R vmail.vmail /var/spool/mail<br />
#chown -R vmail.vmail /tmp/extman<br />
#chown -R vmail.vmail /var/www/extsuite/extmail/cgi/<br />
#chown -R vmail.vmail /var/www/extsuite/extman/cgi/</p>
<p>接下来重新启动postfix和apache，进行发信测试后，如果日志中的记录类同以下项，则安装成功</p>
<p>Sep 16 12:04:43 Ixor postfix/pipe[14266]: 46B491A5CB: to=&lt;<a href="mailto:marion@test.com">marion@test.com</a>&gt;, relay=maildrop, delay=2306, delays=2306/0.04/0/0.07, dsn=2.0.0, status=sent (delivered via maildrop service)</p>
<p>(1) 如果您安装后无法正常显示校验码，安装perl-GD模块会解决这个问题。如果想简单，您可以到以下地址下载适合您的平台的rpm包，安装即可：  <a href="http://dries.ulyssis.org/rpm/packages/perl-GD/info.html">http://dries.ulyssis.org/rpm/packages/perl-GD/info.html</a><br />
# rpm -ivh /mnt/share/perl-GD-2.35-1.el5.rf.i386.rpm<br />
(2) extman-0.2.2自带了图形化显示日志的功能；此功能需要rrdtool的支持，您需要安装此些模块才可能正常显示图形日志。</p>
<p>2、(新增2007.9.18)配置Mailgraph_ext，使用Extman的图形日志：</p>
<p>接下来安装图形日志的运行所需要的软件包Time::HiRes、File::Tail和rrdtool，其中前两个包您可以去<a href="http://search.cpan.org">http://search.cpan.org</a>搜索并下载获得，后一个包您可以到 <a href="http://oss.oetiker.ch/rrdtool/pub/?M=D">http://oss.oetiker.ch/rrdtool/pub/?M=D</a>下载获得； 注意安装顺序不能改换。</p>
<p>安装Time::HiRes<br />
#tar zxvf Time-HiRes-1.9707.tar.gz<br />
#cd Time-HiRes-1.9707<br />
#perl Makefile.PL<br />
#make<br />
#make test<br />
#make install</p>
<p>安装File::Tail<br />
#tar zxvf File-Tail-0.99.3.tar.gz<br />
#cd File-Tail-0.99.3<br />
#perl Makefile<br />
#make<br />
#make test<br />
#make install</p>
<p>安装GD库<br />
<a href="http://sourceforge.net/">http://sourceforge.net/</a> 好多源代码包可以在上面找到</p>
<p>安装步骤：</p>
<p>先安装freetype,libpng,jpeg,再装GD</p>
<p>1.安装libpng</p>
<p>tar zxvf libpng-1.2.7.tar.tar<br />
cd libpng-1.2.7<br />
cd scripts/<br />
mv makefile.linux ../makefile<br />
cd ..<br />
make<br />
make install<br />
注意，这里的makefile不是用./configure生成，而是直接从scripts/里拷一个</p>
<p>2.安装freetype</p>
<p>tar zxvf freetype-2.1.9.tar.gz<br />
cd freetype-2.1.9<br />
./configure<br />
make<br />
make install</p>
<p>3.安装Jpeg</p>
<p>tar zxvf jpegsrc.v6b.tar.gz<br />
cd jpeg-6b/<br />
./configure --enable-shared<br />
make<br />
make test<br />
make install<br />
注意，这里configure一定要带--enable-shared参数，不然，不会生成共享库</p>
<p>4.安装gettext<br />
cp /usr/lib/libattr.* /lib/<br />
tar xzf gettext-0.17.tar.gz<br />
cd gettext-0.17<br />
./configure<br />
make<br />
make install</p>
<p>5.安装GD<br />
tar zxvf gd-2.0.33.tar.gz<br />
cd gd-2.0.33<br />
./configure --with-png --with-freetype --with-jpeg<br />
make install</p>
<p>6.安装libart<br />
tar xzf libart_lgpl-2.3.17.tar.gz<br />
cd libart_lgpl-2.3.17/<br />
./configure<br />
make<br />
make install<br />
ln -s /usr/local/include/libart-2.0 /usr/include/libart-2.0<br />
ln -s /usr/local/include/freetype2 /usr/include/freetype2</p>
<p>以上工作均是为安装rrdtool做准备，现在安装rrdtool-1.2.23<br />
#tar zxvf rrdtool-1.2.23.tar.gz<br />
#cd rrdtool-1.2.23<br />
#./configure --prefix=/usr/local/rrdtool<br />
#make<br />
#make install</p>
<p>创建必要的符号链接(Extman会到这些路径下找相关的库文件)<br />
ln -sv /usr/local/rrdtool/lib/perl/5.8.8/i386-linux-thread-multi/auto/RRDs/RRDs.so   /usr/lib/perl5/5.8.5/i386-linux-thread-multi/<br />
ln -sv /usr/local/rrdtool/lib/perl/5.8.8/RRDp.pm   /usr/lib/perl5/5.8.5<br />
ln -sv /usr/local/rrdtool/lib/perl/5.8.8/i386-linux-thread-multi/RRDs.pm   /usr/lib/perl5/5.8.5</p>
<p>复制mailgraph_ext到/usr/local，并启动之<br />
cp -r /var/www/extsuite/extman/addon/mailgraph_ext  /usr/local<br />
cp /usr/local/lib/libpng.so.0 /lib/libpng.so.0<br />
/usr/local/mailgraph_ext/mailgraph-init  start<br />
/usr/local/mailgraph_ext/qmonitor-init  start</p>
<p>添加到自动启动队列<br />
echo "/usr/local/mailgraph_ext/mailgraph-init start" &gt;&gt; /etc/rc.local<br />
echo "/usr/local/mailgraph_ext/qmonitor-init start" &gt;&gt; /etc/rc.local</p>
<p>好了，接下来您就可以到extman的后台查看图表日志了。</p>
<p>十三、安装clamav-0.91.2</p>
<p>最新的clamav-0.91.2需要zlib-1.2.2以上的版本的支持，而RHEL4上的版本为zlib-1.2.1，因此您需要先升级zlib</p>
<p>1、安装clamav-0.91.2</p>
<p>添加ClamAV运行所需的组和用户：<br />
#groupadd clamav<br />
#useradd -g clamav -s /sbin/nologin -M clamav</p>
<p>添加配合amavisd-new使用的用户amavis<br />
#groupadd amavis<br />
#useradd -g amavis -s /sbin/nologin -M amavis</p>
<p>#tar zxvf clamav-0.91.2.tar.gz<br />
#cd clamav-0.91.2<br />
#./configure --prefix=/usr/local/clamav --with-dbdir=/usr/local/clamav/share --sysconfdir=/etc/clamav<br />
#make<br />
#make check<br />
#make install</p>
<p>2、配置Clam AntiVirus：</p>
<p>编辑主配置文件：<br />
#vi /etc/clamav/clamd.conf</p>
<p>注释掉第八行的Example,如下：<br />
# Example</p>
<p>找到如下行<br />
#LogFile /tmp/clamd.log<br />
#PidFile /var/run/clamd.pid<br />
LocalSocket /tmp/clamd.socket<br />
#DatabaseDirectory /var/lib/clamav<br />
#User clamav<br />
修改为：<br />
LogFile /var/log/clamav/clamd.log<br />
PidFile /var/run/clamav/clamd.pid<br />
LocalSocket /var/run/clamav/clamd.socket<br />
DatabaseDirectory /usr/local/clamav/share<br />
User amavis</p>
<p>启用以下选项<br />
LogSyslog yes<br />
LogFacility LOG_MAIL<br />
LogVerbose yes<br />
StreamMaxLength 20M  (后面的数值应该与邮件服务器允许的最大附件值相一致)</p>
<p>编辑更新进程的配置文件<br />
#vi /etc/clamav/freshclam.conf</p>
<p>注释掉Example，如下:<br />
# Example</p>
<p>找到如下行<br />
#DatabaseDirectory /var/lib/clamav<br />
#UpdateLogFile /var/log/freshclam.log<br />
PidFile /var/run/freshclam.pid<br />
分别修改为：<br />
DatabaseDirectory /usr/local/clamav/share<br />
UpdateLogFile /var/log/clamav/freshclam.log<br />
PidFile /var/run/clamav/freshclam.pid</p>
<p>启用以下选项：<br />
DatabaseMirror db.XY.clamav.net  (这里也可以把XY改成您的国家代码来实现，比如，我们用cn来代替)<br />
LogSyslog yes<br />
LogFacility LOG_MAIL<br />
LogVerbose yes</p>
<p>3、建立日志所在的目录、进程与socket所在的目录，并让它属于clamav用户：</p>
<p># mkdir -v /var/log/clamav<br />
# chown -R amavis.amavis /var/log/clamav<br />
# mkdir -v /var/run/clamav<br />
# chmod 700 /var/run/clamav<br />
# chown -R amavis.amavis /var/run/clamav</p>
<p>建立freshlog的日志文件<br />
#touch  /var/log/clamav/freshclam.log<br />
#chown  clamav.clamav  /var/log/clamav/freshclam.log</p>
<p>4、配置crontab，让Clam AntiVirus每小时检测一次新的病毒库：</p>
<p># crontab -e<br />
添加：<br />
37 * * * * /usr/local/clamav/bin/freshclam</p>
<p>5、配置库文件搜索路径：</p>
<p># echo “/usr/local/clamav/lib” &gt;&gt; /etc/ls.so.conf<br />
# ldconfig -v</p>
<p>6、配置clamav开机自动启动</p>
<p># cp contrib/init/RedHat/clamd  /etc/rc.d/init.d/clamd<br />
# cp contrib/init/RedHat/clamav-milter  /etc/rc.d/init.d/clamav-milter<br />
# chkconfig --add clamd<br />
# chkconfig --add clamav-milter<br />
# chkconfig --level 2345 clamd on<br />
# chkconfig --level 2345 clamav-milter on</p>
<p>编辑/etc/rc.d/init.d/clamd，将服务进程的路径指向刚才的安装目录<br />
#vi /etc/rc.d/init.d/clamd<br />
找到如下行<br />
progdir="/usr/local/sbin"<br />
修改为：<br />
progdir="/usr/local/clamav/sbin"</p>
<p>启动clamd<br />
#service clamd start</p>
<p>十四、编辑Spamassassin-3.2.3主配置文件</p>
<p>1、编辑/etc/mail/spamassassin/local.cf<br />
#vi /etc/mail/spamassassin/local.cf</p>
<p>required_hits 10.0<br />
rewrite_subject 1<br />
required_score 5.0<br />
rewrite_header Subject *****SPAM*****<br />
report_safe     1<br />
use_bayes       1<br />
bayes_auto_learn        1<br />
skip_rbl_checks         1<br />
use_razor2      0<br />
use_pyzor       0<br />
ok_locales      all</p>
<p>2、检查配置文件</p>
<p>#spamassassin -d --lint</p>
<p>如果出现以下错误，可把local.cf里的rewrite_subject 1注释掉，即在前面加#，不影响使用<br />
[1034] warn: config: failed to parse line, skipping: rewrite_subject 1<br />
[1034] warn: lint: 1 issues detected, please rerun with debug enabled for more information</p>
<p>3、启动进程，并将其加入到自动启动队列</p>
<p>#/usr/bin/spamd -d<br />
#echo "/usr/bin/spamd -d" &gt;&gt; /etc/rc.local</p>
<p>十五、安装amavisd-new-2.5.2</p>
<p>1、依赖关系的解决</p>
<p>以下为官方声明所必须的软件包列表，你可以采用以下方法进行安装<br />
#perl -MCPAN -e shell<br />
cpan&gt; install Archive::Zip</p>
<p>Archive::Zip   (Archive-Zip-x.xx) (1.14 or later should be used!)<br />
Compress::Zlib (Compress-Zlib-x.xx) (1.35 or later)<br />
Convert::TNEF  (Convert-TNEF-x.xx)<br />
Convert::UUlib (Convert-UUlib-x.xxx) (1.08 or later, stick to new versions!)<br />
MIME::Base64   (MIME-Base64-x.xx)<br />
MIME::Parser   (MIME-Tools-x.xxxx) (latest version from CPAN - currently 5.420)<br />
Mail::Internet (MailTools-1.58 or later have workarounds for Perl 5.8.0 bugs)<br />
Net::Server    (Net-Server-x.xx) (version 0.88 finally does setuid right)<br />
Digest::MD5    (Digest-MD5-x.xx) (2.22 or later)<br />
IO::Stringy    (IO-stringy-x.xxx)<br />
Time::HiRes    (Time-HiRes-x.xx) (use 1.49 or later, older can cause problems)<br />
Unix::Syslog   (Unix-Syslog-x.xxx)<br />
BerkeleyDB     with bdb library 3.2 or later (4.2 or later preferred)<br />
quit #退出cpan</p>
<p>2、安装amavisd-new-2.5.2</p>
<p>创建运行时目录，并赋予amavis用户（前文中所建）<br />
# mkdir -pv /var/amavis/{tmp,var,db,home}<br />
# chown -R amavis:amavis /var/amavis<br />
#chmod -R 750 /var/amavis</p>
<p>#tar zxvf amavisd-new-2.5.2.tar.gz<br />
#cd amavisd-new-2.5.2</p>
<p>拷贝服务端至$PATH中指定的目录，推荐拷贝至/usr/local/sbin：<br />
#cp amavisd /usr/local/sbin/<br />
#chown root /usr/local/sbin/amavisd<br />
#chmod 755  /usr/local/sbin/amavisd</p>
<p>拷贝主配置文件至/etc，并修改相应的权限：<br />
#cp amavisd.conf /etc<br />
# chown root:amavis /etc/amavisd.conf<br />
# chmod 640 /etc/amavisd.conf</p>
<p>创建amavisd运行中所需要的隔离区域：<br />
# mkdir -v /var/virusmails<br />
# chown amavis:amavis /var/virusmails/<br />
# chmod 750 /var/virusmails/</p>
<p>3、编辑主配置文件<br />
#vi /etc/amavisd.conf</p>
<p>确保您的如下选项的值如下文所示：<br />
$daemon_user  = 'amavis';<br />
$daemon_group = 'amavis';<br />
$mydomain = 'q1874.cn'; (此处可更改为您集体的域)</p>
<p>$virus_admin               = "postmaster\@$mydomain";<br />
$mailfrom_notify_admin     = "postmaster\@$mydomain";<br />
$mailfrom_notify_recip     = "postmaster\@$mydomain";<br />
$mailfrom_notify_spamadmin = "postmaster\@$mydomain";<br />
$mailfrom_to_quarantine = '';</p>
<p>virus_admin_maps =&gt; ["postmaster\@$mydomain"]    (指定报告病毒和垃圾邮件时发送系统邮件的用户身份)<br />
spam_admin_maps  =&gt; ["postmaster\@$mydomain"]</p>
<p>启用ClamAV,(大概在第355行)去掉如下行前的注释符:<br />
#['ClamAV-clamd',<br />
#     \&amp;ask_daemon, ["CONTSCAN {}\n", "/var/run/clamav/clamd"],<br />
#    qr/\bOK$/, qr/\bFOUND$/,<br />
#      qr/^.*?: (?!Infected Archive)(.*) FOUND$/ ],<br />
#     ['Mail::ClamAV', \&amp;ask_clamav, "*", [0], [1], qr/^INFECTED: (.+)/],</p>
<p>并将如上行中的/var/run/clamav/clamd修改为:/var/run/clamav/clamd.socket</p>
<p>4、测试启动</p>
<p>#/usr/local/sbin/amavisd</p>
<p>您也可以按如下命令调试启动<br />
#/usr/local/sbin/amavisd debug</p>
<p>5、修改postfix的配置，让它能调用amavisd，以实现病毒及垃圾邮件的过滤</p>
<p>#vi /etc/postfix/master.cf<br />
在文末添加如下内容：</p>
<p># ==========================================================================<br />
# service type  private unpriv  chroot  wakeup  maxproc command + args<br />
#               (yes)   (yes)   (yes)   (never) (100)<br />
# ==========================================================================<br />
#<br />
amavisfeed unix    -       -       n       -       2     smtp<br />
-o smtp_data_done_timeout=1200<br />
-o smtp_send_xforward_command=yes<br />
-o disable_dns_lookups=yes<br />
-o max_use=20<br />
#<br />
127.0.0.1:10025 inet n    -       n       -       -     smtpd<br />
-o content_filter=<br />
-o smtpd_delay_reject=no<br />
-o smtpd_client_restrictions=permit_mynetworks,reject<br />
-o smtpd_helo_restrictions=<br />
-o smtpd_sender_restrictions=<br />
-o smtpd_recipient_restrictions=permit_mynetworks,reject<br />
-o smtpd_data_restrictions=reject_unauth_pipelining<br />
-o smtpd_end_of_data_restrictions=<br />
-o smtpd_restriction_classes=<br />
-o mynetworks=127.0.0.0/8<br />
-o smtpd_error_sleep_time=0<br />
-o smtpd_soft_error_limit=1001<br />
-o smtpd_hard_error_limit=1000<br />
-o smtpd_client_connection_count_limit=0<br />
-o smtpd_client_connection_rate_limit=0<br />
-o receive_override_options=no_header_body_checks,no_unknown_recipient_checks,no_milters<br />
-o local_header_rewrite_clients=</p>
<p>说明：注意每行“-o”前的空格；</p>
<p>#vi /etc/postifx/main.cf<br />
在文末添加如下行：<br />
content_filter=amavisfeed:[127.0.0.1]:10024</p>
<p>6、让postfix重新加载主配置文件，并查看启动情况</p>
<p># postfix reload &amp;&amp; tail -f /var/log/maillog</p>
<p>7、查看amavisd是否在监听10024端口，并测试服务启动情况：</p>
<p># telnet localhost 10024<br />
Trying 127.0.0.1...<br />
Connected to localhost.localdomain (127.0.0.1).<br />
Escape character is '^]'.<br />
220 [127.0.0.1] ESMTP amavisd-new service ready<br />
EHLO localhost<br />
250-[127.0.0.1]<br />
250-VRFY<br />
250-PIPELINING<br />
250-SIZE<br />
250-ENHANCEDSTATUSCODES<br />
250-8BITMIME<br />
250-DSN<br />
250 XFORWARD NAME ADDR PROTO HELO<br />
Quit<br />
221 2.0.0 [127.0.0.1] amavisd-new closing transmission channel<br />
Connection closed by foreign host.</p>
<p>8、postfix重新加载配置文件后将授权并激活"127.0.0.1:10025"端口，一个正常的服务连接应该类同下面所示：</p>
<p># telnet localhost 10025<br />
Trying 127.0.0.1...<br />
Connected to localhost.localdomain (127.0.0.1).<br />
Escape character is '^]'.<br />
220 Welcome to our mail.q1874.cn ESMTP,Warning: Version not Available<br />
EHLO localhost<br />
250-mail.q1874.cn<br />
250-PIPELINING<br />
250-SIZE 14336000<br />
250-VRFY<br />
250-ETRN<br />
250-AUTH PLAIN LOGIN<br />
250-AUTH=PLAIN LOGIN<br />
250-ENHANCEDSTATUSCODES<br />
250-8BITMIME<br />
250 DSN<br />
QUIT<br />
221 2.0.0 Bye<br />
Connection closed by foreign host.</p>
<p>9、通过amavisd测试发信</p>
<p># telnet localhost 10024<br />
Trying 127.0.0.1...<br />
Connected to localhost.localdomain (127.0.0.1).<br />
Escape character is '^]'.<br />
220 [127.0.0.1] ESMTP amavisd-new service ready<br />
HELO localhost<br />
250 [127.0.0.1]<br />
MAIL FROM:&lt;&gt;<br />
250 2.1.0 Sender &lt;&gt; OK<br />
RCPT TO:&lt;postmaster&gt;<br />
250 2.1.5 Recipient &lt;postmaster&gt; OK<br />
DATA<br />
354 End data with &lt;CR&gt;&lt;LF&gt;.&lt;CR&gt;&lt;LF&gt;<br />
From:Anti-Virus tester<br />
To: MailServer Admin<br />
Subject:amavisd test!<br />
amavisd test!!<br />
.<br />
250 2.0.0 Ok: queued as 263FC1A609<br />
quit<br />
221 2.0.0 [127.0.0.1] amavisd-new closing transmission channel<br />
Connection closed by foreign host.</p>
<p>接下来使用root用户测试收信<br />
# mail<br />
Mail version 8.1 6/6/93.  Type ? for help.<br />
"/var/spool/mail/root": 1 message 1 new<br />
&gt;N  1 Anti-Virus tester     Wed Sep 19 01:19  23/798   "amavisd test!"<br />
&amp; 1<br />
Message 1:<br />
From MAILER-DAEMON  Wed Sep 19 01:19:16 2007<br />
X-Original-To: postmaster<br />
Delivered-To: <a href="mailto:postmaster@q1874.cn">postmaster@q1874.cn</a><br />
X-Quarantine-ID: &lt;3gmvpc8RxPtn&gt;<br />
X-Virus-Scanned: amavisd-new at q1874.cn<br />
X-Amavis-Alert: BAD HEADER, MIME error: error: unexpected end of header<br />
From:Anti-Virus tester<br />
To: MailServer Admin<br />
Subject:amavisd test!<br />
Date: Wed, 19 Sep 2007 01:19:15 +0800 (CST)</p>
<p>amavisd test!!</p>
<p>十六、测试使用反病毒及反垃圾模块</p>
<p>1、病毒邮件发送测试</p>
<p>登录extmail，发送带有病毒附件的邮件(病毒样本文件<a href="http://bbs.chinaunix.net/attachment.php?aid=213887">http://bbs.chinaunix.net/attachment.php?aid=213887</a>)，查看发送情况:<br />
2、垃圾邮件测试</p>
<p>登录extmail，新建一封邮件，拷贝以下内容作为邮件正文，并查看发送情况:</p>
<p>This is the GTUBE, the<br />
Generic<br />
Test for<br />
Unsolicited<br />
Bulk<br />
Email</p>
<p>If your spam filter supports it, the GTUBE provides a test by which you<br />
can verify that the filter is installed correctly and is detecting incoming<br />
spam. You can send yourself a test mail containing the following string of<br />
characters (in upper case and with no white spaces and line breaks):</p>
<p>XJS*C4JDBQADN1.NSBN3*2IDNEN*GTUBE-STANDARD-ANTI-UBE-TEST-EMAIL*C.34X</p>
<p>查看发送结果：<br />
#tail -15 /var/log/maillog<br />
# tail  -3  /var/log/clamav/clamd.log</p>
<p>大概花了三个星期，总算是弄好了，可以往公司的邮箱，163的邮箱发信，也可以正常收信，但无法向yahoo.cn发信，这是Yahoo的问题了，呵呵。一开始是按照marion大侠的文章做的，但一直不成功，不过我装的是RHEL AS 4.0，应该跟系统无关，后来看见zqli大侠的文章，是在RHEL5.0上实现的，然后就按照他的办法安装，看到后来，实在看不懂了，就又参考回marion的文章，所以，真的感谢Marion写了这么详细的文章，这里总结下这次的问题<br />
1、Marion的文章中，邮箱的路径用的是/var/mailbox，但我用这个路径，用公司的邮箱发信过来，查看maillog，提示是找不到用户，<br />
但如果我将路径改为/var/spool/mail，收信就正常，不知道是什么原因。<br />
2、maildrop -V 9 -d <a href="mailto:admin@q1874.cn">admin@q1874.cn</a> 这个命令可以检查帐号<a href="mailto:admin@q1874.cn">admin@q1874.cn</a>的一些配置参数是否正确<br />
3、/usr/local/postfix/sbin/postsuper -d ALL 可以删除所有未发出的邮件。<br />
4、希网网络（<a href="http://www.3322.org/">http://www.3322.org/</a>）的免费域名可以做MX记录，同样也有Linux下的客户端，那就不用花钱注册顶级域名了，昨天在Windows下用webmail试了下，可以正常收发信件，找个时间，再弄个希网网络的域名，让postfix管理两个域名的邮件，继续学习中！<br />
5、安装本邮件系统出现的问题，有一部分可以在本博客中找到办法，还有很多错误解决办法放在邮箱上了，有空再整理下。<br />
6、出了问题多看Log！</p>
]]></content:encoded>
			<wfw:commentRss>http://www.187299.com/archives/197/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
	</channel>
</rss>

