2016-06-13 21:36 GMT+07:00 Stefan Suurmeijer <ste...@raptorweb.nl>: > On 06/13/2016 03:07 PM, Mogens Melander wrote: > > Stefan, > > > > Thanks for your suggestion. > > > > The virtusertable is actually being used in my config. I think my > > problem is in the cyrusv2 definition. > > I know. What I meant was that it looked like it wasn't processed correctly. > Meanwhile I've found out that for me that happened because I forgot to > add the test domain to local-host-names. Correcting that fixed my > problem. With almost the same config your setup is now working for me. > > I have example.com in local-host-names and FEATURE(`use_cw_file') in the .mc file. That's not it.
So it's interesting to see where your config differs from mine: > > I have > Mcyrusv2, P=[IPC], F=lsDFMnqXzA@/:|m, > S=EnvFromSMTP/HdrFromSMTP, R=EnvToSMTP > T=DNS/RFC822/SMTP, > A=FILE /var/lib/imap/socket/lmtp > > I got my lmtp socket in /var/imap/socket which I believe is the standard. The Cyrus V2 Mailer specification from cyrusv2.m4 look like this: Mcyrusv2, P=[IPC], F=lsDFMnqXzA@/:|m, S=EnvFromSMTP/HdrFromL, R=EnvToL/HdrToL, E=\r\n, T=DNS/RFC822/SMTP, A=FILE /var/imap/socket/lmtp And the same from my cyrusv2.mc file: Mcyrusv2, P=[IPC], F=lsDFMnqXzA@/:|m, S=EnvFromSMTP/HdrFromSMTP, R=EnvToSMTP, T=DNS/RFC822/SMTP, A=FILE /var/imap/socket/lmtp I took the E= out for now, as it doesn't seem to do anything. So the same except for the E= item (I think that's to add > to quoted > messages?). > The > quote thingy is done by the MUA. In my case SqirrelMail. I'm not sure about what the E=\r\n but it was something about default line endings, witch later was changed to LF (\n) as default. The last time I was fighting with issues like this it was because of the > mailer definition. What happens if you remove the E= portion? > I do understand correctly that the bottom mailer definition is the one > you're using, right? > Both definitions end up in sendmail.cf, with the one from .m4 first, followed by the one from .mc immediately after. > > I'm also assuming the > # Virtual user table (maps incoming users) > Kvirtuser hash -o /etc/mail/virtusertable > class is present in your sendmail.cf? > > Yes, it's in there. > I use > testdomain.nl cyrusv2:/var/imap/socket/lmtp > in mailertable > > Anything that you have different? > > Well. I'm not using mailertable. I want to use the virtuser function, to forward specific addresses to users on other servers. When sending an mail to dom...@example.com I know it's translated to j...@example.com but the @example.com get stripped off, and servers host.domain.tld added. From imap logfile: master[22245]: about to exec /usr/cyrus/bin/lmtpd lmtpunix[22245]: SQL backend defaulting to engine 'mysql' lmtpunix[22245]: executed lmtpunix[22245]: accepted connection lmtpunix[22245]: connection from [unix socket] preauth'd as postman lmtpunix[22245]: verify_user(slack-14-1.fumlersoft.dk!user.joe) failed: Mailbox does not exist # sendmail -bv dom...@example.com dom...@example.com... deliverable: mailer cyrusv2, user j...@slack-14-1.fumlersoft.dk # echo "3,0 dom...@example.com" | sendmail -v -bt ADDRESS TEST MODE (ruleset 3 NOT automatically invoked) Enter <ruleset> <address> > 3,0 dom...@example.com canonify input: domain @ example . com Canonify2 input: domain < @ example . com > Canonify2 returns: domain < @ example . com . > canonify returns: domain < @ example . com . > parse input: domain < @ example . com . > Parse0 input: domain < @ example . com . > Parse0 returns: domain < @ example . com . > ParseLocal input: domain < @ example . com . > ParseLocal returns: domain < @ example . com . > Parse1 input: domain < @ example . com . > Recurse input: joe @ example . com canonify input: joe @ example . com Canonify2 input: joe < @ example . com > Canonify2 returns: joe < @ example . com . > canonify returns: joe < @ example . com . > parse input: joe < @ example . com . > Parse0 input: joe < @ example . com . > Parse0 returns: joe < @ example . com . > ParseLocal input: joe < @ example . com . > ParseLocal returns: joe < @ example . com . > Parse1 input: joe < @ example . com . > Parse1 returns: $# cyrusv2 $: joe parse returns: $# cyrusv2 $: joe Recurse returns: $# cyrusv2 $: joe Parse1 returns: $# cyrusv2 $: joe parse returns: $# cyrusv2 $: joe Weird. I'm still clueless. Mogens
---- Cyrus Home Page: http://www.cyrusimap.org/ List Archives/Info: http://lists.andrew.cmu.edu/pipermail/info-cyrus/ To Unsubscribe: https://lists.andrew.cmu.edu/mailman/listinfo/info-cyrus