Извините что заставил так долго ждать. Ну как говорится начнемс. Cтавилось это "чудо"(1.0.1 и 1.0.2) на FreeBSD 7.2 (без Jail) по мануалу который здесь в документации. Детально описать не могу так как единого метода установки мне сделать не получилось, грабли были на разных этапах. После установки пришлось коментить "open_basedir" во всех файлах где нашел, в 1.0.3 вроде поправили но детально не рассматривал. Для доступа ФТП-юзеров пришлось лезть в файл calc-functions.php и в секции crypt_blowfish переменную $pre='$2$' менять на $pre='.2.' поскольку пароль для них при первом значении всегда был ":". Хотя там можно поиграться с методами шифрования пароля! Почта изначально берет все из файлов, что не есть гуд для меня. Сразу говорю что почту делал на основе двоих манов
http://sys-adm.org.ua http://abills.net.ua. Для начала установил
cyrus-sasl2 с опциями
Далее только конфиги! main.cf:
Code:
debug_peer_level = 2
command_directory = /usr/local/sbin
daemon_directory = /usr/local/libexec/postfix
myhostname = имя.хоста
mydestination = $myhostname
disable_vrfy_command = yes
smtpd_helo_required = yes
smtpd_helo_restrictions = permit_sasl_authenticated,
reject_invalid_hostname,
reject_unknown_hostname,
reject_non_fqdn_hostname
smtpd_recipient_restrictions = permit_sasl_authenticated,
reject_unauth_destination,
reject_unknown_recipient_domain,
reject_non_fqdn_recipient,
reject_unauth_destination
smtpd_sasl_auth_enable = yes
smtpd_sasl_application_name = smtpd
smtpd_sasl_security_options = noanonymous
smtpd_sender_restrictions = permit_sasl_authenticated,
reject_unknown_sender_domain
virtual_alias_maps = mysql:/usr/local/etc/postfix/sql/aliases.cf
virtual_gid_maps = static:1002
virtual_mailbox_base = /var/mail/virtual
virtual_mailbox_domains = mysql:/usr/local/etc/postfix/sql/virtual_domains.cf
virtual_mailbox_maps = mysql:/usr/local/etc/postfix/sql/virtual_mail_boxes.cf
virtual_mailbox_limit = 51200000
virtual_minimum_uid = 1002
virtual_uid_maps = static:1002
# Additional for quota support for virtual transport
virtual_create_maildirsize = yes
virtual_mailbox_extended = yes
virtual_mailbox_limit_maps = mysql:/usr/local/etc/postfix/sql/virtual_mailbox_limit
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
maildrop_destination_recipient_limit=1
readme_directory = no
sample_directory = /usr/local/etc/postfix
sendmail_path = /usr/local/sbin/sendmail
html_directory = no
setgid_group = vmail
manpage_directory = /usr/local/man
newaliases_path = /usr/local/bin/newaliases
mailq_path = /usr/local/bin/mailq
queue_directory = /var/spool/postfix
mail_owner = postfix
master.cf
Code:
smtp inet n - n - - smtpd
587 inet n - n - - smtpd
-o smtpd_client_restrictions=permit_sasl_authenticated,reject_unauth_destination
pickup fifo n - n 60 1 pickup
cleanup unix n - n - 0 cleanup
qmgr fifo n - n 300 1 qmgr
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
smtp unix - - n - - smtp
relay unix - - n - - smtp
-o fallback_relay=
showq unix n - n - - showq
error 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
amavis unix - - n - 2 smtp
-o smtp_data_done_timeout=1200
-o smtp_send_xforward_command=yes
-o disable_dns_lookups=yes
localhost:10025 inet n - n - - smtpd
-o content_filter=
-o local_recipient_maps=
-o relay_recipient_maps=
-o smtpd_restriction_classes=
-o smtpd_client_restrictions=
-o smtpd_helo_restrictions=
-o smtpd_sender_restrictions=
-o smtpd_recipient_restrictions=permit_mynetworks,reject
-o smtpd_override_options=no_address_mappings
-o mynetworks=127.0.0.0/8
-o strict_rfc821_envelopes=yes
ispcp-arpl unix - n n - - pipe
flags=O user=vmail argv=/var/www/ispcp/engine/messager/ispcp-arpl-msgr
maildrop unix - n n - - pipe
flags=Rhu user=vmail argv=/usr/bin/maildrop -w 90 -d ${recipient}
aliases.cf
Code:
user = username
password = password
dbname = ispcp
hosts = 127.0.0.1
query = SELECT mail_forward FROM mail_users WHERE mail_addr='%s' and mail_type='normal_forward'
virtual_domains.cf
Code:
user = username
password =password
hosts = 127.0.0.1
dbname = ispcp
query = SELECT domain_name FROM domain WHERE domain_name = '%s'
virtual_mail_boxes.cf
Code:
user = username
password = password
dbname = ispcp
hosts = 127.0.0.1
query = SELECT CONCAT(md.domain_name,'/',mb.mail_acc,'/') FROM mail_users mb, domain md WHERE CONCAT(mb.mail_acc, '@', md.domain_name)='%s' and mb.domain_id=md.domain_id
virtual_mailbox_limit
Code:
user = username
password = password
hosts = 127.0.0.1
dbname = ispcp
query = SELECT (quota*10) FROM mail_users mb, domain md WHERE CONCAT(mb.mail_acc, '@', md.domain_name)='%s' and mb.domain_id=md.domain_id
Для того чтоб нас авторизировало по SMTP создаем файлик
smtpd.conf в директории
/usr/local/lib/sasl2 со следующим содержанием:
Code:
allowplaintext: yes
pwcheck_method: authdaemond
auxprop_plugin: sql
password_format: crypt
mech_list: plain login cram-md5 digest-md5
sql_engine: mysql
mysql_user: username
mysql_passwd: password
mysql_database: ispcp
mysql_hostnames: 127.0.0.1
mysql_statement: SELECT mail_pass FROM mail_users where mail_addr='%u@%r'
Далее в файлике mail_add.php ищем строчку
и меняем ее на
В файле mail_edit.php
меняем на
иначе по смтп пускать не будет! Как бы у меня все, будут вопросы пишите!