Board logo

標題: Qmail [打印本頁]

作者: kayin    時間: 2007-3-14 10:40 AM     標題: Qmail

安裝: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
// 這個設定視乎你自的需要
代碼:
MAXPERIP=10


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";


大概是這樣吧, 弄完這份東西都已經頭昏腦脹了@@




歡迎光臨 Kuroshio Ocean Design - 黑潮設計 (http://forum.kod.tw/) Powered by Discuz! 7.2