Установлен почтовый сервер в связке dovecot - exim. Нужно сохранять исходющую почту, которая была отправлена не через почтовый клиент (почтовый клиент автоматически сохраняет письма).
В данный момент сервер работает на такой конфигурации роутеров и транспорта, исходящая почта не сохраняется, но при этом ходит локально и на другие без каких либо проблем.
begin routers
dnslookup:
driver = dnslookup
domains = ! +local_domains
transport = remote_smtp
ignore_target_hosts = 0.0.0.0 : 127.0.0.0/8
no_more
system_aliases:
driver = redirect
allow_fail
allow_defer
data = ${lookup mysql{SELECT `goto` FROM `alias` WHERE \
`address`='${quote_mysql:$local_part@$domain}' OR \
`address`='${quote_mysql:@$domain}'}}
dovecot_user:
driver = accept
condition = ${lookup mysql{SELECT `goto` FROM \
`alias` WHERE \
`address`='${quote_mysql:$local_part@$domain}' OR \
`address`='${quote_mysql:@$domain}'}{yes}{no}}
transport = dovecot_delivery
store_outbox:
driver = accept
condition = ${lookup mysql{SELECT `goto` FROM \
`alias` WHERE \
`address`='${quote_mysql:$local_part@$domain}' OR \
`address`='${quote_mysql:@$domain}'}{yes}{no}}
transport = dovecot_delivery_outbox
##############################
# TRANSPORTS CONFIGURATION
##############################
# ORDER DOES NOT MATTER
# Only one appropriate transport is called for each delivery.
#######################################
begin transports
remote_smtp:
driver = smtp
interface = 111.111.111.111
helo_data = mail.domain.com
dovecot_delivery_outbox:
driver = pipe
command = /usr/libexec/dovecot/deliver -d $sender_address -f $sender_address -m Outbox
headers_add = X-Outbox: yes
message_prefix =
message_suffix =
delivery_date_add
envelope_to_add
return_path_add
log_output
user = exim
temp_errors = 64 : 69 : 70: 71 : 72 : 73 : 74 : 75 : 78
dovecot_delivery:
driver = pipe
command = /usr/libexec/dovecot/deliver -d $local_part@$domain
message_prefix =
message_suffix =
delivery_date_add
envelope_to_add
return_path_add
log_output
user = exim
address_pipe:
driver = pipe
return_output
address_reply:
driver = autoreply
При такой конфигурации роутера почта сохраняется в исходящую, но при отправки, например с gmail, почта доставляется, но на гмэил приходит сообщение что пользователь не найден:
begin routers
store_outbox:
driver = accept
unseen
condition = ${lookup mysql{SELECT `goto` FROM \
`alias` WHERE \
`address`='${quote_mysql:$local_part@$domain}' OR \
`address`='${quote_mysql:@$domain}'}{yes}{no}}
transport = dovecot_delivery_outbox
dnslookup:
driver = dnslookup
domains = ! +local_domains
transport = remote_smtp
ignore_target_hosts = 0.0.0.0 : 127.0.0.0/8
no_more
system_aliases:
driver = redirect
allow_fail
allow_defer
data = ${lookup mysql{SELECT `goto` FROM `alias` WHERE \
`address`='${quote_mysql:$local_part@$domain}' OR \
`address`='${quote_mysql:@$domain}'}}
dovecot_user:
driver = accept
condition = ${lookup mysql{SELECT `goto` FROM \
`alias` WHERE \
`address`='${quote_mysql:$local_part@$domain}' OR \
`address`='${quote_mysql:@$domain}'}{yes}{no}}
transport = dovecot_delivery
И еще, когда исходящая почта сохраняется в папку Outbox она помечена как непрочитанная, как сделать чтоб она была прочитанной?