Ok, many thanks to Andrey Melnikov that, offlist, helped me.

Finally i've solved my issue with SRS. Because could be useful to others, i
post my findings here.


1) the ''bounce'' router HAVE TO EXIST and HAVE NOT the 'no_verify' option
 set; Doing the rewrite, exim verify that the SRS-generated local address
exist, and refise to redirect to non-working addresses.

My bounce router currently is:

.ifdef SRS_SECRETFILE
srs_bounce:
  debug_print = "R: srs_bounce for $local_part@$domain"
  driver = redirect
  domains = +local_domains
  allow_fail
  allow_defer
  local_part_prefix = srs0+ : srs0- : srs0= : srs1+ : srs1- : srs1=
  caseful_local_part
  address_data = ${run{/bin/sh -c "/usr/bin/srs --reverse 
--secretfile=SRS_SECRETFILE --hashlength=SRS_HASHLENGTH 
${local_part_prefix}${local_part}@${domain} 2> /dev/null
  data = ${quote_local_part:${local_part:$address_data}}@${domain:$address_data}
.endif

Because the hash may contain the '/' character, the local part character
restriction have to be relaxed:

 CHECK_RCPT_LOCAL_LOCALPARTS = ^[.] : ^.*[@%!|`#&?]


Then, the router that do the SRS rewriting set the errors_to:

  .ifdef SRS_SECRETFILE  
  address_data = ${run{/bin/sh -c "/usr/bin/srs --secretfile=SRS_SECRETFILE 
--hashlength=SRS_HASHLENGTH --alias=SRS_DOMAIN $sender_address 
2>/dev/null"}{$value}{:fail: SRS failure}}
  errors_to = 
${quote_local_part:${local_part:$address_data}}@${domain:$address_data}
  headers_add = "X-SRS: Sender address rewritten from <$sender_address> to 
<${quote_local_part:${local_part:$address_data}}@${domain:$address_data}> by 
$primary_hostname."
  headers_remove = SRS_HEADERS_REMOVE
  .endif

This not suffices. A rewriter have to be addedd. In debian, the easest way
is to define:

 REMOTE_SMTP_HEADERS_REWRITE = *@* "${if 
!eq{$h_errors_to::}{}{$h_errors_to::}{$sender_address}}" s

Also, if you want some logging, you can set:
 MAIN_LOG_SELECTOR == MAIN_LOG_SELECTOR +address_rewrite 
+return_path_on_delivery +sender_on_delivery


A little note. If i set REMOTE_SMTP_RETURN_PATH, that seemed to me the right
option, not only does nothing, but also the rewrite stop working.
Boh. If someone can explain me...


Thanks.

-- 
  STOP. I wanna go home
  take off this uniform and leave the show              (Pink Floyd)


-- 
## List details at https://lists.exim.org/mailman/listinfo/exim-users
## Exim details at http://www.exim.org/
## Please use the Wiki with this list - http://wiki.exim.org/

Reply via email to