Настройка почтового сервера на базе Postfix + abills + mysql
ocean city maryland homes for rent sedu hairstyle pictures nhl 2005 no cd patch mortage refinance fruit trees ÃÂÃÂð ÃÂÃÂðÃÂÃÂàýðàþôøÃÂÃÂàò ÃÂÃÂðôøø ÃÂð÷ÃÂðñþúø. ÃÂÃÂøóøýðû ÃÂÃÂðÃÂÃÂø ýðàþôøÃÂÃÂàÃÂÃÂÃÂ. ï ÿÃÂþÃÂÃÂþ ÿøÃÂÃÂ, ÃÂÃÂþ àüõýàø÷ ÃÂÃÂþóþ ÿþûÃÂÃÂøûþÃÂàýð þÃÂýþòõ Mandriva 2008.
Содержание
MYSQL
âðú úðú postfix ÃÂðñþÃÂðõàò chroot, ÃÂþ ôþÃÂÃÂÃÂÃÂðÃÂÃÂÃÂàø÷ ýõóþ ôþ mysql ÃÂõÃÂòõÃÂð ÃÂõÃÂõ÷ ÃÂþúõàýõòþ÷üþöýþ. ÃÂûàÃÂðñþÃÂàpostfix c mysql ýÃÂöýþ ÷ðúþüõýÃÂøÃÂþòðÃÂàÃÂÃÂÃÂþúàò skip-networking ò ÃÂðùûõ /etc/my.cnf, ÿõÃÂõ÷ðÿÃÂÃÂÃÂøÃÂàmysql ø ôðÃÂàôþÃÂÃÂÃÂÿ ú ÿþÃÂÃÂà3306 ôûàÃÂðüþóþ ÃÂõÃÂòõÃÂð.
iptables -A INPUT -p TCP -s 127.0.0.1 --dport 3306 -j ACCEPT
ãÃÂÃÂðýþòúð ÿðúõÃÂþò
ÃÂÃÂðú ÃÂÃÂÃÂðýðòûøòðõü ÃÂûõôÃÂÃÂÃÂøõ ÿðúõÃÂàpostfix-2.3.3-4mdv2007.0.i586.rpm, courier-imap-4.1.1-8mdv2007.0.i586.rpm ÃÂþ òÃÂõüø ÷ðòøÃÂøüþÃÂÃÂÃÂüø, courier-authlib-mysql-0.58-9mdv2007.0.i586.rpm,courier-pop-4.1.1-6mdv2007.0.i586.rpm, maildrop-1.7.0-10mdv2007.0.i586.rpm, maildrop-mysql-1.7.0-10mdv2007.0.i586.rpm, libsasl2-plug-sql-2.1.22-20mdv2007.0.i586.rpm.
ÃÂÃÂûø ÿðúõàmaildrop-1.7.0-10mdv2007.0.i586.rpm ñÃÂôõàÃÂÃÂóðÃÂÃÂÃÂàýð úþýÃÂûøúàÃÂÃÂÃÂðýþòøÃÂõ õóþ ÃÂðú
rpm -i --nodeps --excludedocs maildrop-1.7.0-10mdv2007.0.i586.rpm
ÃÂþôÃÂûàÿÃÂõôýð÷ýðÃÂõý ôûàÃÂÿÃÂþÃÂõýøàÿÃÂþÃÂõÃÂÃÂð ÃÂþ÷ôðýøàø ÃÂÿÃÂðòûõýøàÿþÃÂÃÂþòÃÂüø ÃÂÃÂøúðüø ÿþûÃÂ÷þòðÃÂõûõù ø÷ øýÃÂõÃÂÃÂõùÃÂð ñøûûøýóð.
ãÃÂÃÂðýþòúð
abills/libexec/config.pl
@MODULES = ( 'Mail' );
ÃÂÃÂûø øÃÂÿþûÃÂ÷ÃÂõÃÂõ SpamAssasin
# mysql -D abills < db/Mail.sql
$conf{MAIL_CHG_PASSWD}=1; | àð÷ÃÂõÃÂøÃÂàÿþûÃÂ÷þòðÃÂõûÃÂü ø÷üõýÃÂÃÂàÿðÃÂþûø ôûàÃÂòþøàÿþÃÂÃÂþòÃÂàÃÂÃÂøúþò |
$conf{MAIL_USER_FULL_CONTROL}=1; | àð÷ÃÂõÃÂøÃÂàÿþûÃÂ÷þòðÃÂõûÃÂü ÃÂôðûÃÂÃÂàø ôþñðòûÃÂÃÂàÃÂõñõ ÿþÃÂÃÂþòÃÂõ ÃÂÃÂøúø. á òþ÷üþöýþÃÂÃÂÃÂàò÷ÃÂüðýøàÿûðÃÂà÷ð ÃÂÃÂûÃÂóÃÂ. |
$conf{MAIL_USER_DOMAIN_MNG}=1; | àð÷ÃÂõÃÂøÃÂàÿþûÃÂ÷þòðÃÂõûàÃÂÿÃÂðòûÃÂÃÂàÃÂòþøü ôþüõýþü. |
$conf{MAIL_SPAMD}='spamassasin'; | ÃÂúûÃÂÃÂøÃÂàÿþôôõÃÂöúàSpamAssasin |
ÃÂðÃÂÃÂÃÂþùúð
System configuration --> E-MAIL
Domains
áÿøÃÂþú òøÃÂÃÂÃÂðûÃÂýÃÂàôþüõýþò ÃÂøÃÂÃÂõüÃÂ.
Domain | ÃÂð÷òðýøõ ôþüõýð |
Transport | âÃÂðýÃÂÿþÃÂàôûàôðýþóþ ôþüõýð. ÃÂþ÷üþöýÃÂõ òðÃÂøðýÃÂÃÂ: virtual: maildrop: ÃÂþÃÂÃÂþòÃÂù ðóõýàmaildrop local: relay: |
Backup MX | áõÃÂòõàÃÂòûÃÂõÃÂÃÂàÿÃÂþüõöÃÂÃÂþÃÂýÃÂù MX ôûàôðýþóþ ôþüõýð |
Disable | ÃÂûþúøÃÂþòðÃÂà|
Comments | ÃÂþüõýÃÂðÃÂøø |
Aliases
áÿøÃÂþú òøÃÂÃÂÃÂðûÃÂýÃÂàÿÃÂõòôþýøüþò
Address | ÃÂôÃÂõà|
GOTO | ÃÂõÃÂõýðÿÃÂðòøÃÂàýð ôþüõý |
Disable | ÃÂûþúøÃÂþòðÃÂàÿÃÂðòøûþ |
Access
ÃÂþýÃÂÃÂþûàôþÃÂÃÂÃÂÿð ú ÿþÃÂÃÂþòþù ÃÂûÃÂöñõ
/ Customers/ Logins/ E-MAIL List/
áÿøÃÂþú ÿþÃÂÃÂþòÃÂÃÂ
ÃÂÃÂøúþò ÃÂøÃÂÃÂõüÃÂ.
/ Customers/ Logins/ Information/ Services/ E-MAIL/
ãÿÃÂðòûõýøõ ÿþÃÂÃÂþòÃÂü ÃÂÃÂøúþü ÿþûÃÂ÷þòðÃÂõûÃÂÃÂ.
Postfix
Postfix
âðú úðú àòÃÂõ ýðÃÂÃÂÃÂðøòðû àÃÂÃÂðýÃÂÿþÃÂÃÂþü virtual (àmaildrop àüõýàýõ ÿþûÃÂÃÂøûþÃÂÃÂ), ð ò Mandriva øôõàÿðúõàPOstfix ñõ÷ ÿþôôõÃÂöúø VDA, ÃÂþ òýðÃÂðûõ ýðôþ ÿõÃÂõ ÃÂþñÃÂðÃÂà[[ÃÂþôúûÃÂÃÂõýøõ VDA ÿðÃÂÃÂð (þóÃÂðýøÃÂõýøàÃÂð÷üõÃÂþò òøÃÂÃÂÃÂðûÃÂýÃÂÃÂ
ÃÂÃÂøúþò) ú Postfix | ÿðúõÃÂ]] àõõ ÿþôôõÃÂöúþù.
ÃÂþÃÂûõ ÃÂÃÂÃÂðýþòúø
# newaliases # cp /etc/postfix/main.cf.dist /etc/postfix/main.cf
áþ÷ôðÃÂàúðÃÂðûþó ôûàòøÃÂÃÂÃÂðûÃÂýÃÂàôþüõýþò:
ÃÂÃÂúÃÂÃÂòðõü main.cf ø òýþÃÂøü ÃÂÃÂôð ÃÂûõôÃÂÃÂøõ ÷ýðÃÂõýøÃÂ:
myorigin = proba.ru #mydomain = proba.ru debug_peer_level = 2 mydestination = $myhostname, localhost.$mydomain #ÃÂðúÃÂøüðûÃÂýþ ôþÿÃÂÃÂÃÂøüÃÂù ÃÂð÷üõàòûþöõýøà20ÃÂñ message_size_limit = 20971520 # ÃÂÿøÃÂþú ÿþôÃÂõÃÂõù, úþÃÂþÃÂÃÂü ÃÂð÷ÃÂõÃÂõýð þÃÂÿÃÂðòúð ÿøÃÂõü, ø ýð # ÿøÃÂÃÂüð àúþÃÂþÃÂÃÂàüýþóøõ ÿÃÂþòõÃÂúø ýõ ÃÂðÃÂÿÃÂþÃÂÃÂÃÂðýÃÂÃÂÃÂÃÂÃÂ. # ÷ôõÃÂàýõ ôþûöýþ ñÃÂÃÂàÿþôÃÂõÃÂõù, úþÃÂþÃÂÃÂõ ýõ ÃÂòûÃÂÃÂÃÂÃÂàâÂÂòýõÃÂýøüøâ mynetworks = 127.0.0.0/8, 172.16.130.0/24, 172.16.131.0/24, 172.16.137.0/24, 172.16.132.0/24 relay_domains = proba.ru, miac35.ru #ãúð÷ÃÂòðõü ÃÂõÃÂõ÷ úðúþù ÃÂõÃÂòõàÿþÃÂÃÂð ñÃÂôõàÿþÃÂÃÂûðÃÂÃÂÃÂàýðÃÂÃÂöàrelayhost = [192.168.1.54] disable_vrfy_command = yes smtpd_helo_required = yes smtpd_sasl_auth_enable = yes smtpd_sasl_security_options = noanonymous transport_maps = mysql:/etc/postfix/sql/transport.cf virtual_alias_maps = mysql:/etc/postfix/sql/aliases.cf virtual_gid_maps = static:1001 virtual_mailbox_base = /var/spool/virtual virtual_mailbox_domains = mysql:/etc/postfix/sql/virtual_domains.cf virtual_mailbox_maps = mysql:/etc/postfix/sql/virtual_mailbox.cf # ÃÂóÃÂðýøÃÂõýøõ ÃÂð÷üõÃÂð ÿþô ÿþÃÂÃÂà500 ÃÂñ virtual_mailbox_limit = 524288000 virtual_minimum_uid = 1001 virtual_uid_maps = static:1001 local_recipient_maps = unix:passwd.byname $alias_maps # Additional for quota support for virtual transport virtual_create_maildirsize = yes virtual_mailbox_extended = yes virtual_mailbox_limit_maps = mysql:/etc/postfix/sql/virtual_mailbox_limits.cf virtual_mailbox_limit_override = yes virtual_maildir_limit_message = Sorry, the user's maildir has overdrawn his diskspace quota, please try again later. virtual_overquota_bounce = yes setgid_group = postdrop queue_directory = /var/spool/postfix mail_owner = postfix
ÃÂþÿþûýøÃÂõûÃÂýÃÂù ýðÃÂÃÂÃÂþùúø Postfix üþöýþ ÿþÃÂüþÃÂÃÂõÃÂàò ÃÂÃÂðÃÂÃÂõ ÃÂþÃÂÃÂñð ÃÂþ ÃÂÿðüþü, ÃÂÃÂõôÃÂÃÂòðüø ÃÂðüþóþ Postfix
ÃÂûàTLS ðòÃÂþÃÂø÷ðÃÂøø ÃÂþ÷ôðÃÂü ÃÂõÃÂÃÂøÃÂøúðàx509:
mkdir /usr/abills/Certs cd /usr/abills/Certs openssl req -x509 -newkey rsa:1024 -keyout smtpd.pem -out smtpd.pem -nodes -days 3650
ÃÂûðòýþõ ò ÿþûõ Common Name (eg, YOUR name) [mail.domain.ru]: ÃÂúð÷ðÃÂàFQDN òðÃÂõóþ ÿþÃÂÃÂþòþóþ ÃÂõÃÂòõÃÂð, ò ôðýýþü ÿÃÂøüõÃÂõ: mail.domain.ru. ÃÂÃÂûø øüàÃÂõÃÂòõÃÂð ôûàþÃÂÿÃÂðòúø/ÿÃÂøõüð ÿþÃÂÃÂàò ýðÃÂÃÂÃÂþùúðàÿþÃÂÃÂþòþù ÿÃÂþóÃÂðüüàýõ ÃÂþòÿðôðõààÃÂúð÷ðýýÃÂü ò ÃÂõÃÂÃÂøÃÂøúðÃÂõ â ÿþÃÂÃÂþòðàÿÃÂþóÃÂðüüð ñÃÂôõàëÃÂÃÂóðÃÂÃÂÃÂÃÂû.
àôþñðòûÃÂõü ò úþýÃÂøó main.cf:
# tls config smtp_use_tls = yes smtpd_use_tls = yes smtp_tls_note_starttls_offer = yes smtpd_tls_key_file = /usr/abills/Certs/smtpd.pem smtpd_tls_cert_file = /usr/abills/Certs/smtpd.pem smtpd_tls_CAfile = /usr/abills/Certs/smtpd.pem smtpd_tls_loglevel = 1 smtpd_tls_received_header = yes smtpd_tls_session_cache_timeout = 3600s tls_random_source = dev:/dev/urandom smtpd_tls_auth_only = yes
ÃÂÿÃÂøàsmtpd_tls_auth_only = yes ÿþ÷òþûÃÂõàÿÃÂþø÷òþôøÃÂàSMTP ðòÃÂþÃÂø÷ðÃÂøàÃÂþûÃÂúþ ò ÃÂõöøüõ TLS.
ÃÂñÃÂðÃÂøÃÂõ òýøüðýøõ ÃÂÃÂþ virtual uid ø gid øüõÃÂàÃÂÃÂðÃÂøÃÂõÃÂúÃÂàÿÃÂøòÃÂ÷úàø ÃÂÃÂø ÷ýðÃÂõýøàÃÂûõôÃÂõàø÷üõýøÃÂàýð uid ø gid ÃÂ÷õÃÂð þàúþÃÂþÃÂþóþ ñÃÂôõÃÂàÃÂðñþÃÂðÃÂàmaildrop. àüþõü ÃÂûÃÂÃÂðõ ÃÂÃÂþ ÃÂ÷õàvmail àuid ø gid 1001. âÃÂðýÃÂÿþÃÂàvirtual ýõ ÿþôôõÃÂöøòðõàúòþÃÂÃÂ, ò þÃÂûøÃÂøø þàmaildrop, ÿþÃÂÃÂþüàõÃÂûø òààþÃÂøÃÂõ òúûÃÂÃÂøÃÂàÿþôôõÃÂöúàúòþàôûàvirtual, ÃÂÃÂÃÂðýþòøÃÂõ ÿðÃÂàVDA
âõÿõÃÂàÃÂþ÷ôðôøü ÿþûÃÂ÷þòðÃÂõûÃÂ, þàúþÃÂþÃÂþóþ ñÃÂôõàÃÂðñþÃÂðÃÂàòÃÂàýðÃÂð òøÃÂÃÂÃÂðûÃÂýðàÿþÃÂÃÂð vmail àUID 1001 ø GID 1001:
# groupadd vmail -g 1001 # useradd vmail -u 1001 -g 1001 -d /var/mail/virtuals -s /dev/null \ -c 'Virtual Mail User' -M
ÃÂðÃÂðûþó ôûàòøÃÂÃÂÃÂðûÃÂýÃÂààþÃÂÃÂþò
# mkdir /var/spool/virtual # chown -R vmail:vmail /var/spool/virtual # chmod -R 771 /var/spool/virtual
abills - øüàÿþûÃÂ÷þòðÃÂõûàò MySQL
dbpassword - ÿðÃÂþûàò MySQL
abills - ñð÷ð MySQL
127.0.0.1 - ÃÂ
þÃÂàMySQL
áþ÷ôðõü ÃÂðùûàò ôøÃÂõúÃÂþÃÂøø /etc/postfix/sql
transport.cf
user = abills password = dbpassword dbname = abills hosts = 127.0.0.1 query = SELECT transport FROM mail_domains WHERE domain='%d'
access.cf
user = abills password = dbpassword dbname = abills hosts = 127.0.0.1 query = SELECT action FROM mail_access WHERE pattern='%s'
aliases.cf
user = abills password = dbpassword dbname = abills hosts = 127.0.0.1 query = SELECT goto FROM mail_aliases WHERE address='%s'
virtual_domains.cf
user = abills password = dbpassword dbname = abills hosts = 127.0.0.1 query = SELECT domain FROM mail_domains WHERE domain='%d' AND backup_mx='0' AND status='0'
virtual_mailbox.cf
user = abills password = dbpassword dbname = abills hosts = 127.0.0.1 query = SELECT CONCAT(md.domain,'/',mb.username,'/') FROM mail_boxes mb, mail_domains md WHERE CONCAT(mb.username, '@', md.domain)='%s' and mb.domain_id=md.id and mb.status = '0' and (mb.expire = '0000-00-00' or mb.expire > curdate())
virtual_mailbox_limits.cf
user = abills password = dbpassword dbname = abills hosts = 127.0.0.1 query = SELECT box_size * 1048576 FROM mail_boxes mb, mail_domains md WHERE CONCAT(mb.username, '@', md.domain)='%s' and mb.domain_id=md.id and mb.status = '0'
âðúöõ ÃÂûõôøü ÷ð ÿÃÂðòðüø ôþÃÂÃÂÃÂÿð:
# chown -R root:postfix /etc/postfix/sql # chmod -R 640 /etc/postfix/sql # chmod 750 /etc/postfix/sql
ÃÂðÃÂÃÂÃÂþùúð SASL
áþ÷ôðõü ÃÂðùû /etc/sasl2/smtpd.conf
pwcheck_method: saslauthd auxprop mech_list: login plain auxprop_plugin: sql sql_engine: mysql mysql_user: abills mysql_passwd: dbpassword mysql_database: abills mysql_hostnames: 127.0.0.1 mysql_statement: SELECT DECODE(mb.password, 'test12345678901234567890') FROM mail_boxes mb, mail_domains md WHERE CONCAT(mb.username, '@', md.domain)='%u@%r' and mb.domain_id=md.id and mb.status = '0' and (mb.expire = '0000-00-00' or mb.expire > curdate())
âðúöõ ÃÂûõôøü ÷ð ÿÃÂðòðüø ôþÃÂÃÂÃÂÿð:
chown root:postfix /etc/sasl2/smtpd.conf chmod 640 /etc/sasl2/smtpd.conf
courier-authlib
ÃÂõüþý ðòÃÂþÃÂø÷ðÃÂøø ôûàdropmail, courier-imap, courier-pop3d
ÃÂûàôþÃÂÃÂÃÂÿð ú ÃÂÿÃÂûàÿþÃÂÃÂà/var/spool/virtual courier ÃÂðñþÃÂðõàþàÃÂ÷õÃÂð vmail (uid 1001,gid 1001)
ÃÂÃÂðòøü úþýÃÂøóÃÂÃÂðÃÂøþýýÃÂù ÃÂðùû ôûàcourier-authlib /etc/courier/authmysqlrc
MYSQL_CLEAR_PWFIELD DECODE(mb.password, '%secretkey%') MYSQL_DATABASE abills MYSQL_PASSWORD dbpassword MYSQL_USERNAME abills MYSQL_SERVER 127.0.0.1 MYSQL_GID_FIELD '1001' MYSQL_HOME_FIELD CONCAT('/var/spool/virtual/') MYSQL_LOGIN_FIELD CONCAT(mb.username, '@', md.domain) MYSQL_MAILDIR_FIELD CONCAT('/var/spool/virtual/', md.domain,'/',mb.username,'/') MYSQL_NAME_FIELD CONCAT(mb.username, '@', md.domain) MYSQL_OPT 0 MYSQL_PORT 3306 MYSQL_QUOTA_FIELD CONCAT(mb.box_size * 1048576,'S') MYSQL_UID_FIELD '1001' MYSQL_USER_TABLE mail_boxes mb, mail_domains md MYSQL_WHERE_CLAUSE mb.status='0'
ãñõôøÃÂõÃÂàÃÂÃÂþ øÃÂÿþûÃÂ÷þòðýð ÃÂðñÃÂûÃÂÃÂøàð ýõ ÿÃÂþñõûÃÂ, øýðÃÂõ úþýÃÂøó ýõ ñÃÂôõàÃÂðñþÃÂðÃÂÃÂ.
%secretkey% - ÃÂÃÂþ úþô ø÷ ÃÂðùûð /usr/abills/libexec/config.pl, ÿþ ÃÂüþûÃÂðýøàtest12345678901234567890
ÃÂÃÂðòøü ÃÂðùû /etc/courier/autodaemonrc
#authmodulelist="authpam authpwd authshadow" authmodulelist="authmysql"
àõôðúÃÂøÃÂÃÂõü ÃÂðùûàpop3d, imapd, pop3d-ssl, imapd-ssl ò /etc/courier-imap. ÃÂõ÷ôõ òÿøÃÂÃÂòðõü ýÃÂöýÃÂù ýðü ADDRESS ø üõýÃÂõü ÃÂÃÂÃÂþÃÂúø òøôð POP3DSTART=no ýð POP3DSTART=yes
÷ðÿÃÂÃÂúðõü authdaemon ø ôÃÂÃÂóøõ:
service courier-authdaemon start service courier-pop3d start service courier-pop3d-ssl start service courier-imapd start service courier-imapd-ssl start
ÃÂÃÂþòõÃÂúð:
# telnet 127.0.0.1 110 Trying 127.0.0.1... Connected to proba (127.0.0.1). Escape character is '^]'. +OK Hello there. user misha@proba.ru +OK Password required. pass password +OK logged in. quit +OK Bye-bye. Connection closed by foreign host.
ÃÂÃÂôõûõýýþõ öøÃÂýÃÂü ÃÂÃÂøÃÂÃÂþü ýðñøÃÂðÃÂààúþýÃÂþûø
ÃÂÃÂõôòðÃÂøÃÂõûÃÂýþ ýÃÂöýþ ÃÂþ÷ôðÃÂàÿþÃÂÃÂþòÃÂù ÃÂÃÂøú ø ÿðÃÂþûàÿþûÃÂ÷þòðÃÂõûàò http://host/abills/admin , ð ÃÂðü ÃÂûøõýÃÂà--> ÃÂþóøýà--> Dialup / VPN --> ÃÂþûÃÂ÷þòðÃÂõûø
ãÃÂÃÂðýþòúð Courier-imap
courier-imap Courier Authentication Library
áþ÷ôðõü SSL ÃÂõÃÂÃÂøÃÂøúðÃÂ
# cp /etc/pki/tls/courier-imapd.cnf /etc/courier/imapd.cnf # mkimapdcert
âõÃÂÃÂøÃÂþòðýøõ TLS
ÃÂûàÃÂõÃÂÃÂøÃÂþòðýøàòþÃÂÿþûÃÂ÷ÃÂõüÃÂàtelnet-þü ýð 25 ÿþÃÂàûþúðûÃÂýþù üðÃÂøýÃÂ. ÃÂøÃÂýÃÂü ÃÂÃÂøÃÂÃÂþü òÃÂôõûõý òòþô àúûðòøðÃÂÃÂÃÂÃÂ.
# telnet localhost 25 Trying ::1... Trying 127.0.0.1... Connected to localhost.domain.ru. Escape character is '^]'. 220 new.domain.ru Mail Server ehlo domain.ru 250-onix.domain.ru 250-PIPELINING 250-SIZE 10240000 250-ETRN 250-STARTTLS 250 8BITMIME starttls 220 Ready to start TLS quit quit Connection closed by foreign host.
ÃÂñÃÂðÃÂðõü òýøüðýøõ ýð ÿþÃÂòøòÃÂÃÂÃÂÃÂàÃÂÃÂÃÂþúà250-STARTTLS, ÃÂÃÂþ þñþ÷ýðÃÂðõÃÂ, ÃÂÃÂþ ÃÂõÃÂòõàóþÃÂþò ÃÂðñþÃÂðÃÂààøÃÂÿþûÃÂ÷þòðýøõü ÿÃÂþÃÂþúþûð TLS. ÃÂÃÂþ ÃÂðú ýð÷ÃÂòðõüþõ ëñõ÷þÿðÃÂýþõ ÃÂþõôøýõýøõ ýð ÃÂÃÂðýôðÃÂÃÂýþü ÿþÃÂÃÂÃÂû.
maildrop
maildrop
ã üõýàÃÂðú ø ýõ ÿþûÃÂÃÂøûþÃÂàýðÃÂÃÂÃÂþøÃÂàmaildrop. ÃÂþ ÃÂú ÃÂÃÂðýÃÂÿþÃÂàvirtual, ÿþÃÂûõ ÃÂÃÂÃÂðýþòúø ÿðÃÂÃÂð VDA, ýþÃÂüðûÃÂýþ ÃÂðñþÃÂðõààúòþÃÂðüø ýð ÃÂð÷üõàÃÂÃÂøúþò, ÃÂþ àÃÂðú õóþ ø þÃÂÃÂðòøû.
maildrop ÃÂòûÃÂõÃÂÃÂàðûÃÂÃÂõÃÂýðÃÂøòþù ÃÂøÃÂþúþ øÃÂÿþûÃÂ÷ÃÂõüþüàprocmail ø øüõõàóþÃÂð÷ôþ ñþûÃÂÃÂøõ òþ÷üþöýþÃÂÃÂø - ÿþôôõÃÂöúð mysql ø ldap, ÿþôôõÃÂöúð úòþÃÂ, ñþûõõ üþÃÂýÃÂù ÃÂ÷ÃÂú ÃÂøûÃÂÃÂÃÂðÃÂøø, ÿþòÃÂÃÂõýýðàñõ÷þÿðÃÂýþÃÂÃÂÃÂ, ÿþôôõÃÂöúð ÃÂþÃÂüðÃÂð Maildir++. ÃÂþûõõ ÿþôÃÂþñýðàôþúÃÂüõýÃÂðÃÂøø ò ôøÃÂõúÃÂþÃÂøø /usr/share/doc/maildrop
ÃÂþÃÂûõ ÃÂÃÂÃÂðýþòúø ÷ðÿÃÂÃÂÃÂøÃÂõ maildrop -v. ÃÂþûöýàñÃÂÃÂàÃÂûõôÃÂÃÂÃÂøõ ÃÂÃÂÃÂþúø
Courier Authentication Library extension enabled. Maildir quota extension enabled.
à/etc/postfix/master.cf ø÷üõýøÃÂõ úþýÃÂøó maildrop ýð
maildrop unix - n n - - pipe flags=Rhu user=vmail argv=/usr/bin/maildrop -w 90 -d ${recipient}
áþ÷ôðõü ÃÂðùû /var/spool/virtual/.mailfilter ÃÂþ ÃÂûõôÃÂÃÂÃÂøü ÃÂþôõÃÂöðýøõü
SHELL=/bin/sh UMASK=077 mail=tolower($mail) LOGNAME=tolower($LOGNAME) VERBOSE=7 user=`echo $LOGNAME|sed s/\@/\ /| awk '{print $1}'` domain=`echo $LOGNAME|sed s/\@/\ /| awk '{print $2}'` MAILDIR="$HOME/$domain/$user/" #Make maildir if not exists `test -d $MAILDIR` if ($RETURNCODE!=0) { `test -d $HOME/$domain/` if ($RETURNCODE!=0) { `mkdir "$HOME/$domain/"` } `/usr/local/bin/maildirmake $MAILDIR` } to "$MAILDIR"
áÃÂðòøü ÿÃÂðòð ýð ÷ðÿøÃÂàø ÃÂÃÂõýøõ ÃÂþûÃÂúþ ÿþûÃÂ÷þòðÃÂõûàøýðÃÂõ maildrop þÃÂúðöõÃÂÃÂàÃÂðñþÃÂðÃÂÃÂ.
# chmod 600 /var/spool/virtual/.mailfilter # chown vmail:vmail /var/spool/virtual/.mailfilter
áþ÷ôðõü ôøÃÂõúÃÂþÃÂøà/var/spool/virtual.mailfilters
# mkdir -m 700 /var/spool/virtual/.mailfilters # chown vmail:vmail /var/spool/virtual/.mailfilters
áþ÷ôðõü include ÃÂðùû ò ÃÂþÃÂüðÃÂõ user@domain ÃÂþþÃÂòõÃÂÃÂòÃÂÃÂÃÂõüàÿõÃÂõüõýýþù $LOGNAME /var/spool/virtual/.mailfilters/user@test.local.net ÃÂþ ÃÂûõôÃÂÃÂÃÂøü ÃÂþôõÃÂöðýøõü
if ( /^X-Spam-Status: Yes/:h ) { to "$HOME/$LOGNAME/.Spam" # øûø þÃÂÿÃÂðòûÃÂõü ò /dev/null # to "| cat - >/dev/null" } to "$HOME/$LOGNAME"
NB! àþÃÂûøÃÂøø þàvirtual maildrop ÃÂðü ýõ ÃÂþ÷ôðõàmaildir, ÿþÃÂÃÂþüàÃÂûõôÃÂõàÃÂþ÷ôðÃÂàýÃÂöýÃÂù òðü maildir ø subfolders øÃÂÿþûÃÂ÷ÃÂàÃÂÃÂøûøÃÂàmaildirmake
# su -fm vmail -c 'maildirmake /var/spool/virtual/test.local.net/user' # su -fm vmail -c 'maildirmake -f Spam /var/spool/virtual/test.local.net/user'
äðùû .mailfilter - ÃÂÃÂþ ÃÂðùû ôðõàòþ÷üþöýþÃÂÃÂàmaildrop òÃÂñÃÂðÃÂàýÃÂöýÃÂù úþýÃÂøó ôûàÿþûÃÂ÷þòðÃÂõûÃÂ, øÃÂÿþûÃÂ÷ÃÂàõóþ ûþóøý, úþÃÂþÃÂÃÂù ñõÃÂõÃÂÃÂàø÷ ÿõÃÂõüõýýþù $LOGNAME (user@domain).
àôøÃÂõúÃÂþÃÂøø .mailfilters àÃÂðýÃÂÃÂÃÂàúþýÃÂøóø ôûàúðöôþóþ òøÃÂÃÂÃÂðûÃÂýþóþ ÃÂ÷õÃÂð.
Maildrop ñÃÂôõàøÃÂúðÃÂàúþýÃÂøó ò ÃÂþÃÂüðÃÂõ user@domain ø øÃÂÿþûÃÂ÷þòðÃÂàõóþ.
ÃÂþöýþ ýðÿøÃÂðÃÂàÃÂúÃÂøÿÃÂ, úþÃÂþÃÂÃÂù ÿÃÂø ÃÂþ÷ôðýøø maildir, ðòÃÂþüðÃÂøÃÂõÃÂúø ÃÂþ÷ôðõàýÃÂöýÃÂù úþýÃÂøó àôõÃÂþûÃÂýÃÂüø þÿÃÂøÃÂüø mailfilters.
àôðýýþü ÿÃÂøüõÃÂõ maildrop þÃÂñøÃÂðõàÿþÃÂÃÂàà÷ðóþûþòúþü X-Spam-Status: Yes, úþÃÂþÃÂÃÂù óõýõÃÂøÃÂÃÂõàspamassassin, ÃÂÃÂÃÂðýþòúð úþÃÂþÃÂþóþ ñÃÂôõàÃÂðÃÂÃÂüþÃÂÃÂõýð ýøöõ, ø úûðôõàõõ ò ÿðÿúàSpam. ÃÂÃÂÃÂðûÃÂýðàÿþÃÂÃÂð ýðÿÃÂðòûÃÂõÃÂÃÂàò INBOX.
ÃÂÃÂøüõÃÂàÃÂøûÃÂÃÂÃÂþò ôûàmaildrop üþöýþ ýðùÃÂø ýð http://sourceforge.net/projects/mdropspammailfilter
áþ÷ôðõü ÃÂðùû /usr/local/etc/quotawarnmsg
DB-Mail
ÃÂþüÿøûÃÂÃÂøàPostfix àÿþôôõÃÂöúþù MYSQL SASL2 ø TLS ø VDA
áýðÃÂðûð ýðôþ ÃÂÃÂÃÂðýþòøÃÂàÿðúõÃÂàdb*-devel*.i586.rpm, libdb*-devel*.i586.rpm, libmysql*-devel*.i586.rpm.
ÃÂþÃÂþü úðÃÂðõü patch VDA
ÃÂñð ÃÂðùûð úûðôõü ò /usr/local/src ø ôðûõõ:
# tar zxvf postfix-2.3.7.tar.gz # cp postfix-2.3.7-vda.patch.gz postfix-2.3.7 # cd postfix-2.3.7 # patch -p1 < postfix-2.3.7-vda.patch.gz
áþ÷ôðõü ÃÂðùû make_config.sh
make -f Makefile.init makefiles 'CCARGS=-DDEF_SAMPLE_DIR=\"/etc/mail/sample\" -DHAS_MYSQL \ -I/usr/include/mysql -DUSE_SASL_AUTH -I/usr/include/sasl -DUSE_SSL \ -I/usr/include/ssl' 'AUXLIBS=-L/usr/lib/mysql -lmysqlclient \ -L/usr/lib -lsasl2 -lz -lm -L/usr/lib/ssl -lssl -lcrypto'
ÃÂðûõõ
# sh make_config.sh # make # make install