|
 
|
安裝:Qmail, Vpopmail, Qmail-pop3d, Courier-imap/imaps, Squirrelmail (webmail), Qmail-Scanner
// 我的安裝是使用 vpopmail 來管理帳戶, vpopmail 可以用 passwd, database 等方式
// 把 domain, 帳戶儲存, 而我就用了 database, pgsql, 當然也 support mysql
// 另外的是我使用了 maildir, 不是用 mailbox 方式
安裝 Qmail:
cd /usr/local/src
wget http://www.qmail.org/netqmail-1.05.tar.gz
tar zxvf netqmail-1.05.tar.gz ; cd netqmail-1.05
chmod 700 collate.sh
./collate.sh
cd netqmail-1.05
mkdir -p /var/qmail;
// 建立 qmail 脹戶
groupadd nofiles
useradd -g nofiles -d /var/qmail/alias alias
useradd -g nofiles -d /var/qmail qmaild
useradd -g nofiles -d /var/qmail qmaill
useradd -g nofiles -d /var/qmail qmailp
groupadd qmail
useradd -g qmail -d /var/qmail qmailq
useradd -g qmail -d /var/qmail qmailr
useradd -g qmail -d /var/qmail qmails
make setup check
./config-fast $yourdomain.com
安裝 ucspi-tcp
cd /usr/local/src
wget http://cr.yp.to/ucspi-tcp/ucspi-tcp-0.88.tar.gz
tar zxvf ucspi-tcp-0.88.tar.gz; cd ucspi-tcp-0.88
patch -p1 < /usr/local/src/qmail/netqmail-1.05/other-patches/ucspi-tcp-0.88.errno.patch
make
make setup check
安裝 daemontools
cd /usr/local/src
wget http://cr.yp.to/daemontools/daemontools-0.76.tar.gz
tar zxvf daemontools-0.76.tar.gz; cd admin/daemontools-0.76/
patch -p1 < /usr/local/src/qmail/netqmail-1.05/other-patches/daemontools-0.76.errno.patch
package/install
一般設定
vi /var/qmail/rc
| 代碼: | #!/bin/sh
# Using stdout for logging
# Using control/defaultdelivery from qmail-local to deliver messages by default
exec env - PATH="/var/qmail/bin:$PATH" \
qmail-start "`cat /var/qmail/control/defaultdelivery`"
|
chmod 755 /var/qmail/rc
mkdir /var/log/qmail
vi /var/qmail/bin/qmailctl
| 代碼: | #!/bin/sh
# description: the qmail MTA
PATH=/var/qmail/bin:/bin:/usr/bin:/usr/local/bin:/usr/local/sbin
export PATH
QMAILDUID=`id -u qmaild`
NOFILESGID=`id -g qmaild`
case "$1" in
start)
echo "Starting qmail"
if svok /service/qmail-send ; then
svc -u /service/qmail-send /service/qmail-send/log
else
echo "qmail-send supervise not running"
fi
if svok /service/qmail-smtpd ; then
svc -u /service/qmail-smtpd /service/qmail-smtpd/log
else
echo "qmail-smtpd supervise not running"
fi
if [ -d /var/lock/subsys ]; then
touch /var/lock/subsys/qmail
fi
;;
stop)
echo "Stopping qmail..."
echo " qmail-smtpd"
svc -d /service/qmail-smtpd /service/qmail-smtpd/log
echo " qmail-send"
svc -d /service/qmail-send /service/qmail-send/log
if [ -f /var/lock/subsys/qmail ]; then
rm /var/lock/subsys/qmail
fi
;;
stat)
svstat /service/qmail-send
svstat /service/qmail-send/log
svstat /service/qmail-smtpd
svstat /service/qmail-smtpd/log
qmail-qstat
;;
doqueue|alrm|flush)
echo "Flushing timeout table and sending ALRM signal to qmail-send."
/var/qmail/bin/qmail-tcpok
svc -a /service/qmail-send
;;
queue)
qmail-qstat
qmail-qread
;;
reload|hup)
echo "Sending HUP signal to qmail-send."
svc -h /service/qmail-send
;;
pause)
echo "Pausing qmail-send"
svc -p /service/qmail-send
echo "Pausing qmail-smtpd"
svc -p /service/qmail-smtpd
;;
cont)
echo "Continuing qmail-send"
svc -c /service/qmail-send
echo "Continuing qmail-smtpd"
svc -c /service/qmail-smtpd
;;
restart)
echo "Restarting qmail:"
echo "* Stopping qmail-smtpd."
svc -d /service/qmail-smtpd /service/qmail-smtpd/log
echo "* Sending qmail-send SIGTERM and restarting."
svc -t /service/qmail-send /service/qmail-send/log
echo "* Restarting qmail-smtpd."
svc -u /service/qmail-smtpd /service/qmail-smtpd/log
;;
cdb)
tcprules /etc/tcp.smtp.cdb /etc/tcp.smtp.tmp < /etc/tcp.smtp
chmod 644 /etc/tcp.smtp.cdb
echo "Reloaded /etc/tcp.smtp."
;;
help)
cat <<HELP
stop -- stops mail service (smtp connections refused, nothing goes out)
start -- starts mail service (smtp connection accepted, mail can go out)
pause -- temporarily stops mail service (connections accepted, nothing leaves)
cont -- continues paused mail service
stat -- displays status of mail service
cdb -- rebuild the tcpserver cdb file for smtp
restart -- stops and restarts smtp, sends qmail-send a TERM & restarts it
doqueue -- schedules queued messages for immediate delivery
reload -- sends qmail-send HUP, rereading locals and virtualdomains
queue -- shows status of queue
alrm -- same as doqueue
flush -- same as doqueue
hup -- same as reload
HELP
;;
*)
echo "Usage: $0 {start|stop|restart|doqueue|flush|reload|stat|pause|cont|cdb|queue|help}"
exit 1
;;
esac
exit 0
|
chmod 755 /var/qmail/bin/qmailctl
ln -s /var/qmail/bin/qmailctl /usr/bin
mkdir -p /var/qmail/supervise/qmail-send/log
mkdir -p /var/qmail/supervise/qmail-smtpd/log
vi /var/qmail/supervise/qmail-send/run
| 代碼: | #!/bin/sh
exec /var/qmail/rc
|
vi /var/qmail/supervise/qmail-send/log/run
| 代碼: | #!/bin/sh
exec /usr/local/bin/setuidgid qmaill /usr/local/bin/multilog t s16777215 /var/log/qmail
|
vi /var/qmail/supervise/qmail-smtpd/run
| 代碼: | #!/bin/sh
QMAILDUID=`id -u qmaild`
NOFILESGID=`id -g qmaild`
MAXSMTPD=`cat /var/qmail/control/concurrencyincoming`
LOCAL=`head -1 /var/qmail/control/me`
if [ -z "$QMAILDUID" -o -z "$NOFILESGID" -o -z "$MAXSMTPD" -o -z "$LOCAL" ]; then
echo QMAILDUID, NOFILESGID, MAXSMTPD, or LOCAL is unset in
echo /var/qmail/supervise/qmail-smtpd/run
exit 1
fi
if [ ! -f /var/qmail/control/rcpthosts ]; then
echo "No /var/qmail/control/rcpthosts!"
echo "Refusing to start SMTP listener because it'll create an open relay"
exit 1
fi
exec /usr/local/bin/softlimit -m 30000000 \
/usr/local/bin/tcpserver -v -R -l "$LOCAL" -x /etc/tcp.smtp.cdb -c "$MAXSMTPD" \
-u "$QMAILDUID" -g "$NOFILESGID" 0 smtp /var/qmail/bin/qmail-smtpd 2>&1
|
// 若將來發現:
// /usr/local/bin/tcpserver: error while loading shared libraries:
// libc.so.6: failed to map segment from shared object: Cannot
// allocate memory at file /var/log/qmail/smtpd/current
// 就把 softlimit -m 30000000 這個數字提高些吧, 這個其實我已經提高了
echo 20 > /var/qmail/control/concurrencyincoming
chmod 644 /var/qmail/control/concurrencyincoming
vi /var/qmail/supervise/qmail-smtpd/log/run
| 代碼: | #!/bin/sh
exec /usr/local/bin/setuidgid qmaill /usr/local/bin/multilog t s16777215 /var/log/qmail/smtpd
|
chmod 755 /var/qmail/supervise/qmail-send/run
chmod 755 /var/qmail/supervise/qmail-send/log/run
chmod 755 /var/qmail/supervise/qmail-smtpd/run
chmod 755 /var/qmail/supervise/qmail-smtpd/log/run
mkdir -p /var/log/qmail/smtpd
chown qmaill /var/log/qmail /var/log/qmail/smtpd
ln -s /var/qmail/supervise/qmail-send /var/qmail/supervise/qmail-smtpd /service
echo '127.:allow,RELAYCLIENT=""' >>/etc/tcp.smtp
echo '192.168.0.:allow,RELAYCLIENT=""' >>/etc/tcp.smtp
qmailctl cdb
// 這個 /etc/tcp.smtp 就像 sendmail 的 /etc/mail/access, 把 accept relay 的 ip 放進去吧, 以 qmailctl cdb 指令更新這個檔案
// 檢查安裝到這一刻有沒有問題:
wget http://lifewithqmail.org/inst_check
sh inst_check
// 要 disable 或者 uninstall sendmail, 這個我沒理會它的一_一
// 再檢查安裝到這裏有沒有問題:
cd /service/qmail-smtpd/log
svc -d .
./run
// 若果沒 error, press ENTER, 再沒 error 就按 CTRL+D, 那就 ok 了
安裝 Qmail-pop3d:
mkdir /var/qmail/supervise/qmail-pop3d/
vi /var/qmail/supervise/qmail-pop3d/run
| 代碼: | #!/bin/sh
exec /usr/local/bin/softlimit -m 30000000 \
/usr/local/bin/tcpserver -v -R -H -l 0 0 110 /var/qmail/bin/qmail-popup \
FQDN ~vpopmail/bin/vchkpw /var/qmail/bin/qmail-pop3d Maildir 2>&1
|
// FQDN 請填入你的 pop3 domain, 例如 pop.yourdomain.com
// 這裏的 softlimit 也可以提升, 若將來有問題的話
mkdir /var/qmail/supervise/qmail-pop3d/log/
vi /var/qmail/supervise/qmail-pop3d/log/run
| 代碼: | #!/bin/sh
exec /usr/local/bin/setuidgid qmaill /usr/local/bin/multilog t s16777215 \
/var/log/qmail/pop3d
|
mkdir /var/log/qmail/pop3d
chown qmaill /var/log/qmail/pop3d
chmod 755 /var/qmail/supervise/qmail-pop3d/run
chmod 755 /var/qmail/supervise/qmail-pop3d/log/run
ln -s /var/qmail/supervise/qmail-pop3d /service
vi /var/qmail/bin/qmailctl
// 加在 qmailctl's "start" section:
| 代碼: | if svok /service/qmail-pop3d ; then
svc -u /service/qmail-pop3d /service/qmail-pop3d/log
else
echo qmail-pop3d supervise not running
fi
|
// 加在 qmailctl's "stop" section:
| 代碼: | echo " qmail-pop3d"
svc -d /service/qmail-pop3d /service/qmail-pop3d/log
|
// 加在 qmailctl's "stat" section:
| 代碼: | svstat /service/qmail-pop3d
svstat /service/qmail-pop3d/log
|
// 加在 qmailctl's "pause" section:
| 代碼: | echo "Pausing qmail-pop3d"
svc -p /service/qmail-pop3d
|
// 加在 qmailctl's "cont" section:
| 代碼: | echo "Continuing qmail-pop3d"
svc -c /service/qmail-pop3d
|
// 加在 qmailctl's "restart" section:
| 代碼: | echo "* Restarting qmail-pop3d."
svc -t /service/qmail-pop3d /service/qmail-pop3d/log
|
設定 Postgresql:
// 預備 database for vpopmail
su - postgres
/usr/bin/createdb --username=postgres --owner=postgres vpopmail
安裝 Vpopmail
// 使用 pgsql database
groupadd -g 89 vchkpw
useradd -g vchkpw -u 89 vpopmail
wget http://puzzle.dl.sourceforge.net/sourceforge/vpopmail/vpopmail-5.4.8.tar.gz-
tar zxvf vpopmail-5.4.8.tar.gz; cd vpopmail*
mkdir ~vpopmail/etc/
./configure \
--enable-logging=v \
--disable-ip-alias-domains \
--disable-passwd \
--enable-clear-passwd \
--disable-domain-quotas \
--enable-auth-module=pgsql \
--enable-many-domains \
--enable-auth-logging \
--enable-pgsql-logging \
--enable-valias \
--enable-log-name=vpopmail.log \
--disable-roaming-users
make
make install-strip
echo "$yourdomain.com" > ~vpopmail/etc/defaultdomain
vi /etc/profile
// find:
export PATH USER LOGNAME MAIL HOSTNAME HISTSIZE INPUTRC
// add before:
PATH=$PATH":~vpopmail/bin"
// 加 domain, 可多於一個:
~vpopmail/bin/vadddomain $yourdomain.com
// 加 email user:
~vpopmail/bin/vadduser user@yourdomain.com
// 轉 passwd:
~vpopmail/bin/vpasswd user@yourdomain.com
// 看 userinfo:
vuserinfo user@yourdomain.com
// 看某 domain 有幾多 user:
vuserinfo -nD yourdomain.com
// 其它可以以 vuserinfo 再看其它 option
// 加 alias
~vpopmail/bin/valias -i tothis@domain.com fromthis@domain.com
// 所有 vpopmail 的 domain, user, alias 也是存入 database 的
安裝 maildrop
// 我好似沒用倒...
wget http://www.qmailrocks.org/downloads/maildrop-1.6.3.tar.gz
// extract and cd into the dir
./configure --prefix=/usr/local --exec-prefix=/usr/local --enable-maildrop-uid=root \
--enable-maildrop-gid=vchkpw --enable-maildirquota
make
make install-strip
make install-man
安裝 autorespond
wget http://www.inter7.com/devel/autorespond-2.0.5.tar.gz
// extract and cd in it
make
make install
安裝 Courier-imap/imaps
cd /usr/local/src
wget http://mesh.dl.sourceforge.net/sourceforge/courier/courier-imap-3.0.8.tar.bz2
bzip2 -d courier-imap-3.0.8.tar.bz2
tar xvf courier-imap-3.0.8.tar; cd cour*
./configure --prefix=/usr/local --exec-prefix=/usr/local --with-authvchkpw --without-authdaemon \
--without-authldap --disable-root-check --with-ssl --with-authchangepwdir=/usr/local/libexec/authlib \
--with-redhat
make
make install-strip
make install-configure
/usr/local/sbin/mkimapdcert
vi /usr/local/etc/imapd-ssl
| 代碼: | IMAPDSSLSTART=YES
TLS_CERTFILE=/usr/local/share/imapd.pem
|
vi /usr/local/etc/imapd
// 這個設定視乎你自的需要
cp /usr/local/libexec/imapd.rc /etc/rc.d/init.d/imap
cp /usr/local/libexec/imapd-ssl.rc /etc/rc.d/init.d/imaps
/etc/rc.d/init.d/imap start
/etc/rc.d/init.d/imaps start
// 也可以加在 /etc/rc.d/rc.local, 一開機也懂行
echo '/etc/rc.d/init.d/imap start' >> /etc/rc.d/rc.local
echo '/etc/rc.d/init.d/imaps start' >> /etc/rc.d/rc.local
cd /usr/local/src
wget http://www.qmailrocks.org/downloads/courierpassd-1.0.1.tar.gz
// extract and cd into the dir
./configure --with-couriersrc=../courier-imap-3.0.8
make
make install
cp ../courier-imap-3.0.8/authlib/authdaemond /usr/local/libexec/authlib/
vi /etc/xinetd.d/courierpassd
| 代碼: | service courierpassd
{
port = 106
socket_type = stream
protocol = tcp
user = root
server = /usr/local/sbin/courierpassd
server_args = -s imap
wait = no
only_from = 127.0.0.1
instances = 4
disable = no
}
|
echo -e "courierpassd\t106/tcp\t\t\t# for /etc/xinetd.d/courierpassd" >> /etc/services
/etc/rc.d/init.d/xinetd restart
/etc/rc.d/init.d/imap restart
/etc/rc.d/init.d/imaps restart
安裝 Squirrelmail (webmail)
wget http://jaist.dl.sourceforge.net/sourceforge/squirrelmail/squirrelmail-1.4.3a.tar.gz
mkdir -p /var/www/html/webmail
tar zxvf squirrelmail*.tgz -C /var/www/html/webmail; cd /var/www/html/webmail
mv squirrelmail*/* ./
mkdir /var/sqattachements
chown -R apache:apache /var/sqattachements
chown -R apache:apache webmail
config/conf.pl
> default lang: zh_TW
> data directory: /var/sqattachements/
vi /var/www/html/webmail/src/login.php
// comment 這幾行 by /* */
| 代碼: | /*
( (isset($hide_sm_attributions) && $hide_sm_attributions) ? '' :
'<small>' . sprintf (_("SquirrelMail version %s"), $version) . '<br />' ."\n".
' ' . _("By the SquirrelMail Development Team") . '<br /></small>' . "\n" ) .
*/
|
這幾行類似是:
SquirrelMail version 1.4.3a
By the SquirrelMail Development Team
安裝 ClamAV
cd /usr/local/src
wget http://nchc.dl.sourceforge.net/sourceforge/clamav/clamav-0.88.tar.gz
groupadd clamav
mkdir /home/clamav
useradd -g clamav -s /bin/false -c "Clam AntiVirus" -d /home/clamav/ clamav
tar zxvf clamav-0.88.tar.gz
cd clamav-0.88
./configure --prefix=/home/clamav
// use option: --disable-zlib-vcheck
// if it said zlib was old
make && make install
touch /var/log/freshclam.log
chown clamav.clamav /var/log/freshclam.log
chmod 700 /var/log/freshclam.log
ln -s /home/clamav/bin/clamscan /usr/bin/clamscan
vi ~clamav/etc/freshclam.conf
| 代碼: | #Example
UpdateLogFile /var/log/freshclam.log
LogVerbose
LogSyslog
PidFile /var/run/freshclam.pid
DatabaseOwner clamav
DatabaseMirror db.hk.clamav.net
DatabaseMirror database.clamav.net
MaxAttempts 5
|
vi ~clamav/etc/clamd.conf
| 代碼: | #Example
LogFileMaxSize 2M
LogTime
LogSyslog
LogVerbose
PidFile /var/run/clamd.pid
LocalSocket /tmp/clamd
FixStaleSocket
|
// 注意兩個 conf 檔的 "Example" 是 comment 或者不要的
// 病毒定義檔更新
~clamav/bin/freshclam
// 記著放在 cron job, 要 full path, 不要用 ~ 代替哦
安裝 qmail-scanner
wget http://www.qmailrocks.org/downloads/qmail-scanner-1.24.tgz
wget http://www.qmailrocks.org/downloads/qms-analog-0.4.0.tar.gz
// extract them
cd qms-analog*/
make all
cp ./qmail-scanner-1.24-st-qms-YYYYMMDD.patch ../qmail-scanner*/
cd ../qmail-scanner*/
patch -p1 < qmail-scanner-1.24-st-qms-YYYYMMDD.patch
useradd -c "Qmail-Scanner Account" -d /var/spool/qmailscan -s /bin/false qscand
./configure --domain yourdomain.com \
--local-domains "yourdomain.com,yourotherdomain.com" \
// 可用 check_perlmods.script 來檢查看看有沒有什麼東西未安裝
// 一些可能需要的 package:
http://www.qmailrocks.org/downloads/perlmods/source/Parse-Syslog-1.03.tar.gz
http://www.qmailrocks.org/downloads/perlmods/source/Statistics-Distributions-1.02.tar.gz
http://www.qmailrocks.org/downloads/perlmods/rpms/perl-Mail-SpamAssassin-2.63-1.i386.rpm
http://www.qmailrocks.org/downloads/spamassassin-3.0.0-1.i386.rpm
http://www.qmailrocks.org/downloads/perlmods/rpms/perl-Digest-SHA1-2.01-10.i386.rpm
http://www.qmailrocks.org/downloads/spamassassin-tools-3.0.0-1.i386.rpm
http://www.qmailrocks.org/downloads/perlmods/rpms/perl-Time-HiRes-1.38-3.i386.rpm
http://www.qmailrocks.org/downloads/perlmods/rpms/perl-Digest-HMAC-1.01-11.noarch.rpm
http://www.qmailrocks.org/downloads/perlmods/rpms/perl-Digest-SHA1-2.01-10.i386.rpm
http://www.qmailrocks.org/downloads/perlmods/rpms/perl-Net-DNS-0.31-3.noarch.rpm
http://www.qmailrocks.org/downloads/perlmods/rpms/perl-Time-HiRes-1.38-3.i386.rpm
http://www.qmailrocks.org/downloads/perlmods/rpms/perl-HTML-Tagset-3.03-28.noarch.rpm
http://www.qmailrocks.org/downloads/perlmods/rpms/perl-HTML-Parser-3.26-17.i386.rpm
chmod 700 qms-config
./qms-config
./qms-config install
setuidgid qscand /var/qmail/bin/qmail-scanner-queue.pl -g
chown -R qscand:qscand /var/spool/qmailscan
// 把這句每天行一次:
/usr/local/bin/setuidgid qscand /var/qmail/bin/qmail-scanner-queue.pl -z
vi /var/qmail/supervise/qmail-smtpd/run
// 在 #!/bin/sh 的下一行:
| 代碼: | QMAILQUEUE="/var/qmail/bin/qmail-scanner-queue.pl" export QMAILQUEUE
|
vi /var/qmail/bin/qmail-scanner-queue.pl
| 代碼: |
my @local_domains_array=('firstdomain.com','seconddomain.com','thirddomain.com');
my $local_domains_string="'firstdomain.com','seconddomain.com','thirddomain.com'";
my $QUARANTINE_CC='admin@yourdomain.com'
|
// 改 qmail-scanner-queue.pl 一定要小心, 錯少少也不可以成功 send mail...
qmailctl restart
其他設定
1. qmail-scanner logs 會很大的, 可以
echo -e "/var/spool/qmailscan/qmail-queue.log {\n\tmissingok\n\tnotifempty\n\tsize=100M\n\tcreate 600 qscand qscand\n}" > /etc/logrotate.d/qmail-queue.log
echo -e "/var/spool/qmailscan/quarantine.log {\n\tmissingok\n\tnotifempty\n\tsize=100M\n\tcreate 600 qscand qscand\n}" > /etc/logrotate.d/quarantine.log
echo -e "/var/spool/qmailscan/qms-events.log {\n\tmissingok\n\tnotifempty\n\tsize=100M\n\tcreate 600 qscand qscand\n}" > /etc/logrotate.d/qms-events.log
2. qmail queue 是很難看, 而且是要用到其他 tools 的:
wget http://nchc.dl.sourceforge.net/sourceforge/qmhandle/qmhandle-1.2.0.tar.gz
mkdir /usr/local/qmail/qmHandle
tar zxvf qmhandle-*.tar.gz -C /usr/local/qmail/qmHandle
vi /usr/local/qmail/qmHandle/qmHandle
| 代碼: | my ($stopqmail) = '/var/qmail/bin/qmailctl stop';
my ($startqmail) = '/var/qmail/bin/qmailctl start';
|
cp /usr/local/qmail/qmHandle/qmHandle /var/qmail/bin/
3. 安裝 qmail smtp auth
qmailctl stop
wget http://www.fehcom.de/qmail/auth/qmail-smtpd-auth-057_tgz.bin
tar zxvf qmail-smtpd-auth-057_tgz.bin -C netqmail*/netqmail/
cd netqmail*/netqmail/
./install_auth.sh
make setup check
vi /var/qmail/supervise/qmail-smtpd/run
// 改成:
| 代碼: | exec /usr/local/bin/softlimit -m 30000000 \
/usr/local/bin/tcpserver -v -R -l "$LOCAL" -x /etc/tcp.smtp.cdb -c "$MAXSMTPD" \
-u "89" -g "89" 0 smtp /var/qmail/bin/qmail-smtpd ~vpopmail/bin/vchkpw /bin/true 2>&1
|
qmailctl start
4. 設定最大 email size 為 20MB:
echo "20000000" > /var/qmail/control/databytes
5. return mail 設定:
vi /var/qmail/bin/qmail-scanner-queue.pl
| 代碼: | my $NOTIFY_ADDRS='sender,admin';
|
// find:
| 代碼: | The original message is kept in:
$hostname:$scandir/$vmaildir/new/$file_id
where the $V_FROMNAME can further diagnose it.
The Email scanner reported the following when it scanned that message:
|
// change to:
| 代碼: | where the $V_FROMNAME can further diagnose it.
The Email scanner reported the following when it scanned that message:
|
// find:
| 代碼: | The $destring was reported to be:
$quarantine_description\n";
|
// change to:
| 代碼: | The $destring was reported to be:
$quarantine_description
The original message is kept in:
$hostname:$scandir/$vmaildir/new/$file_id\n";
|
大概是這樣吧, 弄完這份東西都已經頭昏腦脹了@@ |
|