Mail Server · 12 min read · Dec 24, 2025
Идеальный SpamSnake - Ubuntu Jeos 10.10 Maverick Meerkat - Страница 2
6. Установите Postfix:
apt-get install postfix postfix-mysql postfix-doc procmailВам будет задано два вопроса. Ответьте следующим образом:
Общий тип конфигурации почты: –> Интернет-сайт
Системное имя почты: –> server1.example.com
Остановите Postfix:
postfix stopМы хотим отредактировать Postfix следующим образом:
vi master.cfНам нужно добавить два элемента ниже типа сервиса pickup. Сервис pickup “забирает” локальную почту (локальная означает “на этом компьютере”) и доставляет её. Это способ обойти фильтрацию содержимого для почты, генерируемой этим компьютером.
Это должно выглядеть так, когда вы закончите:
pickup fifo n - - 60 1 pickup
-o content_filter=
-o receive_override_options=no_header_body_checksРедактируйте main.cf:
vi /usr/src/postfix.sh#!/bin/sh
postconf -e "alias_maps = hash:/etc/aliases"
newaliases
postconf -e "myorigin = domain.tld"
postconf -e "myhostname = server1.domain.tld"
postconf -e "mynetworks = 127.0.0.0/8, 192.168.0.0/24"
postconf -e "message_size_limit = 10485760"
postconf -e "local_transport = error:No local mail delivery"
postconf -e "mydestination = "
postconf -e "local_recipient_maps = "
postconf -e "relay_domains = mysql:/etc/postfix/mysql-relay_domains.cf"
postconf -e "relay_recipient_maps = mysql:/etc/postfix/mysql-relay_recipients.cf"
postconf -e "transport_maps = mysql:/etc/postfix/mysql-transports.cf"
postconf -e "virtual_alias_maps = hash:/etc/postfix/virtual"
postconf -e "disable_vrfy_command = yes"
postconf -e "strict_rfc821_envelopes = no"
postconf -e "smtpd_banner = $myhostname ESMTP SpamSnake"
postconf -e "smtpd_delay_reject = yes"
postconf -e "smtpd_recipient_limit = 100"
postconf -e "smtpd_helo_required = yes"
postconf -e "smtpd_client_restrictions = permit_sasl_authenticated, permit_mynetworks, permit"
postconf -e "smtpd_helo_restrictions = permit_sasl_authenticated, permit_mynetworks, permit"
postconf -e "smtpd_sender_restrictions = permit_mynetworks, permit_sasl_authenticated, reject_non_fqdn_sender, reject_unknown_sender_domain, permit"
postconf -e "smtpd_recipient_restrictions = permit_mynetworks, permit_sasl_authenticated, reject_unknown_recipient_domain, reject_unauth_destination, whitelist_policy, grey_policy, rbl_policy, spf_policy, permit"
postconf -e "smtpd_data_restrictions = permit_mynetworks, permit_sasl_authenticated, reject_unauth_pipelining"
postconf -e "smtpd_restriction_classes = spf_policy, rbl_policy, grey_policy, whitelist_policy"
postconf -e "spf_policy = check_policy_service unix:private/policy"
postconf -e "rbl_policy = reject_rbl_client zen.spamhaus.org, reject_rbl_client bl.spamcop.net"
postconf -e "grey_policy = check_policy_service unix:private/greyfix"
postconf -e "whitelist_policy = check_client_access mysql:/etc/postfix/mysql-global_whitelist.cf, check_sender_access mysql:/etc/postfix/mysql-global_whitelist.cf"
postconf -e "header_checks = regexp:/etc/postfix/header_checks"
touch /etc/postfix/virtual
echo "root [email protected]" >> /etc/postfix/virtual && echo "abuse [email protected]" >> /etc/postfix/virtual && echo "postmaster [email protected]" >> /etc/postfix/virtual
postmap /etc/postfix/virtual
touch /etc/postfix/header_checks
echo "/^Received:/ HOLD" >> /etc/postfix/header_checks
postmap /etc/postfix/header_checks
cat > /etc/postfix/mysql-global_whitelist.cf < /etc/postfix/mysql-relay_domains.cf < /etc/postfix/mysql-relay_recipients.cf < /etc/postfix/mysql-transports.cf < Примечание: На этом этапе убедитесь, что вы заменили [email protected], example.com и @example.com на реальные значения, соответствующие вашей настройке.
chmod +x /usr/src/postfix.shи запустите с помощью
./usr/src/postfix.sh*Примечание: Пользователь/пароль для файлов cf должны совпадать с пользователем/паролем, которые вы будете использовать с вашей настройкой базы данных Baruwa позже. Убедитесь, что вы изменили всё, что выделено красным, перед запуском скрипта.
Вызов получателя Postfix (необязательно)
Эта функция запрашивает сервер получателя, чтобы узнать, существует ли получатель. Если нет, он отвечает с ошибкой 550 серверу-отправителю и разрывает соединение. Если пользователь существует, SpamSnake продолжит обработку электронной почты. Это просто еще один метод предотвращения обратного рассеяния, но он имеет свою цену. Ознакомьтесь с ним на http://www.postfix.org/ADDRESS_VERIFICATION_README.html. Вы можете пропустить этот метод и использовать метод скрипта (позже в этом руководстве), если решите, что это замедлит ваш сервер.
vi /etc/postfix/main.cfи добавьте следующее:
verify_recipient = reject_unknown_recipient_domain, reject_unverified_recipient
look_ahead = check_recipient_access hash:/etc/postfix/access
unverified_recipient_reject_code = 550
address_verify_map = btree:/var/lib/postfix/verifyДобавьте это в ваши smtpd_restriction_classes:
verify_recipient, look_aheadДобавьте это в smptd_recipient_restrictions:
smtpd_recipient_restrictions = permit_mynetworks, permit_sasl_authenticated, reject_unauth_destination, look_ahead, whitelist_policy, grey_policy, rbl_policy, spf_policy, permittouch /etc/postfix/accessи добавьте ваши домены:
domainA.com verify_recipient
domainB.com verify_recipient*Примечание: Убедитесь, что вы добавили действительные домены, которые вы фильтруете.
Postmap это:
postmap /etc/postfix/accessФинальный взгляд на установку Postfix:
less /etc/postfix/main.cfПроверьте содержимое файла на наличие ошибок и исправьте, если необходимо. Запустите Postfix:
postfix startПроверьте, что Postfix отвечает:
telnet 127.0.0.1 25Вы должны увидеть:
220 [yourFQDNhere] ESMTP Postfix (Ubuntu)7. Установите MailScanner (Apparmor, Clamav, DCC, Pyzor, Razor и Spamassassin)
cd /usr/src
wget http://http.us.debian.org/debian/pool/main/libt/libtool/libltdl3_1.5.26-4+lenny1_$(uname -m | sed -e 's/x86_64/amd64/' -e 's/i686/i386/').deb
dpkg -i libltdl*
apt-get install razor pyzor clamav-daemon libclamav6 apparmorКонфигурация Apparmor для Clamav
Добавьте clamav в группу www-data, чтобы он мог получить доступ к директории:
usermod -a -G www-data clamavТеперь отредактируйте профиль для clamd:
vi /etc/apparmor.d/usr.sbin.clamdи добавьте папку Incoming в список папок
/usr/sbin/clamd {
#clamav
/var/spool/MailScanner/ rw,
/var/spool/MailScanner/incoming/ rw,
}Перезагрузите apparmor:
/etc/init.d/apparmor reloadКонфигурация DCC 32bit/64bit
Установите DCC из .deb источника:
cd /tmp
wget http://ppa.launchpad.net/jonasped/ppa/ubuntu/pool/main/d/dcc/dcc-common_1.3.130-0ubuntu1~ppa1~karmic1_$(uname -m | sed -e 's/x86_64/amd64/' -e 's/i686/i386/').deb && dpkg -i dcc-common_1.3.130-0ubuntu1~ppa1~karmic1_$(uname -m | sed -e 's/x86_64/amd64/' -e 's/i686/i386/').deb
wget http://ppa.launchpad.net/jonasped/ppa/ubuntu/pool/main/d/dcc/dcc-client_1.3.130-0ubuntu1~ppa1~karmic1_$(uname -m | sed -e 's/x86_64/amd64/' -e 's/i686/i386/').deb && dpkg -i dcc-client_1.3.130-0ubuntu1~ppa1~karmic1_$(uname -m | sed -e 's/x86_64/amd64/' -e 's/i686/i386/').debПроверьте нашу установку с помощью:
cdcc infoВы должны получить ‘запросы в порядке’ от серверов.
Конфигурация Pyzor
Поскольку pyzor не работает с python2.6 очень хорошо, обходной путь заключается в том, чтобы добавить следующее в первую строку /usr/bin/pyzor, чтобы она выглядела так:
#!/usr/bin/python -Wignore::DeprecationWarningЗдесь мы указываем IP-адрес сервера Pyzor для Pyzor. Это создаст IP-адрес сервера в файле servers. Затем он протестирует соединение. Если вы находитесь за брандмауэром, откройте порт 24441/udp в и из вашего сервера. Пока вы находитесь в этом, также откройте 6277/udp для DCC, 2703/tcp для Razor и 783/tcp для SpamAssassin:
mkdir /var/lib/MailScanner
pyzor --homedir=/var/lib/MailScanner discover
pyzor pingКонфигурация Razor
Создайте конфигурацию .razor:
cd && rm /etc/razor/razor-agent.conf
mkdir /var/lib/MailScanner/.razor
razor-admin -home=/var/lib/MailScanner/.razor -create
razor-admin -home=/var/lib/MailScanner/.razor -discover
razor-admin -home=/var/lib/MailScanner/.razor -registervi /var/lib/MailScanner/.razor/razor-agent.confdebuglevel = 0
razorhome = /var/lib/MailScanner/.razor/Установите зависимости:
apt-get install libconvert-tnef-perl libdbd-sqlite3-perl libfilesys-df-perl libmailtools-perl libmime-tools-perl libmime-perl libnet-cidr-perl libsys-syslog-perl libio-stringy-perl libfile-temp-perl libole-storage-lite-perl libarchive-zip-perl libsys-hostname-long-perl libnet-cidr-lite-perl libhtml-parser-perl libdb-file-lock-perl libnet-dns-perl libncurses5-dev libdigest-hmac-perl libdigest-sha1-perl libnet-ip-perl liburi-perl libfile-spec-perl spamassassin libnet-ident-perl libmail-spf-query-perl libmail-dkim-perl dnsutils libio-socket-ssl-perl gdebi-coreСкачайте и установите последнюю версию MailScanner:
cd /usr/src && wget http://www.mailscanner.info/files/4/tar/MailScanner-install-4.81.4-1.tar.gz
tar xvfz MailScanner-install-4.81.4-1.tar.gz && cd MailScanner-install-4.81.4
./install.shЗапустите crontab -e и добавьте следующие записи:
37 5 * * * /opt/MailScanner/bin/update_phishing_sites &> /dev/null
07 * * * * /opt/MailScanner/bin/update_bad_phishing_sites &> /dev/null
58 23 * * * /opt/MailScanner/bin/clean.quarantine &> /dev/null
42 * * * * /opt/MailScanner/bin/update_virus_scanners &> /dev/null
3,23,43 * * * * /opt/MailScanner/bin/check_mailscanner &> /dev/null SpamAssassin
Сначала нам нужно отключить файл конфигурации SpamAssassin по умолчанию:
mv /etc/spamassassin/local.cf /etc/spamassassin/local.cf.disabledТеперь давайте создадим резервную копию файла конфигурации SpamAssassin в MailScanner, а затем отредактируем:
cp /opt/MailScanner/etc/spam.assassin.prefs.conf /opt/MailScanner/etc/spam.assassin.prefs.conf.backSQL Bayes для SpamAssassin
Предварительные требования: Вам нужно установить модули perl-DBI и perl-DBD-MySQL.
Предположения и переменные:
Имя базы данных Bayes для SpamAssassin: sa_bayes
Имя пользователя базы данных Bayes для SpamAssassin: sa_user
Пароль базы данных Bayes для SpamAssassin: sa_password
Создайте базу данных MySQL на сервере, где вы собираетесь хранить байесовскую информацию.
mysql -u root -p
mysql> create database sa_bayes;
mysql> GRANT ALL ON sa_bayes.* TO sa_user@localhost IDENTIFIED BY 'sa_password';
mysql> flush privileges;Импортируйте структуру базы данных:
mysql -u sa_user -p sa_bayes < /usr/share/doc/spamassassin/sql/bayes_mysql.sqlvi /etc/spamassassin/v310.pre для включения DCC:
loadplugin Mail::SpamAssassin::Plugin::DCCСоздайте следующее, чтобы предотвратить ошибку в тесте lint:
mkdir /var/www/.spamassassinvi /opt/MailScanner/etc/spam.assassin.prefs.confи добавьте следующее в начало:
#pyzor
use_pyzor 1
pyzor_options --homedir /var/lib/MailScanner/
#razor
use_razor2 1
razor_config /var/lib/MailScanner/.razor/razor-agent.confИсправьте путь DCC:
dcc_path /usr/bin/dccprocОбновите строку заголовка:
bayes_ignore_header X-YOURDOMAIN-COM-MailScanner
bayes_ignore_header X-YOURDOMAIN-COM-MailScanner-SpamCheck
bayes_ignore_header X-YOURDOMAIN-COM-MailScanner-SpamScore
bayes_ignore_header X-YOURDOMAIN-COM-MailScanner-Information
#use_auto_whitelist 0“YOURDOMAIN-COM” следует заменить на то, что вы использовали для “%org-name%” в файле MailScanner.conf. Оставьте “X-“ на месте. Это то же самое имя организации, которое использовалось в MailScanner.conf выше.
Добавьте строку подключения sql внизу:
bayes_store_module Mail::SpamAssassin::BayesStore::SQL
bayes_sql_dsn DBI:mysql:sa_bayes:localhost
bayes_sql_username sa_user
bayes_sql_password sa_password
bayes_sql_override_username rootvi v310.preи закомментируйте domainkeys, так как DKIM его заменил:
#loadplugin Mail::SpamAssassin::Plugin::DomainKeysДобавьте это в cron:
30 01 * * * /usr/bin/sa-learn --force-expire --sync -p /opt/MailScanner/etc/spam.assassin.prefs.conf Установите недостающие perl-пакеты:
perl -MCPAN -e shell
install IP::Country::Fast
install Encode::Detect
install Crypt::OpenSSL::RSAУстановите разрешения, чтобы всё свести воедино:
chown -R postfix:www-data /var/spool/postfix/hold
chmod -R ug+rwx /var/spool/postfix/holdПроверьте настройку:
spamassassin -x -D -p /opt/MailScanner/etc/spam.assassin.prefs.conf --lintПроверьте наличие строк, таких как:
debug: bayes: Database connection established
debug: bayes: found bayes db version 3
debug: bayes: Using userid: 2Вы должны увидеть строки с DCC, Pyzor и Razor, которые говорят о загрузке плагина и, надеюсь, без ошибок.
Конфигурация MailScanner
Нам нужно создать директорию для SpamAssassin в спуле и дать postfix разрешения на неё, если вы запускаете sa-learn –force от имени root, база данных bayes, которая хранится в этих директориях, изменится на root:root, и spamassassin выдаст ошибку при обращении к базе данных. Просто следите за mail.log, и вы вспомните, чтобы изменить разрешения обратно. Также отключите конфигурации по умолчанию MailScanner:
mkdir /var/spool/MailScanner/spamassassinСоздайте резервную копию вашего файла MailScanner.conf:
cp /opt/MailScanner/etc/MailScanner.conf /opt/MailScanner/etc/MailScanner.conf.dist
vi /opt/MailScanner/etc/MailScanner.confИзмените следующие параметры в MailScanner.conf с помощью следующего скрипта:
vi /usr/src/mailscanner.shchmod +x mailscanner.shи запустите с помощью
./usr/src/mailscanner.shsed -i "/^%org-name% =/ c\%org-name% =orgname" /opt/MailScanner/etc/MailScanner.conf
sed -i "/^%org-long-name% =/ c\%org-long-name% = longorgname" /opt/MailScanner/etc/MailScanner.conf
sed -i "/^%web-site% =/ c\%web-site% = www.domain.tld" /opt/MailScanner/etc/MailScanner.conf
sed -i "/^Run As User =/ c\Run As User = postfix" /opt/MailScanner/etc/MailScanner.conf
sed -i "/^Run As Group =/ c\Run As Group = www-data" /opt/MailScanner/etc/MailScanner.conf
sed -i "/^Incoming Work Group =/ c\Incoming Work Group = clamav" /opt/MailScanner/etc/MailScanner.conf
sed -i "/^Incoming Work Permissions =/ c\Incoming Work Permissions = 0640" /opt/MailScanner/etc/MailScanner.conf
sed -i "/^Incoming Queue Dir =/ c\Incoming Queue Dir = /var/spool/postfix/hold" /opt/MailScanner/etc/MailScanner.conf
sed -i "/^Outgoing Queue Dir =/ c\Outgoing Queue Dir = /var/spool/postfix/incoming" /opt/MailScanner/etc/MailScanner.conf
sed -i "/^MTA =/ c\MTA = postfix" /opt/MailScanner/etc/MailScanner.conf
sed -i "/^Quarantine User =/ c\Quarantine User = root" /opt/MailScanner/etc/MailScanner.conf
sed -i "/^Quarantine Group =/ c\Quarantine Group = www-data" /opt/MailScanner/etc/MailScanner.conf
sed -i "/^Quarantine Permissions =/ c\Quarantine Permissions = 0660" /opt/MailScanner/etc/MailScanner.conf
sed -i "/^Quarantine Whole Message =/ c\Quarantine Whole Message = yes" /opt/MailScanner/etc/MailScanner.conf
sed -i "/^Virus Scanners =/ c\Virus Scanners = clamd" /opt/MailScanner/etc/MailScanner.conf
sed -i "/^Monitors for ClamAV Updates =/ c\Monitors for ClamAV Updates = /var/lib/clamav/*.cld /var/lib/clamav/*.cvd" /opt/MailScanner/etc/MailScanner.conf
sed -i "/^Clamd Socket =/ c\Clamd Socket = /var/run/clamav/clamd.ctl" /opt/MailScanner/etc/MailScanner.conf
sed -i "/^Clamd Lock File =/ c\Clamd Lock File = /var/run/clamav/clamd.pid" /opt/MailScanner/etc/MailScanner.conf
sed -i "/^Spam Subject Text =/ c\Spam Subject Text = *SPAM*" /opt/MailScanner/etc/MailScanner.conf
sed -i "/^Spam Actions =/ c\Spam Actions = deliver store" /opt/MailScanner/etc/MailScanner.conf
sed -i "/^High Scoring Spam Actions =/ c\High Scoring Spam Actions = store delete" /opt/MailScanner/etc/MailScanner.conf
sed -i "/^Non Spam Actions =/ c\Non Spam Actions = deliver store" /opt/MailScanner/etc/MailScanner.conf
sed -i "/^SpamAssassin User State Dir =/ c\SpamAssassin User State Dir = /var/spool/MailScanner/spamassassin" /opt/MailScanner/etc/MailScanner.conf *Примечание: Убедитесь, что вы изменили элементы, выделенные красным, перед запуском скрипта.
Скрипт запуска MailScanner:
vi /etc/init.d/mailscannerс следующим содержимым и выполните
chmod +x /etc/init.d/mailscanner#! /bin/sh
### BEGIN INIT INFO
# Provides: MailScanner daemon
# Required-Start: $local_fs $remote_fs
# Required-Stop: $local_fs $remote_fs
# Default-Start: 2 3 4 5
# Default-Stop: 0 1 6
# Short-Description: Controls mailscanner instances
# Description: MailScanner is a queue-based spam/virus filter
### END INIT INFO
# Author: Simon Walter <[email protected]>
# PATH should only include /usr/* if it runs after the mountnfs.sh script
PATH=/usr/sbin:/usr/bin:/bin:/sbin:/opt/MailScanner/bin
DESC="mail spam/virus scanner"
NAME=MailScanner
PNAME=mailscanner
DAEMON=/opt/MailScanner/bin/$NAME
STARTAS=MailScanner
SCRIPTNAME=/etc/init.d/$PNAME
CONFFILE=/opt/MailScanner/etc/MailScanner.conf
# Exit if the package is not installed
[ -x "$DAEMON" ] || exit 0
run_nice=0
stopped_lockfile=/var/lock/subsys/MailScanner.off
# Read configuration variable file if it is present
[ -r /etc/default/$PNAME ] && . /etc/default/$PNAME
# Load the VERBOSE setting and other rcS variables
. /lib/init/vars.sh
# Define LSB log_* functions.
# Depend on lsb-base (>= 3.0-6) to ensure that this file is present.
. /lib/lsb/init-functions
# sanity check for permissions
fail()
{
echo >&2 "$0: $1"
exit 1
}
check_dir()
{
if [ ! -d $1 ]; then
mkdir -p "$1" || \
fail "directory $1: does not exist and cannot be created"
fi
actual="$(stat -c %U $1)"
if [ "$actual" != "$2" ]; then
chown -R "$2" "$1" || \
fail "directory $1: wrong owner (expected $2 but is $actual)"
fi
actual="$(stat -c %G $1)"
if [ "$actual" != "$3" ]; then
chgrp -R "$3" "$1" || \
fail "directory $1: wrong group (expected $3 but is $actual)"
fi
}
user=$(echo $(awk -F= '/^Run As User/ {print $2; exit}' $CONFFILE))
group=$(echo $(awk -F= '/^Run As Group/ {print $2; exit}' $CONFFILE))
check_dir /var/spool/MailScanner ${user:-postfix} ${group:-www-data}
check_dir /var/lib/MailScanner ${user:-postfix} ${group:-www-data}
check_dir /var/run/MailScanner ${user:-postfix} ${group:-www-data}
check_dir /var/lock/subsys ${user:-root} ${group:-root} #Required to Create Folder
check_dir /var/lock/subsys/MailScanner ${user:-postfix} ${group:-www-data}
#
# Function that starts the daemon/service
#
do_start()
{
# Return
# 0 if daemon has been started
# 1 if daemon was already running
# 2 if daemon could not be started
start-stop-daemon --start --quiet --startas $STARTAS --name $NAME --test > /dev/null \
|| return 1
start-stop-daemon --start --quiet --nicelevel $run_nice --chuid postfix:www-data --exec $DAEMON --name $NAME -- $DAEMON_ARGS \
|| return 2
# Add code here, if necessary, that waits for the process to be ready
# to handle requests from services started subsequently which depend
# on this one. As a last resort, sleep for some time.
# Set lockfile to inform cronjobs about the running daemon
RETVAL="$?"
if [ $RETVAL -eq 0 ]; then
touch /var/lock/subsys/mailscanner
rm -f $stopped_lockfile
fi
if [ $RETVAL -eq 0 ]; then
echo "MailScanner Started"
fi
}
#
# Function that stops the daemon/service
#
do_stop()
{
# Return
# 0 if daemon has been stopped
# 1 if daemon was already stopped
# 2 if daemon could not be stopped
# other if a failure occurred
start-stop-daemon --stop --retry=TERM/30 --name $NAME
RETVAL="$?"
[ "$RETVAL" = 2 ] && return 2
# Remove lockfile for cronjobs
if [ $RETVAL -eq 0 ]; then
rm -f /var/lock/subsys/mailscanner
touch $stopped_lockfile
fi
if [ $RETVAL -eq 0 ]; then
echo "MailScanner Stopped"
fi
}
#
# Function that sends a SIGHUP to the daemon/service
#
do_reload() {
start-stop-daemon --stop --signal 1 --quiet --name $NAME
return 0
}
case "$1" in
start)
[ "$VERBOSE" != no ] && log_daemon_msg "Starting $DESC" "$NAME"
do_start
case "$?" in
0|1) [ "$VERBOSE" != no ] && log_end_msg 0 ;;
2) [ "$VERBOSE" != no ] && log_end_msg 1 ;;
esac
;;
stop)
[ "$VERBOSE" != no ] && log_daemon_msg "Stopping $DESC" "$NAME"
do_stop
case "$?" in
0|1) [ "$VERBOSE" != no ] && log_end_msg 0 ;;
2) [ "$VERBOSE" != no ] && log_end_msg 1 ;;
esac
;;
restart|force-reload)
#
# If the "reload" option is implemented then remove the
# 'force-reload' alias
#
log_daemon_msg "Restarting $DESC" "$NAME"
do_stop
case "$?" in
0|1)
do_start
case "$?" in
0) log_end_msg 0 ;;
1) log_end_msg 1 ;; # Old process is still running
*) log_end_msg 1 ;; # Failed to start
esac
;;
*)
# Failed to stop
log_end_msg 1
;;
esac
;;
*)
echo "Usage: $SCRIPTNAME {start|stop|restart|force-reload}" >&2
exit 3
;;
esac
exit 0Создайте символьные ссылки, чтобы скрипт mailscanner работал:
chmod 755 /etc/init.d/mailscanner
update-rc.d mailscanner defaults
ln -s /opt/MailScanner/bin/Quick.Peek /usr/sbin/Quick.PeekЗапустите систему:
/etc/init.d/mailscanner start
/etc/init.d/postfix startПроверьте ваши журналы на наличие ошибок:
tail -f /var/log/mail.logПроверьте ваш mail.log (tail –f /var/log/mail.log), и вы должны увидеть следующее:
Jun 13 12:18:23 hoshi MailScanner[26388]: MailScanner E-Mail Virus Scanner version 4.81.4 starting...Поздравляем - теперь у вас есть MailScanner, записывающий в MySQL.
Get new posts in your inbox
No spam. Unsubscribe anytime.