Итак:
В postfixadmin не получалось добавить алиас для отправки копии письма на другой адрес, своего рода forward. Выдавало что-то вроде
This email address already exists, please choose a different one!
Как оказалось, alias надо добавлять вовсе не "глобально". Для начала надо было изменить в конфиге config.inc.php два параметра:
$CONF['alias_control'] = 'YES';
$CONF['alias_control_admin'] = 'YES';
после этого в списке Mailboxes появиться ссылка Alias, пройдя по которой и можно задать списко ящиков, каждый в новую строку. Они затем отобразятся в поле To = "Mailbox и ваш доп.ящик"
================================
Теперь добавим авторизацию для dovecot.
В /etc/dovecot/dovecot.conf в секции "auth default"
Пароли будем забирать из базы postfixadmin - имя базы, юзер = mail
# SQL database
passdb sql {
args = /etc/dovecot/dovecot-sql.conf
}
а настройки юзеров будут статические.
userdb static {
args = uid=vmail gid=vmail home=/home/vmail/%u
}
т.е. папки юзеров будут создаваться от имени vmail в /home/vmail/юзер
socket listen {
client { # демон авторизации, его будет использовать exim
path = /var/run/dovecot/auth-client
mode = 0666
}
master { #для локальной досавки - LDA
path = /var/run/dovecot/auth-master
mode = 0666
}
}
И сама локальныя доставка, т.е. exim будет почту передавать dovecot, что бы тот распихал ее по реальным папкам в ящиках.
protocol lda {
postmaster_address = postmaster@example.com
auth_socket_path = /var/run/dovecot/auth-master
}
В /etc/dovecot/dovecot-sql.conf
connect = host=localhost dbname=mail user=mail password=mailnew
default_pass_scheme = plain <- пароль в открытом виде, на боевой системе не допустимо!
password_query = SELECT `username` as `user`, `password` FROM `mailbox` WHERE `username` = '%n@%d' AND `active`='1'
Теперь про exim
Авторизация с использованием dovecot
Создаем /etc/exim4/conf.d/auth/05_dovecot_login
dovecot_login:
driver = dovecot
public_name = LOGIN
server_socket = /var/run/dovecot/auth-client
# setting server_set_id might break several headers in mails sent by authenticated smtp. So be careful.
server_set_id = $auth1
dovecot_plain:
driver = dovecot
public_name = PLAIN
server_socket = /var/run/dovecot/auth-client
server_set_id = $auth1
Настройка подключения к базе mysql - понадобиться для форвардинга
добавим в /etc/exim4/conf.d/main/02_exim4-config_options
hide mysql_servers = localhost/mail/mail/mailnewzulu145:/etc/exim4/conf.d/main
настроим, что локальную доставку LDA
редактируем /etc/exim4/conf.d/router/900_exim4-config_local_user (хотя можно сделать и новый)
local_user:
debug_print = "R: local_user for $local_part@$domain"
driver = accept
domains = +local_domains
transport = dovecot_virtual_delivery
cannot_route_message = Unknown user
настроим траспорт
создадим /etc/exim4/conf.d//transport/05-exim4-config_transport_dovecot
dovecot_virtual_delivery:
driver = pipe
debug_print = "T: dovecot_virtual_delivery for $local_part@$domain"
command = /usr/lib/dovecot/deliver -d $local_part@$domain -f $sender_address
# v1.1+: command = /usr/local/libexec/dovecot/deliver -d $local_part@$domain -f $sender_address -a $original_local_part@$original_domain
message_prefix =
message_suffix =
delivery_date_add
envelope_to_add
return_path_add
log_output
user = vmail
temp_errors = 64 : 69 : 70: 71 : 72 : 73 : 74 : 75 : 78
Теперь forward - переадресацию - что бы информация бралась из базы postfixadmin
приведем /etc/exim4/conf.d/router/600_exim4-config_userforward к виду
userforward:
driver = redirect
allow_fail
allow_defer
data = ${lookup mysql{SELECT goto FROM alias \
WHERE address='${local_part}@${domain}' AND domain='${domain}'}}
Подписаться на:
Комментарии к сообщению (Atom)
Комментариев нет:
Отправить комментарий