On Thu, 23 Jan 2003, John Alton Tamplin wrote: > Mikael Brandström wrote: > > >It should be possible to rewrite rulset Parse0 (and maybe Parse1) to make > >them leave the local adress qualified while delivering locally. There > >might even be something among the files in cf/cf which kan fix it, I have > >a vague memory of something such. Just my 2c. > > > > > I made changes locally that amounted to always setting $@ whenever > $#local was selected as a mailer (for mailers that don't use $h, it > shouldn't matter at all). If you redefine the local mailer to be > cyrusv2, then look for $#cyrusv2. The places that have to be changed are: > > Ruleset 0, change: > > R<@> $#local $: <@> special case error msgs > > to > > R<@> $#local $@ $M $: <@> special case error msgs > > (if you aren't masquerading use $j instead of $M -- it could be cleaned > up so it would work for more general configs but I was in a hurry to get > something working for our setup). In Ruleset Parse1, change: > > R< > $+ + $* < $+ > $#local $: $1 + $2 plussed name? > > to > > R< > $+ + $* < @ $+ > $#local $@ $3 $: $1 + $2 plussed name? > > and then the last two rules in Parse1 change from: > > R$=L $#local $: @ $1 special local names > R$+ $#local $: $1 regular local names > > to > > R$=L $#local $@ $M $: @ $1 special local names > R$+ $#local $@ $M $: $1 regular local names > > Remember that tabs separate the columns, not spaces. > > Then in the mailer definition, you can pass $u@$h rather than just $u. > I am currently using my own deliver program which then connects to LMTP > -- this should work for the stock deliver program as well, but for > direct LMTP delivery from sendmail you will have to get more creative. > I haven't tried it, but it should be possible to copy ruleset > EnvFromSMTP to something else and modify it to add @$h to the end of the > address if $h is defined, and then change the cyrusv2 mailer to use that > for the envelope sender rewrite ruleset. >
This is what I use (no sendmail m4 hacking neccessary). FEATURE(`mailertable', ... define(`_VIRTUSER_STOP_ONE_LEVEL_RECURSION_', `1')dnl FEATURE(`virtusertable', ... Mcyrus, P=[IPC], F=1lsDFMnqAmXzS, S=EnvFromSMTP/HdrFromSMTP, R=EnvToSMTP, E=\r\n, T=DNS/RFC822/SMTP, A=FILE $h virtusertable: [EMAIL PROTECTED] [EMAIL PROTECTED] mailertable: domain.com lmtp:/var/imap/socket/lmtp Hope this helps. > If anyone wants patches to the stock sendmail 8.12.7 proto.m4 file, I > will be happy to send them with the usual disclaimers (I have not made > any effort to make the changes more general, just working for our > particular configuration -- YMMV). > > I also have changes (including 3 lines of source changes) to allow the w > flag to be used with a local mailer yet pass through any users that > aren't listed in getpwent (ie, I wanted to have user .forward files yet > still allow delivery to shared mailboxes). This hack is even more > likely to be a problem in the future, as they are likely to eventually > use the flag letter 'y' for something else, but if you want them just ask. > > One day when I get time I will clean these up and try and submit them to > see if they will get included. > > -- Igor