@Sheryorg

Как сохранять исходящую почту exim?

Установлен почтовый сервер в связке 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 она помечена как непрочитанная, как сделать чтоб она была прочитанной?
  • Вопрос задан
  • 379 просмотров
Пригласить эксперта
Ответы на вопрос 1
С gmail - смотрите лог сервера, в какой момент получаете от exim отметку о несуществующем юзере. Что-то на первый взгляд не вижу, где ошибка у вас.

По поводу отметки прочитанным - вижу только способ с использованием фильтра Sieve вида:
if exists "X-Outbox"  {
    removeflag "\\Seen";
    stop;
}
Ответ написан
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы