PL> There is one other thing that may or may not be an issue. Do you have a sieve script activated for your INBOX ? No, I do not have any sieve script activated. timsieved is running on the system though (if it makes any difference
No, just having timsieved running shouldn't have any effect on this.
Is there anything special I have to add to the sendmail config file?
Haven't a clue. I cheerfully abandoned sendmail in favor Exim years ago; and have never looked back.
Should I or should I not keep the preserve_local_plus_delivery feature? Is there any way to turn on the local delivery so I know for sure that it does not modify the delivery address or something like that?
Try running 'sendmail -bt' - that should put you in address testing mode where you enter addresses and it shows you the steps used for parsing. As I said, I haven't done this with Sendmail for quite a while; so I'm not sure how helpful this will actually be. (With Exim the output is very clean and to the point.)
If you've read the LMTP RFC, you could try to telnet to the lmtp port and manually type in the commands to give it a message with a +detail in the address. That would help identify whether the problem is on the cyrus side or the sendmail side.
You could also try setting up a sieve script using the subaddress extension. Something like:
require "fileinto" ; require "envelope" ; require "subaddress" ;
if envelope :detail "to" "foo" { fileinto "INBOX.foo" ; } else { keep ; }
Even if you don't plan on using sieve; this will provide an indication of whether the detail part is surviving the sendmail->lmtpd transition. Once you've got the problem ironed out, you can remove the sieve script again.
-Pat