เด†เดฎเตเด–เด‚

เดžเดพเตป เดตเดณเดฐเต†เด•เตเด•เดพเดฒเดฎเดพเดฏเดฟ เดฎเต†เดฏเดฟเตฝ เดธเต†เตผเดตเตผ เดชเด เดฟเด•เตเด•เดพเตป เด†เด—เตเดฐเดนเดฟเด•เตเด•เตเดจเตเดจเต, เดชเด•เตเดทเต‡ เดžเดพเตป เด‡เดชเตเดชเต‹เตพ เด…เดคเดฟเดฒเต‡เด•เตเด•เต เดŽเดคเตเดคเดฟ, เดŽเดจเดฟเด•เตเด•เต เด•เต‚เดŸเตเดคเตฝ เดถเดฐเดฟเดฏเดพเดฏ เดตเดฟเดตเดฐเด™เตเด™เตพ เด•เดฃเตเดŸเต†เดคเตเดคเดพเตป เด•เดดเดฟเดžเตเดžเดฟเดฒเตเดฒ, เด…เดคเดฟเดจเดพเตฝ เด•เดดเดฟเดฏเตเดจเตเดจเดคเตเดฐ เดตเดฟเดถเดฆเดฎเดพเดฏ เด’เดฐเต เดชเตเดฐเดธเดฟเดฆเตเดงเต€เด•เดฐเดฃเด‚ เดŽเดดเตเดคเดพเตป เดžเดพเตป เดคเต€เดฐเตเดฎเดพเดจเดฟเดšเตเดšเต. เดˆ เดชเตเดฐเดธเดฟเดฆเตเดงเต€เด•เดฐเดฃเด‚ postfix, dovecot, mysql, postfixadmin เดŽเดจเตเดจเดฟเดตเดฏเต†เด•เตเด•เตเดฑเดฟเดšเตเดšเต เดฎเดพเดคเตเดฐเดฎเดฒเตเดฒ, เดธเตเดชเดพเดฎเดธเดพเดธเดฟเตป, clamav-milter (เดฎเต†เดฏเดฟเตฝ เดธเต†เตผเดตเดฑเตเด•เตพเด•เตเด•เดพเดฏเตเดณเตเดณ clamav-เดจเตเดฑเต† เดชเตเดฐเดคเตเดฏเต‡เด• เดชเดคเดฟเดชเตเดชเต), postgrey, เดธเตเดชเดพเด‚ เดซเต‹เตพเดกเดฑเดฟเดฒเต‡เด•เตเด•เต (dovecot) เดธเตเดชเดพเด‚ เด•เตˆเดฎเดพเดฑเดพเดจเตเดณเตเดณ เดธเดพเดงเตเดฏเดค เดŽเดจเตเดจเดฟเดตเดฏเต†เด•เตเด•เตเดฑเดฟเดšเตเดšเตเด‚ เดธเด‚เดธเดพเดฐเดฟเด•เตเด•เตเด‚. - เดชเตเดฐเดพเดตเต เดนเต‹เตพ).

เดคเดฏเตเดฏเดพเดฑเดพเด•เตเด•เตฝ

เด’เดจเตเดจเดพเดฎเดคเดพเดฏเดฟ, เดœเต‹เดฒเดฟเด•เตเด•เต เด†เดตเดถเตเดฏเดฎเดพเดฏ เดชเดพเด•เตเด•เต‡เดœเตเด•เตพ เด‡เตปเดธเตเดฑเตเดฑเดพเตพ เดšเต†เดฏเตเดฏเดพเด‚ (เดชเต‹เดธเตเดฑเตเดฑเตเดซเดฟเด•เตเดธเต, เดกเต‹เดตเตเด•เต‹เดŸเตเดŸเต, เดกเต‹เดตเตเด•เต‹เดŸเตเดŸเต-เดชเดฟเดœเดฟเดฏเต‹เตบเดนเต‹เตพ เดŽเดจเตเดจเดฟเดต เดชเต‹เตผเดŸเตเดŸเตเด•เดณเดฟเตฝ เดจเดฟเดจเตเดจเต เด‡เตปเดธเตเดฑเตเดฑเดพเตพ เดšเต†เดฏเตเดฏเดฃเด‚, เดกเต‹เดตเตเด•เต‹เดŸเตเดŸเต-เด…เดฐเดฟเดชเตเดช, เดคเดคเตเดตเดคเตเดคเดฟเตฝ, เดชเดพเด•เตเด•เต‡เดœเตเด•เดณเดฟเตฝ เดจเดฟเดจเตเดจเต เด‡เตปเดธเตเดฑเตเดฑเดพเตพ เดšเต†เดฏเตเดฏเดพเตป เด•เดดเดฟเดฏเตเด‚, เดŽเดจเตเดจเดพเตฝ เดชเต‹เตผเดŸเตเดŸเตเด•เดณเดฟเดฒเตเด‚ เด…เดคเดฟเดจเดพเดฏเดฟ เดชเตเดคเดฟเดฏ เดชเดคเดฟเดชเตเดชเตเด•เดณเตเดฃเตเดŸเต. เด‡เด•เตเด•เดพเดฐเดฃเดคเตเดคเดพเตฝ, เดชเตเดฐเดพเดตเต เด•เต‹เดŸเตเดŸเต เด…เดฐเดฟเดชเตเดชเดฏเตเดฎเดพเดฏเดฟ เดชเตŠเดฐเตเดคเตเดคเดชเตเดชเต†เดŸเดฃเดฎเต†เดจเตเดจเดฟเดฒเตเดฒ). เดจเดฎเตเด•เตเด•เต เด‡เดจเดฟเดชเตเดชเดฑเดฏเตเดจเตเดจ เดชเดพเด•เตเด•เต‡เดœเตเด•เตพ เด‡เตปเดธเตเดฑเตเดฑเดพเตพ เดšเต†เดฏเตเดฏเดพเด‚:

pkg install apache24 php73 mod_php73 php73-extensions php73-mysqli php73-mbstring php73-openssl clamav-milter postgrey spamassassin mysql57-server openssl wget

เด‡เตปเดธเตเดฑเตเดฑเดพเดณเต‡เดทเดจเต เดถเต‡เดทเด‚, เดžเด™เตเด™เตพ เด†เดตเดถเตเดฏเดฎเดพเดฏ เดธเต‡เดตเดจเด™เตเด™เตพ เด“เดŸเตเดŸเต‹เดธเตเดฑเตเดฑเดพเตผเดŸเตเดŸเดฟเตฝ เดธเตเดฅเดพเดชเดฟเด•เตเด•เตเด‚:

#postfix ะธ dovecot ั‚ะฐะบะถะต ะดะพะฑะฐะฒะธะผ, ั‡ั‚ะพะฑั‹ ะฝะต ะฒะพะทะฒั€ะฐั‰ะฐั‚ัŒัั ะบ ัั‚ะพะผัƒ ะฟะพะทะถะต
sysrc postfix_enable="YES"
sysrc dovecot_enable="YES"

sysrc mysql_enable="YES"
sysrc apache24_enable="YES"

sysrc spamd_flags="-u spamd -H /var/spool/spamd"
sysrc spamd_enable="YES"

sysrc postgrey_enable="YES"

sysrc clamav_clamd_enable="YES"
sysrc clamav_milter_enable="YES"
sysrc clamav_freshclam_enable="YES"
#freshclam ะฑัƒะดะตะผ ะธัะฟะพะปัŒะทะพะฒะฐั‚ัŒ ะบะฐะบ ัะปัƒะถะฑัƒ ะธ ะฟั€ะพะฒะตั€ัั‚ัŒ ะพะฑะฝะพะฒะปะตะฝะธั 12 ั€ะฐะท
sysrc clamav_freshclam_flags="--daemon --checks=12"

เดจเดฎเตเด•เตเด•เต เดธเต‡เดตเดจเด™เตเด™เตพ เด†เดฐเด‚เดญเดฟเด•เตเด•เดพเด‚:

service apache24 start
service mysql-server start
#ะŸะตั€ะตะด ะทะฐะฟัƒัะบะพะผ spamassassin ะฝะตะพะฑั…ะพะดะธะผะพ ะพะฑะฝะพะฒะธั‚ัŒ ะฑะฐะทั‹ ะธ ัะบะพะผะฟะธะปะธั€ะพะฒะฐั‚ัŒ ะฟั€ะฐะฒะธะปะฐ
sa-update
sa-compile
service sa-spamd start
#ะ’ั‹ะฟะพะปะฝะธั‚ะต ะพะฑะฝะพะฒะปะตะฝะธั ะฑะฐะท clamav ะฟะตั€ะตะด ะทะฐะฟัƒัะบะพะผ
freshclam
service clamav-clamd start
service clamav-freshclam start
service clamav-milter start
#ะŸะตั€ะตะด ะทะฐะฟัƒัะบะพะผ postgrey ะฝะตะพะฑั…ะพะดะธะผะพ ะพั‚ั€ะตะดะฐะบั‚ะธั€ะพะฒะฐั‚ัŒ ัะบั€ะธะฟ ะธะฝะธั†ะธะฐะปะธะทะฐั†ะธะธ(/usr/local/etc/rc.d/postgrey), ะดะปั ั‚ะพะณะพ ั‡ั‚ะพะฑั‹ ะพั‚ะฟั€ะฐะฒะธั‚ะตะปะธ ะฟะตั€ะตะฝะพัะธะปะธััŒ ะฒ "ะฑะตะปั‹ะน" ัะฟะธัะพะบ ะฟะพัะปะต 4-ั… ะฟะพะฟั‹ั‚ะพะบ ะพั‚ะฟั€ะฐะฒะบะธ ะฟะธัะตะผ, ะฝะตะพะฑั…ะพะดะธะผะพ ะฝะฐะนั‚ะธ ัั‚ั€ะพะบัƒ : ${postgrey_flags:=--inet=10023} ะธ ะฟั€ะธะฒะตัั‚ะธ ะตั‘ ะบ ะฒะธะดัƒ:
: ${postgrey_flags:=--inet=10023 --auto-whitelist-clients=4}
service postgrey start

เด…เดชเตเดชเดพเดšเตเดšเต†เดฏเดฟเตฝ php เดชเตเดฐเดตเตผเดคเตเดคเดฟเด•เตเด•เตเดจเตเดจเดคเดฟเดจเตเด‚ postfixadmin เดถเดฐเดฟเดฏเดพเดฏเดฟ เดชเตเดฐเดตเตผเดคเตเดคเดฟเด•เตเด•เตเดจเตเดจเดคเดฟเดจเตเด‚ เด†เดตเดถเตเดฏเดฎเดพเดฏ เดตเดฐเดฟเด•เตพ httpd.conf-เดฒเต‡เด•เตเด•เต เดšเต‡เตผเด•เตเด•เดพเตป เดฎเดฑเด•เตเด•เดฐเตเดคเต:

<FilesMatch ".php$">
    SetHandler application/x-httpd-php
</FilesMatch>
<FilesMatch ".phps$">
    SetHandler application/x-httpd-php-source
</FilesMatch>

<IfModule dir_module>
    DirectoryIndex index.php
</IfModule>

#ะ ั‚ะฐะบะถะต ะฝะตะพะฑั…ะพะดะธะผะพ ะธะทะผะตะฝะธั‚ัŒ ะดะพะผะฐัˆะฝะธะน ะบะฐั‚ะฐะปะพะณ ะดะปั ะบะพั€ั€ะตะบั‚ะฝะพะน ั€ะฐะฑะพั‚ั‹ postfixadmin

DocumentRoot "/usr/local/www/apache24/data/postfixadmin-3.2/public"

เด…เดŸเตเดคเตเดคเดคเดพเดฏเดฟ เดจเดฟเด™เตเด™เตพ เดกเดฏเดฑเด•เตเดŸเดฑเดฟเดฏเดฟเตฝ เดชเต‹เดฏเดฟ postfixadmin เดกเต—เตบเดฒเต‹เดกเต เดšเต†เดฏเตเดฏเดฃเด‚

cd /usr/local/www/apache24/data

postfixadmin เดกเต—เตบเดฒเต‹เดกเต เดšเต†เดฏเตเดฏเตเด• (เดŽเดดเตเดคเตเดฎเตเดชเต‹เตพ เดจเดฟเดฒเดตเดฟเดฒเต† เดชเดคเดฟเดชเตเดชเต 3.2 เด†เดฏเดฟเดฐเตเดจเตเดจเต)

wget --no-check-certificate https://sourceforge.net/projects/postfixadmin/files/postfixadmin/postfixadmin-3.2/postfixadmin-3.2.tar.gz

เด‡เดคเดฟเดจเตเดถเต‡เดทเด‚, เดจเดฟเด™เตเด™เตพ เดˆ เดกเดฏเดฑเด•เตเดŸเดฑเดฟเดฏเดฟเดฒเต‡เด•เตเด•เต เด†เตผเด•เตเด•เตˆเดตเต เด…เตบเดชเดพเด•เตเด•เต เดšเต†เดฏเตเดฏเตเด•เดฏเตเด‚ เดกเดฏเดฑเด•เตเดŸเดฑเดฟเดฏเตเดŸเต† เด‰เดŸเดฎเดฏเต† เดฎเดพเดฑเตเดฑเตเด•เดฏเตเด‚ เดตเต‡เดฃเด‚:

gzip -d postfixadmin-3.2.tar.gz
tar -xvf postfixadmin-3.2.tar
chown -R www:www /usr/local/www/apache24/data
service apache24 restart

เด…เดŸเตเดคเตเดคเดคเดพเดฏเดฟ, เดžเด™เตเด™เตพ postfixadmin-เดจเตเดณเตเดณ เดกเดพเดฑเตเดฑเดพเดฌเต‡เดธเต เดคเดฏเตเดฏเดพเดฑเดพเด•เตเด•เตเด‚, mysql-เดจเตเดฑเต† เดชเตเดฐเดพเดฐเด‚เดญ เดธเดœเตเดœเต€เด•เดฐเดฃเดคเตเดคเดฟเดจเดพเดฏเดฟ mysql-secure-installation เดธเตเด•เตเดฐเดฟเดชเตเดฑเตเดฑเต เดชเตเดฐเดตเตผเดคเตเดคเดฟเดชเตเดชเดฟเด•เตเด•เตเด• (เดˆ เดธเตเด•เตเดฐเดฟเดชเตเดฑเตเดฑเดฟเตฝ เดจเดฟเด™เตเด™เตพ เดธเตƒเดทเตเดŸเดฟเด•เตเด•เตเดจเตเดจ เดชเดพเดธเตโ€Œเดตเต‡เดกเต, เด†เตพเดŸเตเดŸเตผ เดฏเต‚เดธเตผ เด•เดฎเดพเตปเดกเต เด‰เดชเดฏเต‹เด—เดฟเดšเตเดšเต mysql-เตฝ เดธเตƒเดทเตเดŸเดฟเด•เตเด•เต‡เดฃเตเดŸเดคเตเดฃเตเดŸเต), เดคเตเดŸเตผเดจเตเดจเต เดฒเต‹เด—เดฟเตป เดšเต†เดฏเตเดฏเตเด•. mysql-เดฒเต‡เด•เตเด•เต, เด…เดตเตพเด•เตเด•เตเดณเตเดณ เดกเดพเดฑเตเดฑเดพเดฌเต‡เดธเตเด‚ เด…เดตเด•เดพเดถเด™เตเด™เดณเตเด‚ เดธเตƒเดทเตเดŸเดฟเด•เตเด•เตเด•:

mysql -p -r
alter user 'root'@'localhost' identified by 'password123';
create database postfix;
grant all privileges on postfix.* to 'postfix'@'localhost' identified by 'password123';
exit

เดกเดพเดฑเตเดฑเดพเดฌเต‡เดธเต เด•เต‹เตบเดซเดฟเด—เตผ เดšเต†เดฏเตเดค เดถเต‡เดทเด‚, เดจเดฟเด™เตเด™เตพ config.inc.php เดซเดฏเตฝ เดŽเดกเดฟเดฑเตเดฑเต เดšเต†เดฏเตเดฏเต‡เดฃเตเดŸเดคเตเดฃเตเดŸเต, เดˆ เด‰เดฆเดพเดนเดฐเดฃเดคเตเดคเดฟเตฝ เดˆ เดซเดฏเตฝ /usr/local/www/apache24/data/postfixadmin-3.2/ เดกเดฏเดฑเด•เตเดŸเดฑเดฟเดฏเดฟเตฝ เดธเตเดฅเดฟเดคเดฟเดšเต†เดฏเตเดฏเตเดจเตเดจเต, เดˆ เดซเดฏเดฒเดฟเตฝ เดจเดฟเด™เตเด™เตพ เดšเต†เดฏเตเดฏเต‡เดฃเตเดŸเดคเต เดจเดฟเดฐเดตเดงเดฟ เดฒเตˆเดจเตเด•เตพ เดŽเดกเดฟเดฑเตเดฑเต เดšเต†เดฏเตโ€Œเดคเต เด…เดตเดฏเดฟเดฒเต‡เด•เตเด•เต เด•เตŠเดฃเตเดŸเตเดตเดฐเดฟเด•, เดˆ เด•เตเดฐเดฎเต€เด•เดฐเดฃเด™เตเด™เตพ เดฎเดพเดฑเตเดฑเดฟเดฏ เดถเต‡เดทเด‚, เด…เดชเตเดชเดพเดšเตเดšเต† เดชเตเดจเดฐเดพเดฐเด‚เดญเดฟเด•เตเด•เตเด•, เดจเดฟเด™เตเด™เตพ /usr/local/www/apache24/data/postfixadmin-3.2 เดกเดฏเดฑเด•เตโ€ŒเดŸเดฑเดฟเดฏเดฟเตฝ เด’เดฐเต templates_c เดกเดฏเดฑเด•เตโ€ŒเดŸเดฑเดฟ เดธเตƒเดทเตโ€ŒเดŸเดฟเด•เตเด•เตเด•เดฏเตเด‚ เด…เดคเดฟเดจเต เด‰เดŸเดฎเดฏเต† www เดจเตฝเด•เตเด•เดฏเตเด‚ เดตเต‡เดฃเด‚. :

mkdir /usr/local/www/apache24/data/postfixadmin-3.2/templates_c
chown -R www:www /usr/local/www/apache24/data/postfixadmin-3.2/templates_c

$CONF['configured'] = true
#ะดะฐะฝะฝั‹ะน ั…ััˆ ะฝะตะพะฑั…ะพะดะธะผะพ ัะณะตะฝะตั€ะธั€ะพะฒะฐั‚ัŒ ะฒ ะฒัะฑ ะธะฝั‚ะตั€ั„ะตะนัะต postfixadmin ะธ ะดะพะฑะฐะฒะธั‚ัŒ ะฒ ะดะฐะฝะฝัƒัŽ ัั‚ั€ะพะบัƒ.
$CONF['setup_password'] = 'dd28fb2139a3bca426f02f60e6877fd5:13d2703c477b0ab85858e3ac5e076a0a7a477315';
$CONF['default_language'] = 'ru'
$CONF['database_type'] = 'mysqli';
$CONF['database_host'] = 'localhost';
$CONF['database_user'] = 'postfix';
#ะŸะฐั€ะพะปัŒ ะธ ะธะผั ะฑะฐะท ะดะฐะฝะฝั‹ั… ะธัะฟะพะปัŒะทัƒัŽ ะบะพั‚ะพั€ั‹ะต ัะพะทะดะฐะป ะฒ ะดะฐะฝะฝะพะผ ะฟั€ะธะผะตั€ะต
$CONF['database_password'] = 'password123';
$CONF['database_name'] = 'postfix';

service apache24 restart

เดŽเดธเตเดŽเดธเตเดŽเตฝ

เด’เดฐเต เด•เต€ เดœเดจเดฑเต‡เดฑเตเดฑเตเดšเต†เดฏเตเดฏเตเดจเตเดจเดคเดฟเดจเต, เดžเด™เตเด™เดณเตเดŸเต† เดธเตเดตเดจเตเดคเด‚ เดธเตผเดŸเตเดŸเดฟเดซเดฟเด•เตเด•เต‡เดทเตป เด…เดคเต‹เดฑเดฟเดฑเตเดฑเดฟเดฏเตเดŸเต† เดธเตƒเดทเตโ€ŒเดŸเดฟเดฏเต‹เดŸเต† postfix.org เดŽเดจเตเดจ เดตเต†เดฌเตโ€Œเดธเตˆเดฑเตเดฑเดฟเตฝ เดจเดฟเตผเดฆเตเดฆเต‡เดถเดฟเดšเตเดšเดฟเดฐเดฟเด•เตเด•เตเดจเตเดจ เดฐเต€เดคเดฟ เดžเด™เตเด™เตพ เด‰เดชเดฏเต‹เด—เดฟเด•เตเด•เตเด‚, เดจเดฟเด™เตเด™เตพ /etc/ssl เดกเดฏเดฑเด•เตโ€ŒเดŸเดฑเดฟเดฏเดฟเดฒเต‡เด•เตเด•เต เดชเต‹เดฏเดฟ เดธเตโ€Œเด•เตเดฐเดฟเดชเตเดฑเตเดฑเต เดŽเด•เตโ€Œเดธเดฟเด•เตเดฏเต‚เดŸเตเดŸเต เดšเต†เดฏเตเดฏเต‡เดฃเตเดŸเดคเตเดฃเตเดŸเต:

cd /etc/ssl
/usr/local/openssl/misc/CA.pl -newca

เดธเตโ€Œเด•เตเดฐเดฟเดชเตเดฑเตเดฑเต เดŽเด•เตโ€Œเดธเดฟเด•เตเดฏเต‚เดทเตป เดธเดฎเดฏเดคเตเดคเต, เดจเดฟเด™เตเด™เดณเต‹เดŸเต เดธเตผเดŸเตเดŸเดฟเดซเดฟเด•เตเด•เดฑเตเดฑเดฟเดจเดพเดฏเดฟ เด’เดฐเต เดชเต‡เดฐเต เด†เดตเดถเตเดฏเดชเตเดชเต†เดŸเตเด‚, เด’เดจเตเดจเตเด‚ เดจเตฝเด•เดฐเตเดคเต, เดŽเดจเตเดฑเตผ เด…เดฎเตผเดคเตเดคเตเด•, เดคเตเดŸเตผเดจเตเดจเต เดธเตผเดŸเตเดŸเดฟเดซเดฟเด•เตเด•เดฑเตเดฑเดฟเดจเดพเดฏเดฟ เด’เดฐเต เดชเดพเดธเตโ€Œเดตเต‡เดกเต เดธเตƒเดทเตโ€ŒเดŸเดฟเด•เตเด•เดพเตป เดธเตโ€Œเด•เตเดฐเดฟเดชเตเดฑเตเดฑเต เดจเดฟเด™เตเด™เดณเต‹เดŸเต เด†เดตเดถเตเดฏเดชเตเดชเต†เดŸเตเด‚, เดคเตเดŸเตผเดจเตเดจเต เด’เดฐเต เดธเตผเดŸเตเดŸเดฟเดซเดฟเด•เตเด•เดฑเตเดฑเต เดธเตƒเดทเตโ€ŒเดŸเดฟเด•เตเด•เตเดจเตเดจเดคเดฟเดจเต เดธเตเดฑเตเดฑเดพเตปเดกเต‡เตผเดกเต เดšเต‹เดฆเตเดฏเด™เตเด™เตพ เด‰เดฃเตเดŸเดพเด•เตเด‚. .

เด…เดŸเตเดคเตเดคเดคเดพเดฏเดฟ, เดจเดฟเด™เตเด™เตพ เด’เดฐเต เดธเตเดตเด•เดพเดฐเตเดฏ เด•เต€เดฏเตเด‚ (เดชเดพเดธเตโ€Œเดตเต‡เดกเต เด‡เดฒเตเดฒเดพเดคเต†) เด’เดชเตเดชเดฟเดŸเดพเดคเตเดค เดชเตŠเดคเต เด•เต€ เดธเตผเดŸเตเดŸเดฟเดซเดฟเด•เตเด•เดฑเตเดฑเตเด‚ (เด“เตผเด—เดจเตˆเดธเต‡เดทเดฃเตฝ เดฏเต‚เดฃเดฟเดฑเตเดฑเดฟเดจเตเดฑเต† เดชเต‡เดฐเต (เด‰เดฆเดพ, เดตเดฟเดญเดพเด—เด‚) [] เดฎเตเด•เดณเดฟเตฝ เดธเตƒเดทเตโ€ŒเดŸเดฟเดšเตเดš เดธเตผเดŸเตเดŸเดฟเดซเดฟเด•เตเด•เดฑเตเดฑเดฟเตฝ เดตเตเดฏเด•เตเดคเดฎเดพเด•เตเด•เดฟเดฏเดคเดฟเตฝ เดจเดฟเดจเตเดจเต เดตเตเดฏเดคเตเดฏเดธเตเดคเดฎเดพเดฏเดฟเดฐเดฟเด•เตเด•เดฃเด‚):

openssl req -new -newkey rsa:4096 -nodes -keyout foo-key.pem -out foo-req.pem

เดจเดฎเตเด•เตเด•เต เดชเตŠเดคเต เด•เต€ เดธเตผเดŸเตเดŸเดฟเดซเดฟเด•เตเด•เดฑเตเดฑเดฟเตฝ เด’เดชเตเดชเดฟเดŸเดพเด‚ (เดจเดฟเด™เตเด™เตพเด•เตเด•เต เด†เดตเดถเตเดฏเดฎเตเดณเตเดณเดคเตเดฐ เดฆเดฟเดตเดธเด™เตเด™เดณเตเดŸเต† เดŽเดฃเตเดฃเด‚ เดธเต‚เดšเดฟเดชเตเดชเดฟเด•เตเด•เตเด•):

openssl ca -out foo-cert.pem -days 365 -infiles foo-req.pem

เดˆ เดกเดฏเดฑเด•เตโ€ŒเดŸเดฑเดฟเดฏเดฟเตฝ เดธเตƒเดทเตโ€ŒเดŸเดฟเดšเตเดš เดธเตผเดŸเตเดŸเดฟเดซเดฟเด•เตเด•เดฑเตเดฑเตเด•เตพ เดตเดฟเดŸเตเด•, เด…เดฒเตเดฒเต†เด™เตเด•เดฟเตฝ เด…เดต เดจเดฟเด™เตเด™เตพเด•เตเด•เต เด•เต‚เดŸเตเดคเตฝ เดธเต—เด•เดฐเตเดฏเดชเตเดฐเดฆเดฎเดพเดฏ เดกเดฏเดฑเด•เตโ€ŒเดŸเดฑเดฟเดฏเดฟเดฒเต‡เด•เตเด•เต เดฎเดพเดฑเตเดฑเตเด•, เดˆ เดกเดฏเดฑเด•เตโ€ŒเดŸเดฑเดฟเดฏเดฟเตฝ เดธเตผเดŸเตเดŸเดฟเดซเดฟเด•เตเด•เดฑเตเดฑเตเด•เตพ เดธเตเดฅเดฟเดคเดฟเดšเต†เดฏเตเดฏเตเดฎเต†เดจเตเดจ เดตเดธเตเดคเตเดค เด•เดฃเด•เตเด•เดฟเดฒเต†เดŸเตเดคเตเดคเต เดชเต‹เดธเตเดฑเตเดฑเตโ€Œเดซเดฟเด•เตโ€Œเดธเตเด‚ เดกเต‹เดตเตโ€Œเด•เต‹เดŸเตเดŸเต โ€œเด•เต‹เตบเดซเดฟเด—เตเด•เดณเตเด‚โ€ เด•เต‹เตบเดซเดฟเด—เตผ เดšเต†เดฏเตเดฏเตเด‚.

เด‰เดชเดฏเต‹เด•เตเดคเตƒ เดตเดฟเดฎเต†เดฏเดฟเตฝ

เดชเต‹เดธเตเดฑเตเดฑเตเดซเดฟเด•เตเดธเต, เดกเต‹เดตเตเด•เต‹เดŸเตเดŸเต, เดกเต‹เดตเตเด•เต‹เดŸเตเดŸเต-เดชเดฟเดœเดฟเดฏเต‹เตบเดนเต‹เตพ เดŽเดจเตเดจเดฟเดต เด‡เตปเดธเตเดฑเตเดฑเดพเตพ เดšเต†เดฏเตเดฏเดพเตป เดคเตเดŸเด™เตเด™เตเดจเตเดจเดคเดฟเดจเตเดฎเตเดฎเตเดชเต, เดจเดฎเตเด•เตเด•เต เด’เดฐเต เด‰เดชเดฏเต‹เด•เตเดคเดพเดตเตเด‚ เด—เตเดฐเต‚เดชเตเดชเตเด‚ (เด—เตเดฐเต‚เดชเตเดชเต เดธเตเดตเดฏเดฎเต‡เดต เดธเตƒเดทเตเดŸเดฟเด•เตเด•เดชเตเดชเต†เดŸเตเด‚) vmail, เด…เดคเตเดชเต‹เดฒเต† เดคเดจเตเดจเต† เดฎเต†เดฏเดฟเตฝ เดธเตเดฅเดฟเดคเดฟ เดšเต†เดฏเตเดฏเตเดจเตเดจ เดกเดฏเดฑเด•เตเดŸเดฑเดฟเดฏเตเด‚ เดธเตƒเดทเตเดŸเดฟเด•เตเด•เดพเด‚.

pw useradd -n vmail -s /usr/sbin/nologin -u 1000 -d /var/vmail

เดฎเต†เดฏเดฟเดฒเดฟเดจเดพเดฏเดฟ เด’เดฐเต เดกเดฏเดฑเด•เตโ€ŒเดŸเดฑเดฟ เดธเตƒเดทเตโ€ŒเดŸเดฟเด•เตเด•เตเด•เดฏเตเด‚ เด‰เดชเดฏเต‹เด•เตเดคเดพเดตเดฟเดจเต† vmail เด‰เดŸเดฎเดฏเดพเดฏเดฟ เดจเตฝเด•เตเด•เดฏเตเด‚ เดšเต†เดฏเตเดฏเดพเด‚:

mkdir /var/vmail
chown -R vmail:vmail /var/vmail
chmod -R 744 /var/vmail

เดชเต‹เดธเตเดฑเตเดฑเตเดซเดฟเด•เตเดธเต, เดกเต‹เดตเตเด•เต‹เดŸเตเดŸเต, เดกเต‹เดตเตเด•เต‹เดŸเตเดŸเต-เดชเดฟเดœเดฟเดฏเต‹เตบเดนเต‹เตพ

เดžเดพเตป เดจเต‡เดฐเดคเตเดคเต† เดŽเดดเตเดคเดฟเดฏเดคเตเดชเต‹เดฒเต†, เดžเด™เตเด™เตพ เดชเต‹เตผเดŸเตเดŸเตเด•เดณเดฟเตฝ เดจเดฟเดจเตเดจเต เด†เดชเตเดฒเดฟเด•เตเด•เต‡เดทเตป เดกเดพเดฑเตเดฑ เด•เต‚เดŸเตเดŸเดฟเดšเตเดšเต‡เตผเด•เตเด•เตเด‚, เดชเต‹เตผเดŸเตเดŸเตเด•เตพ เดกเต—เตบเดฒเต‹เดกเต เดšเต†เดฏเตเดฏเดพเดจเตเด‚ เด…เตบเดชเดพเด•เตเด•เต เดšเต†เดฏเตเดฏเดพเดจเตเด‚ เด•เดฎเดพเตปเดกเต เดชเตเดฐเดตเตผเดคเตเดคเดฟเดชเตเดชเดฟเด•เตเด•เตเด•:

portsnap fetch extract

เดชเต‹เตผเดŸเตเดŸเตเด•เตพ เด…เตบเดชเดพเด•เตเด•เต เดšเต†เดฏเตเดค เดถเต‡เดทเด‚, dovecot เดกเดฏเดฑเด•เตโ€ŒเดŸเดฑเดฟเดฏเดฟเดฒเต‡เด•เตเด•เต เดชเต‹เดฏเดฟ, เดชเต‹เตผเดŸเตเดŸเต เด•เต‹เตบเดซเดฟเด—เตผ เดšเต†เดฏเตเดฏเตเด• (mysql เดธเดชเตเดชเต‹เตผเดŸเตเดŸเต เดชเดฐเดฟเดถเต‹เดงเดฟเด•เตเด•เดฃเด‚) เดฌเดฟเตฝเดกเต เดชเตเดฐเดตเตผเดคเตเดคเดฟเดชเตเดชเดฟเด•เตเด•เตเด• (BATCH=เด…เดคเต†, เด‡เตปเดธเตเดฑเตเดฑเดฒเต‡เดทเตป เดธเดฎเดฏเดคเตเดคเต เดšเต‹เดฆเตเดฏเด™เตเด™เตพ เดšเต‹เดฆเดฟเด•เตเด•เดฐเตเดคเต เดŽเดจเตเดจเต เดชเดฑเดฏเตเด‚):

cd /usr/ports/mail/dovecot
make config
make BATCH=yes install clean

เดชเต‹เดธเตเดฑเตเดฑเตเดซเดฟเด•เตเดธเตเด‚ เดกเต‹เดตเตเด•เต‹เดŸเตเดŸเต-เดชเดฟเดœเดฟเดฏเต‹เตบเดนเต‹เดณเตเด‚ เด‰เดชเดฏเต‹เด—เดฟเดšเตเดšเต เดธเดฎเดพเดจ เดชเตเดฐเดตเตผเดคเตเดคเดจเด™เตเด™เตพ เดšเต†เดฏเตเดฏเตเด•

เดชเตเดฐเดพเดตเต-เดชเตเดฐเดพเดตเตเดฆเตเดตเดพเดฐเด‚:

cd /usr/ports/mail/dovecot-pigeonhole
make BATCH=yes install clean

postfix: mysql เดชเดฟเดจเตเดคเตเดฃเดฏเตโ€Œเด•เตเด•เดพเดฏเดฟ เดชเต‹เตผเดŸเตเดŸเต เด•เตเดฐเดฎเต€เด•เดฐเดฃเด™เตเด™เดณเตเด‚ เดชเดฐเดฟเดถเต‹เดงเดฟเด•เตเด•เตเด•

cd  /usr/ports/mail/postfix-sasl
make config
make BATCH=yes install clean

dovecot เดชเตเดฐเดตเตผเดคเตเดคเดฟเดชเตเดชเดฟเด•เตเด•เตเดจเตเดจเดคเดฟเดจเต เดฎเตเดฎเตเดชเต, "configs" เดชเด•เตผเดคเตเดคเตเด•:

 cp -R /usr/local/etc/dovecot/example-config/*  /usr/local/etc/dovecot

เดชเต‹เดธเตเดฑเตเดฑเตเดซเดฟเด•เตเดธเตเด‚ เดกเต‹เดตเตเด•เต‹เดŸเตเดŸเตเด‚ เด‡เตปเดธเตเดฑเตเดฑเดพเตพ เดšเต†เดฏเตเดค เดถเต‡เดทเด‚, เดธเต‡เดตเดจเด™เตเด™เตพ เด†เดฐเด‚เดญเดฟเด•เตเด•เตเด•:

service postfix start
service dovecot start

เดธเตโ€Œเดชเดพเด‚ เดซเต‹เตพเดกเดฑเดฟเดฒเต‡เด•เตเด•เต เดธเตโ€Œเดชเดพเด‚ เด…เดฏเดฏเตโ€Œเด•เตเด•เตเดจเตเดจเดคเดฟเดจเตเดณเตเดณ เดฎเตŠเดกเตเดฏเต‚เตพ เด•เด‚เดชเตˆเตฝ เดšเต†เดฏเตเดฏเตเดจเตเดจ เด’เดฐเต เดกเดฏเดฑเด•เตโ€ŒเดŸเดฑเดฟ เดธเตƒเดทเตโ€ŒเดŸเดฟเด•เตเด•เต‡เดฃเตเดŸเดคเตเด‚ เด†เดตเดถเตเดฏเดฎเดพเดฃเต, เดŽเดจเตเดฑเต† เด•เดพเดฐเตเดฏเดคเตเดคเดฟเตฝ เดˆ เดกเดฏเดฑเด•เตโ€ŒเดŸเดฑเดฟ เดธเตเดฅเดฟเดคเดฟ เดšเต†เดฏเตเดฏเตเดจเตเดจเดคเต /usr/local/etc/dovecot/conf.d เดŽเดจเตเดจ เดซเต‹เตพเดกเดฑเดฟเดฒเดพเดฃเต, เดกเดฏเดฑเด•เตโ€ŒเดŸเดฑเดฟเดฏเตเดŸเต† เดชเต‡เดฐเต def, เดžเด™เตเด™เตพ เดˆ เดกเดฏเดฑเด•เตโ€ŒเดŸเดฑเดฟเดฏเตเด‚ เดธเดฎเดพเดนเดพเดฐเดคเตเดคเดฟเดจเตเดณเตเดณ เด•เต‹เดกเตเดณเตเดณ เด’เดฐเต เดซเดฏเดฒเตเด‚ เดธเตƒเดทเตโ€ŒเดŸเดฟเด•เตเด•เตเด•เดฏเตเด‚ เดˆ เดกเดฏเดฑเด•เตโ€ŒเดŸเดฑเดฟเดฏเตเดŸเต† เด‰เดŸเดฎเดฏเต† เด‰เดชเดฏเต‹เด•เตเดคเตƒ vmail เด†เดฏเดฟ เดธเดœเตเดœเดฎเดพเด•เตเด•เตเด•เดฏเตเด‚ เดšเต†เดฏเตเดฏเตเด‚:

mkdir /usr/local/etc/dovecot/conf.d/def
touch /usr/local/etc/dovecot/conf.d/def/default.sieve
chown -R vmail:vmail /usr/local/etc/dovecot/conf.d/def
chmod -R 744 /usr/local/etc/dovecot/conf.d/def

เดˆ เดซเดฏเดฒเดฟเตฝ เดตเดฐเดฟเด•เตพ เดธเตเดฅเดพเดชเดฟเด•เตเด•เตเด•:

require "fileinto";
if header :contains "X-Spam-Flag" "YES" {
    fileinto "Junk";
}

"เด•เต‹เตบเดซเดฟเด—เต‡เดทเดจเตเด•เตพ"

เดˆ เดตเดฟเดญเดพเด—เดคเตเดคเดฟเตฝ เดžเดพเตป เด…เดตเดฏเดฟเดฒเต† เด…เดญเดฟเดชเตเดฐเดพเดฏเด™เตเด™เดณเตเดณเตเดณ โ€œเด•เต‹เตบเดซเดฟเด—เตเด•เดณเตเดŸเต†โ€ เด‰เดฆเดพเดนเดฐเดฃเด™เตเด™เตพ เดจเตฝเด•เตเด‚, เดจเต†เดฑเตเดฑเตโ€Œเดตเตผเด•เตเด•เดฟเตฝ เดถเดฐเดฟเดฏเดพเดฏ เดตเดฟเดตเดฐเดฃเด™เตเด™เตพ เดžเดพเตป เด•เดฃเตเดŸเต†เดคเตเดคเดฟเดฏเดฟเดฒเตเดฒ เดŽเดจเตเดจเดคเดฟเดจเดพเตฝ (เดžเดพเตป เดธเตเดฅเดฟเดฐเดธเตเดฅเดฟเดคเดฟเดฏเดพเดฏเดฟ โ€œเด•เต‹เตบเดซเดฟเด—เตโ€ เด‰เดชเต‡เด•เตเดทเดฟเดšเตเดšเต), เดฆเดฏเดตเดพเดฏเดฟ เดธเตเดชเดพเดฎเดพเดธเดพเดธเดฟเดจเดฟเดจเตเดฑเต† โ€œเด•เต‹เตบเดซเดฟเด—เต‡เดทเตปโ€ เดฎเดพเดคเตเดฐเดฎเต‡ เดŽเดจเดฟเด•เตเด•เต เดธเด‚เดถเดฏเดฎเตเดณเตเดณเต‚. เดธเตเดชเดพเดฎเดธเดพเดธเดฟเตป เดŽเด™เตเด™เดจเต† เด•เตเดฐเดฎเต€เด•เดฐเดฟเด•เตเด•เดพเด‚ เดŽเดจเตเดจเดคเดฟเดจเต†เด•เตเด•เตเดฑเดฟเดšเตเดšเตเดณเตเดณ เด…เดญเดฟเดชเตเดฐเดพเดฏเด™เตเด™เตพ.

เดชเต‹เดธเตเดฑเตเดฑเตเดซเดฟเด•เตเดธเต

เดกเดพเดฑเตเดฑเดพเดฌเต‡เดธเดฟเตฝ เดจเดฟเดจเตเดจเต เด‰เดชเดฏเต‹เด•เตเดคเดพเด•เตเด•เตพ, เดกเตŠเดฎเต†เดฏเตโ€Œเดจเตเด•เตพ, เด•เตเดตเดพเดŸเตเดŸเด•เตพ เดŽเดจเตเดจเดฟเดต เดชเดฟเตปเดตเดฒเดฟเด•เตเด•เดพเตป เดซเดฏเดฒเตเด•เตพ เดธเตƒเดทเตโ€ŒเดŸเดฟเด•เตเด•เตเด• เดŽเดจเตเดจเดคเดพเดฃเต เด†เดฆเตเดฏเดชเดŸเดฟ. เดˆ เดซเดฏเดฒเตเด•เดณเตเด‚ เด†เดตเดถเตเดฏเดฎเดพเดฏ เดซเดฏเดฒเตเด•เดณเตเด‚ เดธเด‚เดญเดฐเดฟเด•เตเด•เตเดจเตเดจเดคเดฟเดจเต เด’เดฐเต เดกเดฏเดฑเด•เตเดŸเดฑเดฟ เดธเตƒเดทเตเดŸเดฟเด•เตเด•เตเด•:

mkdir /usr/local/etc/postfix/mysql
touch /usr/local/etc/postfix/mysql/relay_domains.cf
touch /usr/local/etc/postfix/mysql/virtual_alias_maps.cf
touch /usr/local/etc/postfix/mysql/virtual_alias_domain_maps.cf
touch /usr/local/etc/postfix/mysql/virtual_mailbox_maps.cf

เดˆ เดซเดฏเดฒเตเด•เดณเตเดŸเต† เด‰เดณเตเดณเดŸเด•เตเด•เด‚ เด‡เดคเตเดชเต‹เดฒเต†เดฏเดพเดฏเดฟเดฐเดฟเด•เตเด•เตเด‚:
relay_domains.cf

hosts = 127.0.0.1
user = postfix
password = password123
dbname = postfix
query = SELECT domain FROM domain WHERE domain='%s' and backupmx = '1'

virtual_alias_maps.cf

hosts = 127.0.0.1
user = postfix
password = password123
dbname = postfix
query = SELECT goto FROM alias WHERE address='%s' AND active ='1'

virtual_alias_domain_maps.cf

hosts = 127.0.0.1
user = postfix
password = password123
dbname = postfix
query = SELECT goto FROM alias,alias_domain WHERE alias_domain.alias_domain = '%d' and alias.address = CONCAT('%u', '@', alias_domain.target_domain) AND alias.active = '1'

virtual_mailbox_maps.cf

hosts = 127.0.0.1
user = postfix
password = password123
dbname = postfix
query = SELECT maildir FROM mailbox WHERE username='%s' AND  active = '1'

master.cf

#ะฃะบะฐะทะฐั‚ัŒ postfix ะพ ั‚ะพะผ, ั‡ั‚ะพ ะฝะตะพะฑั…ะพะดะธะผะพ ะธัะฟะพะปัŒะทะพะฒะฐั‚ัŒ dovecot ะดะปั ะดะพัั‚ะฐะฒะบะธ ะฟะพั‡ั‚ั‹
dovecot unix - n n - - pipe
    flags=DRhu user=vmail:vmail argv=/usr/local/libexec/dovecot/deliver -f ${sender} -d ${recipient}

#ะฃะบะฐะถะตะผ ัะปัƒะถะฑะต smtpd ะพ ะฒะพะทะผะพะถะฝะพัั‚ะธ ะฐะฒั‚ะพั€ะธะทะพะฒะฐั‚ัŒัั ั‡ะตั€ะตะท sasl, ะฐ ั‚ะฐะบะถะต ะพ ั‚ะพะผ, ั‡ั‚ะพ spamassassin ะฑัƒะดะตั‚ ั„ะธะปัŒั‚ั€ะพะฒะฐั‚ัŒ ะฟะพั‡ั‚ัƒ
smtp      inet  n       -       n       -       -       smtpd
  -o content_filter=spamassassin
  -o smtpd_sasl_auth_enable=yes

#ะ˜ัะฟะพะปัŒะทะพะฒะฐั‚ัŒ ะฟะพั€ั‚ 587 ะธ ะฒะพะทะผะพะถะฝะพัั‚ัŒ ะฐะฒั‚ะพั€ะธะทะฐั†ะธะธ ั‡ะตั€ะตะท sasl
submission inet n       -       n       -       -       smtpd
 -o smtpd_sasl_auth_enable=yes

#ะฃะบะฐะทะฐั‚ัŒ ัะปัƒะถะฑะต smtp ะธัะฟะพะปัŒะทะพะฒะฐั‚ัŒ ะฐะฒั‚ะพั€ะธะทะฐั†ะธัŽ ั‡ะตั€ะตะท SASL
smtps     inet  n       -       n       -       -       smtpd
  -o smtpd_sasl_auth_enable=yes
  -o smtpd_tls_wrappermode=yes

#ะ˜ัะฟะพะปัŒะทะพะฒะฐั‚ัŒ Spamassassin
spamassassin   unix  -       n       n       -       -       pipe
   flags=DROhu user=vmail:vmail argv=/usr/local/bin/spamc -f -e
   /usr/local/libexec/dovecot/deliver -f ${sender} -d ${user}@${nexthop}

#628       inet  n       -       n       -       -       qmqpd
pickup    unix  n       -       n       60      1       pickup
cleanup   unix  n       -       n       -       0       cleanup
qmgr      unix  n       -       n       300     1       qmgr
#qmgr     unix  n       -       n       300     1       oqmgr
tlsmgr    unix  -       -       n       1000?   1       tlsmgr
rewrite   unix  -       -       n       -       -       trivial-rewrite
bounce    unix  -       -       n       -       0       bounce
defer     unix  -       -       n       -       0       bounce
trace     unix  -       -       n       -       0       bounce
verify    unix  -       -       n       -       1       verify
flush     unix  n       -       n       1000?   0       flush
proxymap  unix  -       -       n       -       -       proxymap
proxywrite unix -       -       n       -       1       proxymap
smtp      unix  -       -       n       -       -       smtp
relay     unix  -       -       n       -       -       smtp
        -o syslog_name=postfix/$service_name
#       -o smtp_helo_timeout=5 -o smtp_connect_timeout=5
showq     unix  n       -       n       -       -       showq
error     unix  -       -       n       -       -       error
retry     unix  -       -       n       -       -       error
discard   unix  -       -       n       -       -       discard
local     unix  -       n       n       -       -       local
virtual   unix  -       n       n       -       -       virtual
lmtp      unix  -       -       n       -       -       lmtp
anvil     unix  -       -       n       -       1       anvil
scache    unix  -       -       n       -       1       scache
postlog   unix-dgram n  -       n       -       1       postlogd

main.cf

#ะ•ัะปะธ ะฝะต ัƒะบะฐะทะฐั‚ัŒ ะฒ ะดะฐะฝะฝะพะผ ะฟะฐั€ะฐะผะตั‚ั€ะต ะทะฝะฐั‡ะตะฝะธะต dovecot, ั‚ะพ ะฟะพั‡ั‚ะฐ ะฑัƒะดะตั‚ ะฟะพัั‚ัƒะฟะฐั‚ัŒ ะปะพะบะฐะปัŒะฝั‹ะผ ะฟะพะปัŒะทะพะฒะฐั‚ะตะปัะผ
local_transport = dovecot
#ะะต ั‡ัƒะฒัั‚ะฒะธั‚ะตะปัŒะฝั‹ะน ะบ ั€ะตะณะธัั‚ั€ัƒ ัะฟะธัะพะบ ะบะปัŽั‡ะตะฒั‹ั… ัะปะพะฒ, ะบะพั‚ะพั€ั‹ะต SMTP-ัะตั€ะฒะตั€ ะฝะต ะฑัƒะดะตั‚ ะพั‚ะฟั€ะฐะฒะปัั‚ัŒ ะฒ ะพั‚ะฒะตั‚ะต EHLO ัƒะดะฐะปั‘ะฝะฝะพะผัƒ SMTP ะบะปะธะตะฝั‚ัƒ
smtpd_discard_ehlo_keywords = CONNECT GET POST
#ะŸะพะดะพะถะดะฐั‚ัŒ ะฟะพะบะฐ ะฟั€ะธะดั‘ั‚ ะฒัั ะธะฝั„ะพั€ะผะฐั†ะธั ะพ ะบะปะธะตะฝั‚ะต ะธ ั‚ะพะปัŒะบะพ ะฟะพั‚ะพะผ ะฟั€ะธะผะตะฝะธั‚ัŒ ะพะณั€ะฐะฝะธั‡ะตะฝะธั
smtpd_delay_reject = yes
#ะขั€ะตะฑะพะฒะฐั‚ัŒ ะฝะฐั‡ะธะฝะฐั‚ัŒ ัะตััะธัŽ ั ะฟั€ะธะฒะตั‚ัั‚ะฒะธั
smtpd_helo_required = yes
#ะ—ะฐะฟั€ะตั‚ะธั‚ัŒ ัƒะทะฝะฐะฒะฐั‚ัŒ ััƒั‰ะตัั‚ะฒัƒะตั‚ ะพะฟั€ะตะดะตะปั‘ะฝะฝั‹ะน ะฟะพั‡ั‚ะพะฒั‹ะน ัั‰ะธะบ, ะธะปะธ ะฝะตั‚
disable_vrfy_command = yes
#ะญั‚ะพั‚ ะฟะฐั€ะฐะผะตั‚ั€ ะฝะตะพะฑั…ะพะดะธะผ ะดะปั ั€ะฐะฑะพั‚ั‹ ัƒัั‚ะฐั€ะตะฒัˆะธั… ะบะปะธะตะฝั‚ะพะฒ
broken_sasl_auth_clients = yes
#ะ—ะฐะฟั€ะตั‚ะธั‚ัŒ ะฐะฝะพะฝะธะผะฝัƒัŽ ะฐะฒั‚ะพั€ะธะทะฐั†ะธัŽ
smtpd_sasl_security_options = noanonymous noactive nodictionary
smtp_sasl_security_options = noanonymous noactive nodictionary
#ะ˜ัะฟะพะปัŒะทะพะฒะฐั‚ัŒ dovecot ะดะปั ะฐะฒั‚ะพั€ะธะทะฐั†ะธะธ(ะฟะพ ัƒะผะพะปั‡ะฐะฝะธัŽ cyrus)
smtpd_sasl_type = dovecot
smtp_sasl_type = dovecot
#ะฟัƒั‚ัŒ ะดะพ ะฟะปะฐะณะธะฝะฐ ะฐัƒั‚ะตะฝั‚ะธั„ะธะบะฐั†ะธะธ
smtpd_sasl_path = private/auth
#ะกะฟะธัะพะบ ััƒั‰ะตัั‚ะฒัƒัŽั‰ะธั… ะฟะพะปัŒะทะพะฒะฐั‚ะตะปะตะน
local_recipient_maps = $virtual_mailbox_maps $virtual_alias_maps
#ะ•ัะปะธ ะฟะพะปัŒะทะพะฒะฐั‚ะตะปั ะฝะต ััƒั‰ะตัั‚ะฒัƒะตั‚, ั‚ะพะณะดะฐ ะพั‚ะบะปะพะฝะธั‚ัŒ ะฟะพั‡ั‚ัƒ
smtpd_reject_unlisted_recipient = yes
#ะ›ะธะผะธั‚ั‹ ั€ะฐะทะผะตั€ะฐ ะฟะธัะตะผ
message_size_limit = 10485760
#ะšะฐะถะดั‹ะน ะฟะพะปัƒั‡ะฐั‚ะตะปัŒ ะฟะพะปัƒั‡ะธั‚ ะธะฝะดะธะฒะธะดัƒะฐะปัŒะฝัƒัŽ ะพะฑั€ะฐะฑะพั‚ะบัƒ spamassassin
spamassassin_destination_recipient_limit = 1
#ะะฝั‚ะธะฒะธั€ัƒั
milter_default_action = accept
milter_protocol = 2
#ะŸัƒั‚ัŒ ะดะพ ัะพะบะตั‚ะฐ clamav
smtpd_milters = unix:/var/run/clamav/clmilter.sock
non_smtpd_milters = unix:/var/run/clamav/clmilter.sock
#MYSQL
relay_domains = mysql:/usr/local/etc/postfix/mysql/relay_domains.cf
virtual_alias_maps = mysql:/usr/local/etc/postfix/mysql/virtual_alias_maps.cf, mysql:/usr/local/etc/postfix/mysql/virtual_alias_domain_maps.cf
virtual_mailbox_maps = mysql:/usr/local/etc/postfix/mysql/virtual_mailbox_maps.cf
#ะŸั€ะพะฒะตั€ะบะฐ HELO
smtpd_helo_restrictions = permit_sasl_authenticated, reject_non_fqdn_helo_hostname, reject_invalid_hostname
#ะžะณั€ะฐะฝะธั‡ะตะฝะธั ะดะปั ัะพะดะตั€ะถะธะผะพะณะพ ะฟะธัะตะผ
smtpd_data_restrictions = permit_sasl_authenticated reject_unauth_pipelining, reject_multi_recipient_bounce
#ะŸั€ะฐะฒะธะปะฐ ะพั‚ะฟั€ะฐะฒะบะธ ะฟะพั‡ั‚ั‹
smtpd_sender_restrictions = permit_sasl_authenticated reject_sender_login_mismatch,reject_unauthenticated_sender_login_mismatch, reject_non_fqdn_sender, reject_unknown_sender_domain
#ะŸั€ะฐะฒะธะปะฐ ะฟั€ะธั‘ะผะฐ ะฟะพั‡ั‚ั‹(check_policy_service inet:127.0.0.1:10023 ะฟะฐั€ะฐะผะตั‚ั€ postgrey - ะทะฐะฟั€ะตั‰ะฐะตั‚ ะฟั€ะธั‘ะผ ะฟะพั‡ั‚ั‹ ั ะฟะตั€ะฒะพะณะพ ั€ะฐะทะฐ)
smtpd_recipient_restrictions = permit_sasl_authenticated reject_non_fqdn_recipient, reject_unknown_recipient_domain, reject_multi_recipient_bounce, reject_unknown_client_hostname, reject_unauth_destination, check_policy_service inet:127.0.0.1:10023
#ะŸะฐะฟะบะฐ ะดะปั ะฟะพั‡ั‚ั‹
virtual_mailbox_base = /var/vmail
#uid ะธ gid vmail
virtual_minimum_uid = 1000
virtual_uid_maps = static:1000
virtual_gid_maps = static:1000
#ะฃะบะฐะทะฐั‚ัŒ ะฒะธั€ั‚ัƒะฐะปัŒะฝั‹ะน ั‚ั€ะฐะฝัะฟะพั€ั‚
virtual_transport = devecot
dovecot_destination_recipient_limit = 1
#ะะฐัั‚ั€ะพะนะบะธ ัˆะธั„ั€ะพะฒะฐะฝะธั
smtp_use_tls=yes
smtp_tls_note_starttls_offer=yes
#ัั‚ั€ะพะบะฐ smtp_tls_security_level=encrypt ะพั‚ะฒะตั‡ะฐะตั‚ ะทะฐ ะพั‚ะฟั€ะฐะฒะบัƒ ะฟะพั‡ั‚ัƒ ั‚ะพะปัŒะบะพ ั‡ะตั€ะตะท ssl, ะตัะปะธ ัะตั€ะฒะตั€ ะฝะต ะฟะพะดะดะตั€ะถะธะฒะฐะตั‚ ะฟั€ะธั‘ะผ ะฟะพั‡ั‚ั‹ ั‡ะตั€ะตะท ssl, ั‚ะพะณะดะฐ ะฝะตะพะฑั…ะพะดะธะผะพ ะฟะพัั‚ะฐะฒะธั‚ัŒ smtp_tls_security_level=may(ะตัะปะธ ัะตั€ะฒะตั€ ะฝะต ะฟะพะดะดะตั€ะถะธะฒะฐะตั‚ ssl, ั‚ะพ ะพั‚ะฟั€ะฐะฒะธั‚ัŒ ะฒ ะพั‚ะบั€ั‹ั‚ะพะผ ะฒะธะดะต)
smtp_tls_security_level=encrypt
smtp_tls_session_cache_database=btree:$data_directory/smtp_tls_session_cache
smtp_tls_CAfile=/etc/ssl/demoCA/cacert.pem
smtp_tls_key_file=/etc/ssl/foo-key.pem
smtp_tls_cert_file=/etc/ssl/foo-cert.pem
smtp_tls_session_cache_timeout=3600s
smtp_tls_protocols=!TLSv1.2
smtp_tls_loglevel=1
#ัั‚ั€ะพะบะฐ smtpd_tls_security_level=encrypt ะพั‚ะฒะตั‡ะฐะตั‚ ะทะฐ ะพั‚ะฟั€ะฐะฒะบัƒ ะฟะพั‡ั‚ัƒ ั‚ะพะปัŒะบะพ ั‡ะตั€ะตะท ssl, ะตัะปะธ ัะตั€ะฒะตั€ ะฝะต ะฟะพะดะดะตั€ะถะธะฒะฐะตั‚ ะฟั€ะธั‘ะผ ะฟะพั‡ั‚ั‹ ั‡ะตั€ะตะท ssl, ั‚ะพะณะดะฐ ะฝะตะพะฑั…ะพะดะธะผะพ ะฟะพัั‚ะฐะฒะธั‚ัŒ smtpd_tls_security_level=may(ะตัะปะธ ัะตั€ะฒะตั€ ะฝะต ะฟะพะดะดะตั€ะถะธะฒะฐะตั‚ ssl, ั‚ะพ ะพั‚ะฟั€ะฐะฒะธั‚ัŒ ะฒ ะพั‚ะบั€ั‹ั‚ะพะผ ะฒะธะดะต)
smtpd_tls_security_level=encrypt
smtpd_use_tls=yes
smtpd_tls_auth_only=yes
smtpd_tls_loglevel=1
smtpd_tls_received_header=yes
smtpd_tls_session_cache_timeout=3600s
smtpd_tls_session_cache_database=btree:$data_directory/smtpd_tls_session_cache
smtpd_tls_key_file=/etc/ssl/foo-key.pem
smtpd_tls_cert_file=/etc/ssl/foo-cert.pem
smtpd_tls_CAfile= /etc/ssl/demoCA/cacert.pem
smtpd_tls_protocols=!TLSv1.2
#ะŸัƒั‚ัŒ ะดะพ ัƒัั‚ั€ะพะนัั‚ะฒะฐ ะณะตะฝะตั€ะฐั‚ะพั€ะฐ ัะปัƒั‡ะฐะนะฝั‹ั… ั‡ะธัะตะป
tls_random_source=dev:/dev/urandom
#ะžะฑั€ะฐั‚ะฝะฐั ัะพะฒะผะตัั‚ะธะผะพัั‚ัŒ
compatibility_level = 2
#ะกะพะพะฑั‰ะธั‚ัŒ ะบะปะธะตะฝั‚ัƒ ะพ ั‚ะพะผ, ั‡ั‚ะพ ะฟะพั‡ั‚ะฐ ะฝะต ะพั‚ะบะปะพะฝะตะฝะฐ, ะฐ ะฝะตะพะฑั…ะพะดะธะผะพ ะพั‚ะฟั€ะฐะฒะธั‚ ะตะต ะตั‰ั‘ ั€ะฐะท, ะฝะพ ะฝะตะผะฝะพะณะพ ะฟะพะทะถะต
soft_bounce = no
#ะกะธัั‚ะตะผะฝะฐั ัƒั‡ั‘ั‚ะฝะฐั ะทะฐะฟะธััŒ UNIX ะธะท ะฟะพ ะบะพั‚ะพั€ะพะน ะทะฐะฟัƒัะบะฐะตั‚ัั ะธ ั€ะฐะฑะพั‚ะฐะตั‚ postfix
mail_owner = postfix
#ะ˜ะผั ั…ะพัั‚ะฐ ะฝะฐ ะบะพั‚ะพั€ะพะผ ั€ะฐะทะฒั‘ั€ะฝัƒั‚ postfix(ะฒ ะดะฐะฝะฝะพะผ ะฟั€ะธะผะตั€ะต ะธะผั ะดะพะผะตะฝะฐ ะธ ะธะผั ั…ะพัั‚ะฐ ัะพะฒะฟะฐะดะฐัŽั‚)
myhostname = $mydomain
#ะ’ ะดะฐะฝะฝะพะผ ะฟะฐั€ะฐะผะตั‚ั€ะต ะฝะตะพะฑั…ะพะดะธะผะพ ัƒะบะฐะทะฐั‚ัŒ ะธะผั ะดะพะผะตะฝะฐ
mydomain = virusslayer.su
myorigin = $myhostname
#ะšะฐะบะธะต ะธะฝั‚ะตั€ั„ะตะนัั‹ ะฝะตะพะฑั…ะพะดะธะผะพ ะธัะฟะพะปัŒะทะพะฒะฐั‚ัŒ
inet_interfaces = all
#ะกะฟะธัะพะบ ะดะพะผะตะฝะพะฒ ะฝะฐ ะบะพั‚ะพั€ั‹ะต ะฑัƒะดะตั‚ ะพััƒั‰ะตัั‚ะฒะปัั‚ัŒัั ะดะพัั‚ะฐะฒะบะฐ ะฟะพั‡ั‚ั‹
mydestination = $mydomain, localhost, localhost.$mydomain
#ะžั‚ะฟั€ะฐะฒะปัะตั‚ ะบะพะด ะพั‚ะฒะตั‚ะฐ 550 ะพั‚ะฟั€ะฐะฒะธั‚ะตะปัŽ ะบะพั‚ะพั€ั‹ะน ะฟั‹ั‚ะฐะตั‚ัั ะพั‚ะฟั€ะฐะฒะธั‚ัŒ ะฟะธััŒะผะพ ะฝะต ััƒั‰ะตัั‚ะฒัƒัŽั‰ะตะผัƒ ะฟะพะปัŒะทะพะฒะฐั‚ะตะปัŽ
unknown_local_recipient_reject_code = 550
#ะฟะตั€ะตัั‹ะปะฐั‚ัŒ ะฟะพั‡ั‚ัƒ ั‚ะพะปัŒะบะพ ะพั‚ localhost
mynetworks_style = host
#ะ’ ะดะฐะฝะฝะพะผ ะฟะฐั€ะฐะผะตั‚ั€ะต ะฝะต ะฝัƒะถะฝะพ ะฝะต ั‡ะตะณะพ ัƒะบะฐะทั‹ะฒะฐั‚ัŒ, ั‚ะฐะบ-ะบะฐะบ ะฟะพะดัะตั‚ะธ ัƒะบะฐะทะฐะฝะฝั‹ะต ะฒ ะดะฐะฝะฝะพะผ ะฟะฐั€ะฐะผะตั‚ั€ะต ะฑัƒะดัƒั‚ ัั‡ะธั‚ะฐั‚ัŒัั ะฟั€ะธะฒะธะปะตะณะธั€ะพะฒะฐะฝะฝั‹ะผะธ
mynetworks =
#ะ’ะตั€ัะธั ะฟั€ะพั‚ะพะบะพะปะฐ ip
inet_protocols = ipv4
#ะะปะธะฐัั‹ ะปะพะบะฐะปัŒะฝั‹ั… ะฟะพะปัŒะทะพะฒะฐั‚ะตะปะตะน(ะตัะปะธ ะบะพะฝะตั‡ะฝะพ ัั‚ะพ ะฝะตะพะฑั…ะพะดะธะผะพ)
alias_maps = hash:/etc/mail/aliases
alias_database = dbm:/etc/mail/aliases.db
#ะ”ะฐะฝะฝั‹ะผ ัะพะพะฑั‰ะตะฝะธะตะผ ัะตั€ะฒะตั€ ะฑัƒะดะตั‚ ะฟั€ะตะดัั‚ะฐะฒะปัั‚ัŒัั ะฟั€ะธ ะพั‚ะฟั€ะฐะฒะบะต ะธ ะฟะพะปัƒั‡ะตะฝะธะธ ะฟะพั‡ั‚ั‹
smtpd_banner = $myhostname ESMTP $mail_name
#ะฃะบะฐะทะฐั‚ัŒ ะฝะฐ ัะบะพะปัŒะบะพ ะฟะพะดั€ะพะฑะฝั‹ะผ ะดะพะปะถะตะฝ ะฑั‹ั‚ัŒ ะพั‚ั‡ั‘ั‚
debug_peer_level = 2
#ะฃะบะฐะทะฐั‚ัŒ ะผะตะถะดัƒ ะบะฐะบะธะผะธ ะดะพะผะตะฝะฐะผะธ ะพั‚ัะปะบะถะธะฒะฐั‚ัŒ ะฟะตั€ะตัั‹ะปะบัƒ (ะดะปั ะทะฐะฟะธัะธ ะฒ ะปะพะณ, ะผะพะถะฝะพ ัƒะบะฐะทะฐั‚ัŒ ะฝะฐะฟั€ะธะผะตั€ yandex.ru gmail.ru mail.ru ะธ ั‚.ะด.)
debug_peer_list = 127.0.0.1
#ะŸัƒั‚ัŒ ะดะพ ะพั‚ะปะฐะดั‡ะธะบะฐ
debugger_command =
PATH=/bin:/usr/bin:/usr/local/bin:/usr/X11R6/bin
ddd $daemon_directory/$process_name $process_id & sleep 5
#ะกะพะฒะผะตัั‚ะธะผะพัั‚ัŒ ั sendmail
sendmail_path = /usr/local/sbin/sendmail
mailq_path = /usr/local/bin/mailq
setgid_group = maildrop
#ะŸัƒั‚ะธ ะดะพ ั€ะฐะทะปะธั‡ะฝั‹ั… ะบะฐั‚ะฐะปะพะณะพะฒ
html_directory = /usr/local/share/doc/postfix
manpage_directory = /usr/local/man
sample_directory = /usr/local/etc/postfix
readme_directory = /usr/local/share/doc/postfix
meta_directory = /usr/local/libexec/postfix
shlib_directory = /usr/local/lib/postfix
queue_directory = /var/spool/postfix
command_directory = /usr/local/sbin
daemon_directory = /usr/local/libexec/postfix
data_directory = /var/db/postfix

เดกเต‹เดตเตเด•เต‹เดŸเตเดŸเต

dovecot.conf

#ะŸั€ะพั‚ะพะบะพะปั‹ ั ะบะพั‚ะพั€ั‹ะผะธ ะฑัƒะดะตั‚ ั€ะฐะฑะพั‚ะฐั‚ัŒ dovecot
protocols = imap pop3
#ะšะฐะบะธะต ะฐะดั€ะตัะฐ ะฝะตะพะฑั…ะพะดะธะผะพ ัะปัƒัˆะฐั‚ัŒ
listen = *, ::
#ะŸัƒั‚ัŒ ะดะพ ั„ะฐะนะปะฐ ั ะฟะฐั€ะฐะผะตั‚ั€ะฐะผะธ ะธะทะฒะปะตั‡ะตะฝะธั ะบะฒะพั‚ ะธะท mysql
dict {
quota = mysql:/usr/local/etc/dovecot/dovecot-dict-sql.conf.ext
}
#ะ˜ะทะฒะปะตั‡ัŒ ะฝะตะพะฑั…ะพะดะธะผั‹ะต ะบะพะฝั„ะธะณะธ
!include conf.d/*.conf
!include_try local.conf

dovecot-dict-sql.conf.ext

connect = host=127.0.0.1 dbname=postfix user=postfix password=password123
map {
pattern = priv/quota/storage
table = quota2
username_field = username
value_field = bytes
}
map {
pattern = priv/quota/messages
table = quota2
username_field = username
value_field = messages
}

dovecot-sql.conf.ext

#ะŸะฐั€ะฐะผะตั‚ั€ั‹ ะฟะพะดะบะปัŽั‡ะตะฝะธั ะบ ะฑะฐะทะต MYSQL
driver = mysql
connect = host=127.0.0.1 dbname=postfix user=postfix password=password123
#ะšะฐะบะฐั ัั…ะตะผะฐ ะธัะฟะพะปัŒะทัƒะตั‚ัั ะดะปั ะฟะฐั€ะพะปะตะน
default_pass_scheme = MD5
#ะ—ะฐะฟั€ะพัั‹ ะดะปั ะฟะพะปัŒะทะพะฒะฐั‚ะตะปะตะน, ะฟะฐั€ะพะปะตะน ะธ ะบะฒะพั‚
user_query = SELECT '/var/mail/%d/%n/' AS  home, 'maildir:/var/vmail/%d/%n' AS mail, 1000 AS uid, 1000 AS gid, concat('*:bytes=',quota) as quota_rule FROM mailbox 
WHERE username ='%u' AND active = '1'
password_query = SELECT username as user, password, '/var/vmail/%d/%n' as userdb_home, 'maildir:/var/vmail/%d/%n' as userdb_mail, 1000 as userdb_uid, 
1000 as userdb_gid, concat('*:bytes=',quota) AS userdb_quota_rule FROM mailbox WHERE username ='%u' AND active ='1'

10-auth.conf

#ะ—ะฐะฟั€ะตั‚ะธั‚ัŒ ะฐะฒั‚ะพั€ะธะทะฐั†ะธัŽ ะฑะตะท SSL
disable_plaintext_auth = yes
#ะ˜ะผั ะ’ะฐัˆะตะณะพ ะดะพะผะตะฝะฐ
auth_realms = virusslayer.su
auth_default_realm = virusslayer.su
#ะ˜ัะฟะพะปัŒะทะพะฒะฐั‚ัŒ ะฐะฒั‚ะพั€ะธะทะฐั†ะธัŽ ะฒ ะพั‚ะบั€ั‹ั‚ะพะผ ะฒะธะดะต(ะพะฑั‹ั‡ะฝั‹ะผ ั‚ะตะบัั‚ะพะผ, ะฝะพ ะฒ ะดะฐะฝะฝะพะผ ัะปัƒั‡ะฐะธ ะฒัะต ะฑัƒะดะตั‚ะต ะฟะตั€ะตะดะฐะฒะฐั‚ัŒัั ั‡ะตั€ะตะท ssl)
auth_mechanisms = plain login
#ะะตะพะฑั…ะพะดะธะผะพ ะทะฐะบะพะผะผะตะฝั‚ะธั€ะพะฒะฐั‚ัŒ ะฒัะต ัั‚ั€ะพะบะธ, ะบั€ะพะผะต !include auth-sql.conf.ext, ั‚ะฐะบ ะบะฐะบ ะฟะพะปัŒะทะพะฒะฐั‚ะตะปะธ ะฑัƒะดัƒั‚ ะฒะธั€ั‚ัƒะฐะปัŒะฝั‹ะต ะธะท ะฑะฐะทั‹ mysql
#!include auth-deny.conf.ext
#!include auth-master.conf.ext
#!include auth-system.conf.ext
!include auth-sql.conf.ext
#!include auth-ldap.conf.ext
#!include auth-passwdfile.conf.ext
#!include auth-checkpassword.conf.ext
#!include auth-vpopmail.conf.ext
#!include auth-static.conf.ext

10-mail.conf

#ะŸัƒั‚ัŒ ะดะพ ะฟะพั‡ั‚ะพะฒั‹ั… ัั‰ะธะบะพะฒ
mail_location = maildir:/var/vmail/%d/%n
#ะ’ะพะทะผะพะถะตะฝ ั‚ะพะปัŒะบะพ ะพะดะธะฝ ัั‰ะธะบ ะดะปั ะฟั€ะธั‘ะผะฐ ะฟะธัะตะผ
namespace inbox {
inbox = yes
}
#uid ะธ gid vmail
mail_uid = 1000
mail_gid = 1000
#ะกะฟะธัะพะบ ะฟะปะฐะณะธะฝะพะฒ, ะฒ ะดะฐะฝะฝะพะผ ัะปัƒั‡ะฐะธ quota
mail_plugins = quota

10-master.conf

#ะžะฟะธัะฐะฝะธะต ะฝะพะผะตั€ะพะฒ ะฟะพั€ั‚ะพะฒ ะธ ะธัะฟะพะปัŒะทะพะฒะฐะฝะธะต ssl
service imap-login {
inet_listener imap {
port = 143
}
inet_listener imaps {
port = 993
ssl = yes
}
}
service pop3-login {
inet_listener pop3 {
port = 110
}
inet_listener pop3s {
port = 995
ssl = yes
}
}
service submission-login {
inet_listener submission {
port = 587
}
}
#ะŸะพะปัŒะทะพะฒะฐั‚ะตะปะธ ะธ ะฟั€ะฐะฒะฐ ะดะปั ะธั… ะดะพัั‚ัƒะฟะฐ ะบ ะฑะฐะทะต ะฟะพะปัŒะทะพะฒะฐั‚ะตะปะตะน ะธ ะฐะฒั‚ะพั€ะธะทะฐั†ะธะธ (ะฒะพะทะผะพะถะฝะพ ะฝะต ะบะพั€ั€ะตะบั‚ะฝะพ ะพะฟะธัะฐะป, ะฝะพ ัั‚ะธ ะฟะฐั€ะฐะผะตั‚ั€ั‹ ั ะฟะพะฝัะป ะธะผะตะฝะฝะพ ั‚ะฐะบ)
service auth {
unix_listener auth-userdb {
mode = 0600
user = vmail
group = vmail
}
# Postfix smtp-auth
unix_listener /var/spool/postfix/private/auth {
mode = 0666
user = postfix
group = postfix
}
}
#ะŸั€ะฐะฒะฐ ะฟะพะปัŒะทะพะฒะฐั‚ะตะปั vmail ะบ ะบะฒะพั‚ะฐะผ
service dict {
unix_listener dict {
mode = 0660
user =  vmail
group = vmail
}
}

10-ssl.conf

#ะ˜ัะฟะพะปัŒะทะพะฒะฐั‚ัŒ ssl ะฟั€ะธะฝัƒะดะธั‚ะตะปัŒะฝะพ (ะฟะพะฟั‹ั‚ะบะธ ะธัะฟะพะปัŒะทะพะฒะฐั‚ัŒ ะฐะฒั‚ะพั€ะธะทะฐั†ะธัŽ ะฑะตะท sll ะฑัƒะดัƒั‚ ะทะฐะฟั€ะตั‰ะตะฝั‹)
ssl = required
#ะŸัƒั‚ะธ ะดะพ ัะตั€ั‚ะธั„ะธะบะฐั‚ะพะฒ
ssl_cert = </etc/ssl/foo-cert.pem
ssl_key = </etc/ssl/foo-key.pem
ssl_ca = </etc/ssl/demoCA/cacert.pem
#ะšะฐะบะพะน ะฝะตะพะฑั…ะพะดะธะผะพ ะธัะฟะพะปัŒะทะพะฒะฐั‚ัŒ ะฟั€ะพั‚ะพะบะพะป
ssl_min_protocol = TLSv1.2

15-lda.conf

quota_full_tempfail = no
lda_mailbox_autosubscribe = yes
protocol lda {
# ะ’ ะดะฐะฝะฝะพะน ัั‚ั€ะพะบะต ัƒะบะฐะทะฐะฝ ะผะพะดัƒะปัŒ sieve, ะบะพั‚ะพั€ั‹ะน ะฑัƒะดะตั‚ ะฟะตั€ะตะฝะฐะฟั€ะฐะฒะปัั‚ัŒ ัะฟะฐะผ ะฒ ะฟะฐะฟะบัƒ ัะฟะฐะผ
mail_plugins = $mail_plugins sieve quota
}

90-plugin.conf

#ะะตะพะฑั…ะพะดะธะผะพ ัƒะบะฐะทะฐั‚ัŒ ะบะฐั‚ะฐะปะพะณ ะฒ ะบะพั‚ะพั€ะพะผ ะฑัƒะดัƒั‚ ะฟั€ะฐะฒะธะปะฐ ะดะปั ะฟะตั€ะตะฝะพัะฐ ัะฟะฐะผ ะฟะธัะตะผ ะฒ ะบะฐั‚ะฐะปะพะณ "ะกะŸะะœ", ั‚ะฐะบะถะต ะฝะตะพะฑั…ะพะดะธะผะพ ะดะฐะฝะฝะพะผัƒ ะบะฐั‚ะฐะปะพะณัƒ ะฒั‹ัั‚ะฐะฒะธั‚ัŒ ะฟั€ะฐะฒะฐ chown -R vmail:vmail
#ะ’ ะดะฐะฝะฝะพะผ ะบะฐั‚ะฐะปะพะณะต ัะบะพะผะฟะธะปะธั€ัƒะตั‚ัั ั„ะฐะนะป ะดะปั ะฟะตั€ะตะฑั€ะพัะฐ ัะฟะฐะผะฐ ะฒ ะบะฐั‚ะฐะปะพะณ "ะกะŸะะœ"
plugin {
#setting_name = value
sieve = /usr/local/etc/dovecot/conf.d/def/default.sieve
}

auth-sql.conf.ext

#ะคะฐะนะปั‹ ั ะฝะฐัั‚ั€ะพะนะบะฐะผะธ ะดะพัั‚ัƒะฟะฐ ะบ ะฑะฐะทะต MYSQL
passdb {
driver = sql
# Path for SQL configuration file, see example-config/dovecot-sql.conf.ext
args = /usr/local/etc/dovecot/dovecot-sql.conf.ext
}
userdb {
driver = sql
args = /usr/local/etc/dovecot/dovecot-sql.conf.ext
}

เดธเตเดชเดพเดฎเดธเดพเดธเดฟเตป

เดธเตเดชเดพเดฎเดธเดพเดธเดฟเตป โ€œเด•เต‹เตบเดซเดฟเด—เตผโ€ เด‡เดคเตเดชเต‹เดฒเต† เด•เดพเดฃเดชเตเดชเต†เดŸเตเดจเตเดจเต, เดชเด•เตเดทเต‡ เด•เต‹เตบเดซเดฟเด—เดฑเต‡เดทเตป เดกเดพเดฑเตเดฑ เดชเดฐเตเดฏเดพเดชเตเดคเดฎเดฒเตเดฒเต†เดจเตเดจเต เดŽเดจเตเดคเต‹ เดŽเดจเตเดจเต‹เดŸเต เดชเดฑเดฏเตเดจเตเดจเต, เดฆเดฏเดตเดพเดฏเดฟ โ€œเด•เต‹เตบเดซเดฟเด—เตผโ€ เดกเดพเดฑเตเดฑเดฏเดฟเตฝ เดธเดนเดพเดฏเดฟเด•เตเด•เตเด•:

local.cf

rewrite_header Subject *****SPAM*****
report_safe 0
required_score 5.0
use_bayes 1
bayes_auto_learn 1
ifplugin Mail::SpamAssassin::Plugin::Shortcircuit
endif # Mail::SpamAssassin::Plugin::Shortcircuit

เดธเตเดชเดพเด‚ เด‰เดณเตเดณเดคเตเด‚ เด‡เดฒเตเดฒเดพเดคเตเดคเดคเตเดฎเดพเดฏ เด…เด•เตเดทเดฐเด™เตเด™เดณเดฟเตฝ เดชเดฐเดฟเดถเต€เดฒเดฟเด•เตเด•เต‡เดฃเตเดŸเดคเตเด‚ เด†เดตเดถเตเดฏเดฎเดพเดฃเต:

sa-learn --spam /path/spam/folder
sa-learn --ham /path/ham/folder

เด…เดงเดฟเด•เดฎเดพเดฏเดฟ

เดˆ เดตเดฟเดญเดพเด—เดคเตเดคเดฟเตฝ, เดžเดพเตป pf เด…เดŸเดฟเดธเตเดฅเดพเดจเดฎเดพเด•เตเด•เดฟเดฏเตเดณเตเดณ เดซเดฏเตผเดตเดพเตพ เด•เตเดฐเดฎเต€เด•เดฐเดฃเด™เตเด™เตพ เดตเตเดฏเด•เตเดคเดฎเดพเด•เตเด•เตเด‚, เด“เดŸเตเดŸเต‹เดฑเดฃเตเดฃเดฟเดฒเต‡เด•เตเด•เต pf เดšเต‡เตผเด•เตเด•เตเด•เดฏเตเด‚ เดจเดฟเดฏเดฎเด™เตเด™เตพเด•เตเด•เตŠเดชเตเดชเด‚ เดซเดฏเตฝ เดตเตเดฏเด•เตเดคเดฎเดพเด•เตเด•เตเด•เดฏเตเด‚ เดšเต†เดฏเตเดฏเตเด‚:

sysrc pf_enable="YES"
sysrc pf_rules="/etc/0.pf"

เดจเดฟเดฏเดฎเด™เตเด™เดณเตเดณเตเดณ เด’เดฐเต เดซเดฏเตฝ เดจเดฎเตเด•เตเด•เต เดธเตƒเดทเตเดŸเดฟเด•เตเด•เดพเด‚:

ee /etc/0.pf

เด…เดคเดฟเดฒเต‡เด•เตเด•เต เดจเดฟเดฏเดฎเด™เตเด™เตพ เดšเต‡เตผเด•เตเด•เตเด•:

#ะ”ะฐะฝะฝั‹ะน ะฟะฐั€ะฐะผะตั‚ั€(ะฝะต ั„ะธะปัŒั‚ั€ะพะฒะฐั‚ัŒ ะธะฝั‚ะตั€ั„ะตะนั lo0) ะพะฑัะทะฐั‚ะตะปัŒะฝะพ ะฝะตะพะฑั…ะพะดะธะผะพ ัƒะบะฐะทั‹ะฒะฐั‚ัŒ ะฟะตั€ะฒั‹ะผ, ะธะปะธ ะพะฝ ะฝะต ัั€ะฐะฑะพั‚ะฐะตั‚
set skip on lo0
#ะะฐัั‚ั€ะพะธะผ ะดะพัั‚ัƒะฟ ะบ ะฝะตะพะฑั…ะพะดะธะผั‹ะผ ะฟะพั€ั‚ะฐะผ ะฟะพะปัŒะทะพะฒะฐั‚ะตะปัะผ deovecot, postfix, root
pass in quick proto { tcp, udp } from any to any port {53,25,465,587,110,143,993,995} user {dovecot,postfix,root} flags S/SA modulate state
pass out quick proto { tcp, udp } from any to any port {53,25,465,587,110,143,993,995} user {dovecot,postfix,root}
#ั€ะฐะทั€ะตัˆะธั‚ัŒ ะปัŽะฑะพะน ะธัั…ะพะดัั‰ะธะน ั‚ั€ะฐั„ะธะบ ะดะปั ะฟะพะปัŒะทะพะฒะฐั‚ะตะปั root
pass out quick proto {tcp,udp} from any to any user root
#ะ ะฐะทั€ะตัˆะธั‚ัŒ ะทะฐั…ะพะดะธั‚ัŒ ะฝะฐ ะฒัะฑ ะธะฝั‚ะตั€ั„ะตะนั
pass in quick proto tcp from any to any port 80 flags S/SA modulate state
#SSH
pass in quick proto tcp from any to any port 22 flags S/SA modulate state
#ะ ะฐะทั€ะตัˆะธั‚ัŒ ะดะพัั‚ัƒะฟ ะฒ ัะตั‚ัŒ ะฟะพะปัŒะทะพะฒะฐั‚ะตะปัะผ clamav ะธ spamd 
pass out quick proto {tcp,udp} from any to any user {clamav,spamd}
#DNS ะธ ICMP
pass out quick proto {tcp,udp} from any to any port=53 keep state
pass out quick proto icmp from any to any
block from any to any fragment
block from any to any
block all

เด•เดฎเดพเตปเดกเต เด‰เดชเดฏเต‹เด—เดฟเดšเตเดšเต เดจเดฟเด™เตเด™เตพเด•เตเด•เต pf เด†เดฐเด‚เดญเดฟเด•เตเด•เดพเด‚:

service pf start

เดชเดฐเดฟเดถเต‹เดงเดฟเด•เตเด•เตเดจเตเดจเต

เดธเดพเดงเตเดฏเดฎเดพเดฏ เดŽเดฒเตเดฒเดพ เด•เดฃเด•เตเดทเดจเตเด•เดณเตเด‚ (STARTTLS, SLL) เดชเดฐเดฟเดถเต‹เดงเดฟเด•เตเด•เตเดจเตเดจเดคเดฟเดจเต, เดจเดฟเด™เตเด™เตพเด•เตเด•เต เดฎเตŠเดฌเตˆเตฝ เด‰เดชเด•เดฐเดฃเด™เตเด™เตพเด•เตเด•เดพเดฏเดฟ เด•เตเดฒเดฏเดจเตเดฑเต เด‰เดชเดฏเต‹เด—เดฟเด•เตเด•เดพเด‚ (เดเด’เดŽเดธเดฟเดจเตเดณเตเดณ เดŽเดจเตเดฑเต† เด•เดพเดฐเตเดฏเดคเตเดคเดฟเตฝ) "MyOffice Mail"; เดฎเต†เดฏเดฟเตฝ เดธเต†เตผเดตเดฑเดฟเดฒเต‡เด•เตเด•เต เด•เดฃเด•เตเดทเดจเตเด•เตพ เดธเดœเตเดœเต€เด•เดฐเดฟเด•เตเด•เตเดจเตเดจเดคเดฟเดจเต เดˆ เด…เดชเตเดฒเดฟเด•เตเด•เต‡เดทเดจเต เดจเดฟเดฐเดตเดงเดฟ เดชเดพเดฐเดพเดฎเต€เดฑเตเดฑเดฑเตเด•เตพ เด‰เดฃเตเดŸเต.

Spaassasin เดชเดฐเดฟเดถเต‹เดงเดฟเด•เตเด•เดพเตป เดžเด™เตเด™เตพ GTUBE เดธเดฟเด—เตเดจเต‡เดšเตเดšเตผ เด‰เดชเดฏเต‹เด—เดฟเด•เตเด•เตเดจเตเดจเต, เด…เด•เตเดทเดฐเดคเตเดคเดฟเดฒเต‡เด•เตเด•เต เดฒเตˆเตป เดšเต‡เตผเด•เตเด•เตเด•:

XJS*C4JDBQADN1.NSBN3*2IDNEN*GTUBE-STANDARD-ANTI-UBE-TEST-EMAIL*C.34X

เดŽเดฒเตเดฒเดพเด‚ เดถเดฐเดฟเดฏเดพเดฃเต†เด™เตเด•เดฟเตฝ, เด•เดคเตเดคเต เดธเตเดชเดพเด‚ เด†เดฏเดฟ เด…เดŸเดฏเดพเดณเดชเตเดชเต†เดŸเตเดคเตเดคเตเด•เดฏเตเด‚ เด…เดคเดจเตเดธเดฐเดฟเดšเตเดšเต เดธเตเดชเดพเด‚ เดซเต‹เตพเดกเดฑเดฟเดฒเต‡เด•เตเด•เต เดฎเดพเดฑเตเดฑเตเด•เดฏเตเด‚ เดšเต†เดฏเตเดฏเตเด‚.

เด†เดจเตเดฑเดฟเดตเตˆเดฑเดธเต เดชเดฐเดฟเดถเต‹เดงเดฟเด•เตเด•เตเดจเตเดจเดคเดฟเดจเต, เดจเดฟเด™เตเด™เตพ เด’เดฐเต เดŸเต†เด•เตเดธเตเดฑเตเดฑเต เดซเดฏเตฝ เด‰เดชเดฏเต‹เด—เดฟเดšเตเดšเต เด’เดฐเต เด•เดคเตเดคเต เด…เดฏเดฏเตเด•เตเด•เต‡เดฃเตเดŸเดคเตเดฃเตเดŸเต, เดˆ เดซเดฏเดฒเดฟเตฝ EICAR เดธเต€เด•เตเดตเตปเดธเต เด…เดŸเด™เตเด™เดฟเดฏเดฟเดฐเดฟเด•เตเด•เตเด‚:

X5O!P%@AP[4PZX54(P^)7CC)7}$EICAR-STANDARD-ANTIVIRUS-TEST-FILE!$H+H*

เด•เดคเตเดคเตเด•เตพ เดธเตเดตเดพเดญเดพเดตเดฟเด•เดฎเดพเดฏเตเด‚ เดฌเดพเดนเตเดฏ เดฎเต†เดฏเดฟเตฝเดฌเต‹เด•เตเดธเตเด•เดณเดฟเตฝ เดจเดฟเดจเตเดจเต เด…เดฏเดฏเตเด•เตเด•เต‡เดฃเตเดŸเดคเตเดฃเตเดŸเต.
เดฒเต‹เด—เตเด•เตพ เดคเดคเตเดธเดฎเดฏเด‚ เด•เดพเดฃเตเดจเตเดจเดคเดฟเดจเต, เดชเตเดฐเดตเตผเดคเตเดคเดฟเดชเตเดชเดฟเด•เตเด•เตเด•:

tail -f /var/log/maillog

เด•เต‚เดŸเดพเดคเต†, เดฌเดพเดนเตเดฏ เดฎเต†เดฏเดฟเตฝเดฌเต‹เด•เตเดธเตเด•เดณเดฟเดฒเต‡เด•เตเด•เต เดฎเต†เดฏเดฟเตฝ เด…เดฏเดฏเตเด•เตเด•เตเดจเตเดจเดคเต เดถเดฐเดฟเดฏเดพเดฏเดฟ เดชเดฐเดฟเดถเต‹เดงเดฟเด•เตเด•เตเดจเตเดจเดคเดฟเดจเต (เด‰เดฆเดพเดนเดฐเดฃเดคเตเดคเดฟเดจเต, yandex.ru, mail.ru, gmail.com เดฎเตเดคเดฒเดพเดฏเดต), เดจเดฟเด™เตเด™เตพ เด’เดฐเต เดฑเดฟเดตเต‡เดดเตเดธเต เดกเดฟเดŽเตปเดŽเดธเต เดธเต‹เตบ (PTR เดฑเต†เด•เตเด•เต‹เตผเดกเต) เดฐเดœเดฟเดธเตเดฑเตเดฑเตผ เดšเต†เดฏเตเดฏเต‡เดฃเตเดŸเดคเตเดฃเตเดŸเต, เดฌเดจเตเดงเดชเตเดชเต†เดŸเตเดจเตเดจเดคเดฟเดฒเต‚เดŸเต† เด‡เดคเต เดšเต†เดฏเตเดฏเดพเตป เด•เดดเดฟเดฏเตเด‚. เดจเดฟเด™เตเด™เดณเตเดŸเต† เดฆเดพเดคเดพเดตเต (เดคเต€เตผเดšเตเดšเดฏเดพเดฏเตเด‚, เดจเดฟเด™เตเด™เตพเด•เตเด•เต เดธเตเดตเดจเตเดคเดฎเดพเดฏเดฟ DNS เดธเต†เตผเดตเตผ เด‡เดฒเตเดฒเต†เด™เตเด•เดฟเตฝ).

เดคเต€เดฐเตเดฎเดพเดจเด‚

เดคเต€เตผเดšเตเดšเดฏเดพเดฏเตเด‚, เด’เดฐเต เดฎเต†เดฏเดฟเตฝ เดธเต†เตผเดตเตผ เดตเดณเดฐเต† เดธเด™เตเด•เต€เตผเดฃเตเดฃเดฎเดพเดฏ เด’เดฐเต เด•เดพเดฐเตเดฏเดฎเดพเดฃเต†เดจเตเดจเต เดคเต‹เดจเตเดจเดฟเดฏเต‡เด•เตเด•เดพเด‚, เดŽเดจเตเดจเดพเตฝ เดจเดฟเด™เตเด™เตพ เด…เดคเต เดจเต‹เด•เตเด•เตเด•เดฏเดพเดฃเต†เด™เตเด•เดฟเตฝ, เด‡เดคเต เด’เดŸเตเดŸเตเด‚ เดถเดฐเดฟเดฏเดฒเตเดฒ; เด•เต‹เตบเดซเดฟเด—เดฑเต‡เดทเดจเดฟเตฝ เด•เตเดฑเดšเตเดšเต เดธเดฎเดฏเด‚ เดšเต†เดฒเดตเดดเดฟเดšเตเดšเดคเดฟเดจเต เดถเต‡เดทเด‚, เดจเดฟเด™เตเด™เตพเด•เตเด•เต เดคเดฟเด•เดšเตเดšเตเด‚ เดชเตเดฐเดตเตผเดคเตเดคเดจเด•เตเดทเดฎเดฎเดพเดฏ เด’เดฐเต เดฎเต†เดฏเดฟเตฝ เดธเต†เตผเดตเตผ เดฒเดญเดฟเด•เตเด•เตเด‚. เดธเตเดชเดพเด‚, เดตเตˆเดฑเดธเตเด•เตพ เดŽเดจเตเดจเดฟเดตเดฏเตเด•เตเด•เต†เดคเดฟเดฐเดพเดฏ เดธเด‚เดฐเด•เตเดทเดฃเด‚.

PS เด…เดญเดฟเดชเตเดฐเดพเดฏเด™เตเด™เตพเด•เตเด•เตŠเดชเตเดชเด‚ "เดชเด•เตผเดคเตเดคเตเด•-เดชเต‡เดธเตเดฑเตเดฑเต" เดšเต†เดฏเตเดฏเดพเตป เดจเดฟเด™เตเด™เตพ เด†เด—เตเดฐเดนเดฟเด•เตเด•เตเดจเตเดจเตเดตเต†เด™เตเด•เดฟเตฝ, เดฑเดทเตเดฏเตป เด•เตเดฒเดพเดธเต เดฒเต‹เด—เตเด•เดณเดฟเดฒเต‡เด•เตเด•เต เดจเดฟเด™เตเด™เตพ เดฑเต‚เดŸเตเดŸเต เด‰เดชเดฏเต‹เด•เตเดคเดพเดตเดฟเดจเต† (เด…เดคเต เด†เดตเดถเตเดฏเดฎเตเดณเตเดณเดตเดฐเต†) เดšเต‡เตผเด•เตเด•เต‡เดฃเตเดŸเดคเตเดฃเตเดŸเต:

pw usermod root -L russian

เดˆ เด˜เดŸเตเดŸเด™เตเด™เตพเด•เตเด•เต เดถเต‡เดทเด‚, เดฑเดทเตเดฏเตป เด…เด•เตเดทเดฐเด™เตเด™เตพ เดถเดฐเดฟเดฏเดพเดฏเดฟ เดชเตเดฐเดฆเตผเดถเดฟเดชเตเดชเดฟเด•เตเด•เตเด‚.

เด…เดตเดฒเด‚เดฌเด‚: www.habr.com

เด’เดฐเต เด…เดญเดฟเดชเตเดฐเดพเดฏเด‚ เดšเต‡เตผเด•เตเด•เตเด•