Kolab 3.4 and Vacation autoresponder
Homer Dokes
hdokes at mail.inct.net
Fri Sep 1 17:01:31 CEST 2017
On Thu, Aug 31, 2017 at 09:32:19AM +0300, Liutauras Adomaitis wrote:
> Hi,
>
> On 2017 m. rugpj??io 30 d., tre?iadienis 21:58:51 EEST Homer Dokes wrote:
> > On 8/30/2017 2:14 PM, Homer Dokes wrote:
> > > On 8/30/2017 1:40 PM, Lance Charette wrote:
> > >> On 8/29/2017 5:33 AM, Liutauras Adomaitis wrote:
> > >>> Hi,
> > >>>
> > >>> On 2017 m. rugpj??io 29 d., antradienis 03:13:14 EEST Homer Dokes wrote:
> > >>>> Greetings,
> > >>>>
> > >>>> After updating Kolab 3.4, through apt-get update, the vacation auto
> > >>>> responder is no longer available for that matter. I should add that
> > >>>> prior to the update the feature never worked for responding to any
> > >>>> outside emails. It only ever worked for email addresses that were
> > >>>> local
> > >>>> to the server... .i.e. from the same domain. Prior to the update there
> > >>>> was a pre-defined vacation option in the filters setup. This is no
> > >>>> longer there. Further, any attempt to create a new filter named
> > >>>> vacation and using the "Reply with message" execution on all messages
> > >>>> results in nothing happening. I get no log feedback and no message is
> > >>>> sent back to the sender.
> > >>>>
> > >>>> I can confirm that timsieved is running as I can perform 'telnet
> > >>>> localhost sieve' from the email server's command line and I do get a
> > >>>> connection.
> > >>>>
> > >>>> When I set up the new filter and save I can see the output of the save
> > >>>> being logged during compiling in the /var/log/roundcubemail/sieve log
> > >>>> file. That's the ONLY time anything ever gets logged related to sieve.
> > >>>>
> > >>>> Can anyone speak to how auto replies for vacation purposes are suppose
> > >>>> to work in the Kolab 3.4 environment? Anything I can find online is
> > >>>> all
> > >>>> over the map and none of what I have found speaks to the kolab 3.4
> > >>>> environment specifically. Shouldn't I be able see something logged
> > >>>> from
> > >>>> Sieve when it's filters are executing? How does Kolab tie Sieve into
> > >>>> cyrus to force the filter?
> > >>>>
> > >>>> The server is running Debian 7.0 with the Kolab 3.4 community edition.
> > >>>>
> > >>>> This is a huge issue for my clients and may force us to go to some
> > >>>> other
> > >>>> email hosting system if we can not overcome it in Kolab. Any
> > >>>> assistance
> > >>>> would be greatly appreciated.
> > >>>>
> > >>> >From Roundcube point of view the vacation settings item can be enabled
> > >>> >in /
> > >>>
> > >>> etc/roundcubemail/managesieve.inc.php file:
> > >>> // Enables separate management interface for vacation responses (out-of-
> > >>> office)
> > >>> // 0 - no separate section (default),
> > >>> // 1 - add Vacation section,
> > >>> // 2 - add Vacation section, but hide Filters section
> > >>> $config['managesieve_vacation'] = 1;
> > >>>
> > >>> Vacations autoresponse usually "just work", but:
> > >>> - you should make sure /etc/imapd.conf has necessary extensions enabled
> > >>> with parameter sieve_extensions
> > >>> - you should define email addresses emails to which should be responded
> > >>> with vacation message. Rounudcube Vacation config tool has that in
> > >>> advanced settings.
> > >>> - you should make sure vacation responder is enabled as sieve filter.
> > >>> After
> > >>> creating vacation responder chec <sieve_dir parameter value>/domain/e/
> > >>> excample.com/t/test^user/ directory. Check if sieve filter is created
> > >>> and if it is included in the filters main file.
> > >>> - I'm not sure if you should see anything in the logs, but you should
> > >>> definetly see a new email generated by IMAP server - a auto-response
> > >>> email.
> > >>> Cyrus use sendmail parameter in /etc/imapd.conf to call binary to
> > >>> generate new email.
> > >>>
> > >>> Liutauras
> > >>
> > >> Hello Liutauras,
> > >>
> > >> Thank you for your response. I really appreciate it. Here's what I
> > >> have found when checking against your list:
> > >>
> > >> 1. $config['managesieve_vacation'] = 1 -Found this set to 0. Once I set
> > >> it back to 1 the vacation option appeared in the roundcubemail settings
> > >> list and could be edited.
> > >>
> > >> 2. In the /etc/imapd.conf file I have this which I think is what you were
> > >> looking for:sieve_extensions: fileinto reject envelope body vacation
> > >> imapflags notify include regex subaddress relational copy date index
> > >>
> > >> 3. The vacation responder is enabled as a sieve filter and does show
> > >> up in the users active sieve script with the latest edits.
> > >>
> > >> 4. When users within the email domain send each other email the
> > >> vacation auto responder triggers and does send out the message. Here
> > >> is a snippit from my syslog showing the response is logged:
> > >>
> > >> Aug 30 13:25:11 mail postfix/lmtp[867]: C852A20A7:
> > >> to=<userA at lcent.com>,
> > >> relay=mail.lcent.com[/var/lib/imap/socket/lmtp], delay=0.35,
> > >> delays=0.03/0.04/0/0.27, dsn=2.1.5, status=sent (250 2.1.5 Ok
> > >> SESSIONID=<mail.lcent.com-861-1504113910-1-3775082477817360626>)
> > >>
> > >> When users receive outside the email domain, then no response is set
> > >> and there is no corresponding message in syslog.
> > >>
> > >> Is there a setting that makes a difference for externally originated
> > >> emails? Is there some log we can review to identify if cyrus is
> > >> actually employing the sieve filter on external emails?
> > >
> > > Here is a more complete snippet of the syslog entries that pertain to
> > > the successful vacation response for an internal test mail. My son
> > > indicated I should be more careful about scrubbing private info from
> > > logs before pasting them on a mailing list. As an exercise to build up
> > > that habit, I've changed the mail addresses in the logs to redact them.
> > >
> > > Aug 30 13:25:09 mail imap[615]: login: localhost [::1]
> > > test-user at example.com PLAIN+TLS User logged in
> > > SESSIONID=<mail.example.com-615-1504113909-1-11718444001764406470>
> > > Aug 30 13:25:09 mail postfix/submission/smtpd[847]: DD8AA20A0:
> > > client=mail.example.com[127.0.0.1], sasl_method=LOGIN,
> > > sasl_username=test-user at example.com
> > > Aug 30 13:25:10 mail postfix/qmgr[4092]: DD8AA20A0:
> > > from=<test-user at example.com>, size=416, nrcpt=1 (queue active)
> > > Aug 30 13:25:10 mail postfix/qmgr[4092]: 464A120A5:
> > > from=<test-user at example.com>, size=416, nrcpt=1 (queue active)
> > > Aug 30 13:25:10 mail amavis[63993]: (63993-19) Passed CLEAN
> > > {RelayedInternal}, LOCAL [127.0.0.1]:44008 <test-user at example.com>
> > > -> <hdokes at example.com>, Queue-ID: DD8AA20A0, Message-ID:
> > > <e0879380e0f20d1f78fe940f218dba87 at example.com>, mail_id:
> > > S5M21lGIAZg2, Hits: -, size: 416, queued_as: 464A120A5, 297 ms
> > > Aug 30 13:25:10 mail imap[615]: USAGE test-user at example.com user:
> > > 0.012001 sys: 0.008001
> > > Aug 30 13:25:10 mail postfix/qmgr[4092]: 6D82320A0:
> > > from=<test-user at example.com>, size=524, nrcpt=1 (queue active)
> > > Aug 30 13:25:10 mail postfix/smtp[857]: BC14C20A5:
> > > to=<test-user at example.com>, relay=127.0.0.1[127.0.0.1]:10026,
> > > delay=0.09, delays=0.08/0/0/0, dsn=2.0.0, status=sent (250 Ok)
> > > Aug 30 13:25:10 mail amavis[728]: (00728-02) Passed CLEAN
> > > {RelayedInbound}, <> -> <test-user at example.com>, Message-ID:
> > > <cmu-sieve-754-1504113910-0 at mail.example.com>, mail_id:
> > > dlqzjee0pGKq, Hits: -, size: 603, queued_as: BC14C20A5, 151 ms
> > > Aug 30 13:25:10 mail postfix/smtp[853]: 94C8F20A7:
> > > to=<test-user at example.com>, relay=127.0.0.1[127.0.0.1]:10024,
> > > delay=0.24, delays=0.09/0/0/0.15, dsn=2.0.0, status=sent (250
> > > 2.0.0 from MTA(smtp:[127.0.0.1]:10025): 250 2.0.0 Ok: queued as
> > > BC14C20A5)
> > > Aug 30 13:25:11 mail postfix/lmtp[867]: C852A20A7:
> > > to=<test-user at example.com>,
> > > relay=mail.example.com[/var/lib/imap/socket/lmtp], delay=0.35,
> > > delays=0.03/0.04/0/0.27, dsn=2.1.5, status=sent (250 2.1.5 Ok
> > > SESSIONID=<mail.example.com-861-1504113910-1-3775082477817360626>)
> > >
> > > I'll try to catch similar logs for an external email test for comparison.
> >
> > Here is a log snippet when testing for a vacation response to an
> > external address. The external domain is not gmail.com (more redaction
> > practice), but instead a separate kolab 3.4 server I maintain.
> >
> > Aug 30 14:24:10 mail postfix/smtpd[2198]: connect from
> > unknown[192.168.70.171]
> > Aug 30 14:24:12 mail postfix/smtpd[2198]: B49DA206A:
> > client=unknown[192.168.70.171]
> > Aug 30 14:24:12 mail postfix/cleanup[2206]: B49DA206A:
> > message-id=<515ef56771f28ed566b1226bda4271ec at gmail.com>
> > Aug 30 14:24:12 mail postfix/qmgr[4092]: B49DA206A:
> > from=<SRS0=c0k5=AA=gmail.com=test-user at example.com>, size=1635,
> > nrcpt=1 (queue active)
> > Aug 30 14:24:12 mail postfix/smtpd[2198]: disconnect from
> > unknown[192.168.70.171]
> > Aug 30 14:24:12 mail postfix/smtpd[2209]: connect from
> > mail.example.com[127.0.0.1]
> > Aug 30 14:24:12 mail postfix/smtpd[2209]: EDFA620A0:
> > client=mail.example.com[127.0.0.1], orig_queue_id=B49DA206A,
> > orig_client=unknown[192.168.70.171]
> > Aug 30 14:24:12 mail postfix/cleanup[2210]: EDFA620A0:
> > message-id=<515ef56771f28ed566b1226bda4271ec at gmail.com>
> > Aug 30 14:24:13 mail postfix/qmgr[4092]: EDFA620A0:
> > from=<SRS0=c0k5=AA=gmail.com=test-user at example.com>, size=1215,
> > nrcpt=1 (queue active)
> > Aug 30 14:24:13 mail postfix/smtpd[2209]: disconnect from
> > mail.example.com[127.0.0.1]
> > Aug 30 14:24:13 mail amavis[728]: (00728-11) Passed CLEAN
> > {RelayedInternal}, LOCAL [192.168.70.171]:53110 [97.78.86.98]
> > <SRS0=c0k5=AA=gmail.com=test-user at example.com> ->
> > <hdokes at example.com>, Queue-ID: B49DA206A, Message-ID:
> > <515ef56771f28ed566b1226bda4271ec at gmail.com>, mail_id: t4STGW5NSFwZ,
> > Hits: -, size: 1634, queued_as: EDFA620A0, 218 ms
> > Aug 30 14:24:13 mail postfix/smtp[2207]: B49DA206A:
> > to=<hdokes at example.com>, relay=127.0.0.1[127.0.0.1]:10024,
> > delay=2.1, delays=1.9/0.01/0/0.22, dsn=2.0.0, status=sent (250 2.0.0
> > from MTA(smtp:[127.0.0.1]:10025): 250 2.0.0 Ok: queued as EDFA620A0)
> > Aug 30 14:24:13 mail postfix/qmgr[4092]: B49DA206A: removed
> > Aug 30 14:24:13 mail postfix/smtp[2211]: EDFA620A0:
> > to=<hdokes at example.com>, relay=127.0.0.1[127.0.0.1]:10026,
> > delay=0.11, delays=0.09/0.02/0/0, dsn=2.0.0, status=sent (250 Ok)
> > Aug 30 14:24:13 mail postfix/qmgr[4092]: EDFA620A0: removed
> > Aug 30 14:24:13 mail postfix/smtpd[2212]: connect from
> > mail.example.com[127.0.0.1]
> > Aug 30 14:24:13 mail postfix/smtpd[2212]: 1EE4C20A0:
> > client=mail.example.com[127.0.0.1]
> > Aug 30 14:24:13 mail postfix/cleanup[2210]: 1EE4C20A0:
> > message-id=<515ef56771f28ed566b1226bda4271ec at gmail.com>
> > Aug 30 14:24:13 mail postfix/qmgr[4092]: 1EE4C20A0:
> > from=<SRS0=c0k5=AA=gmail.com=test-user at example.com>, size=1218,
> > nrcpt=1 (queue active)
> > Aug 30 14:24:13 mail postfix/smtpd[2212]: disconnect from
> > mail.example.com[127.0.0.1]
> > Aug 30 14:24:13 mail postfix/pickup[606]: 44AD120A4: uid=104 from=<>
> > Aug 30 14:24:13 mail postfix/cleanup[2206]: 44AD120A4:
> > message-id=<cmu-sieve-2197-1504117453-0 at mail.example.com>
> > Aug 30 14:24:13 mail postfix/qmgr[4092]: 44AD120A4: from=<>,
> > size=643, nrcpt=1 (queue active)
> > Aug 30 14:24:13 mail postfix/smtpd[2209]: connect from
> > mail.example.com[127.0.0.1]
> > Aug 30 14:24:13 mail postfix/smtpd[2209]: 5FDD3206A:
> > client=mail.example.com[127.0.0.1]
> > Aug 30 14:24:13 mail postfix/cleanup[2210]: 5FDD3206A:
> > message-id=<cmu-sieve-2197-1504117453-0 at mail.example.com>
> > Aug 30 14:24:13 mail postfix/smtpd[2209]: disconnect from
> > mail.example.com[127.0.0.1]
> > Aug 30 14:24:13 mail postfix/qmgr[4092]: 5FDD3206A: from=<>,
> > size=643, nrcpt=1 (queue active)
> > Aug 30 14:24:13 mail postfix/smtp[2211]: 5FDD3206A:
> > to=<SRS0=c0k5=AA=gmail.com=test-user at example.com>,
> > relay=127.0.0.1[127.0.0.1]:10026, delay=0.07, delays=0.07/0/0/0,
> > dsn=2.0.0, status=sent (250 Ok)
> > Aug 30 14:24:13 mail postfix/qmgr[4092]: 5FDD3206A: removed
> > Aug 30 14:24:13 mail amavis[876]: (00876-09) Passed CLEAN
> > {RelayedInbound}, <> ->
> > <SRS0=c0k5=AA=gmail.com=test-user at example.com>, Message-ID:
> > <cmu-sieve-2197-1504117453-0 at mail.example.com>, mail_id:
> > wXheNo2ZCwTA, Hits: -, size: 643, queued_as: 5FDD3206A, 141 ms
> > Aug 30 14:24:13 mail postfix/smtp[2207]: 44AD120A4:
> > to=<SRS0=c0k5=AA=gmail.com=test-user at example.com>,
> > relay=127.0.0.1[127.0.0.1]:10024, delay=0.22, delays=0.07/0/0/0.14,
> > dsn=2.0.0, status=sent (250 2.0.0 from MTA(smtp:[127.0.0.1]:10025):
> > 250 2.0.0 Ok: queued as 5FDD3206A)
> > Aug 30 14:24:13 mail postfix/qmgr[4092]: 44AD120A4: removed
> > Aug 30 14:24:13 mail postfix/smtpd[2212]: connect from
> > mail.example.com[127.0.0.1]
> > Aug 30 14:24:13 mail postfix/smtpd[2212]: 74C8020A4:
> > client=mail.example.com[127.0.0.1]
> > Aug 30 14:24:13 mail postfix/cleanup[2210]: 74C8020A4:
> > message-id=<cmu-sieve-2197-1504117453-0 at mail.example.com>
> > Aug 30 14:24:13 mail lmtpunix[2197]: Delivered:
> > <515ef56771f28ed566b1226bda4271ec at gmail.com> to mailbox:
> > example.com!user.hdokes
> > Aug 30 14:24:13 mail postfix/qmgr[4092]: 74C8020A4: from=<>,
> > size=766, nrcpt=1 (queue active)
> > Aug 30 14:24:13 mail postfix/smtpd[2212]: disconnect from
> > mail.example.com[127.0.0.1]
> > Aug 30 14:24:13 mail postfix/local[2219]: 74C8020A4:
> > to=<SRS0=c0k5=AA=gmail.com=test-user at example.com>, relay=local,
> > delay=0.16, delays=0.07/0.04/0/0.04, dsn=5.1.1, status=bounced
> > (unknown user: "srs0=c0k5=aa=gmail.com=test-user")
> > Aug 30 14:24:13 mail postfix/qmgr[4092]: 74C8020A4: removed
> > Aug 30 14:24:13 mail lmtpunix[2197]: USAGE hdokes at example.com
> > user: 0.008000 sys: 0.008000
> > Aug 30 14:24:13 mail postfix/lmtp[2213]: 1EE4C20A0:
> > to=<hdokes at example.com>,
> > relay=mail.example.com[/var/lib/imap/socket/lmtp], delay=0.55,
> > delays=0.04/0.04/0/0.47, dsn=2.1.5, status=sent (250 2.1.5 Ok
> > SESSIONID=<mail.example.com-2197-1504117453-1-201748317146241090>)
> > Aug 30 14:24:13 mail postfix/qmgr[4092]: 1EE4C20A0: removed
> >
> > This bit below strikes me as odd...
> >
> > Aug 30 14:24:12 mail postfix/qmgr[4092]: B49DA206A:
> > from=<SRS0=c0k5=AA=gmail.com=test-user at example.com>, size=1635,
> > nrcpt=1 (queue active)
> >
> > ...as I expected the "from" address to be "test-user at gmail.com". I'm not
> > sure what is mangling the sender address. Later on it seems the
> > vacation reply may be attempted, but the reply address is unknown?
> >
> > Aug 30 14:24:13 mail postfix/local[2219]: 74C8020A4:
> > to=<SRS0=c0k5=AA=gmail.com=test-user at example.com>, relay=local,
> > delay=0.16, delays=0.07/0.04/0/0.04, dsn=5.1.1, status=bounced
> > (unknown user: "srs0=c0k5=aa=gmail.com=test-user")
>
> It looks like the vacation reply message was generated. The message with
> message-id=<cmu-sieve-2197-1504117453-0 at mail.example.com> looks like the one.
> The message queue ID was 44AD120A4, then 5FDD3206A and then 74C8020A4.
> It was bounced with error "status=bounced (unknown user:
> "srs0=c0k5=aa=gmail.com=test-user")".
> The next step of the investigation should continue to understand why external
> email coming to your server looks like coming from the internal domain:
> to=<SRS0=c0k5=AA=gmail.com=test-user at example.com>
> example.com is your internal domain?
>
> Liutauras
> -------------- next part --------------
> A non-text attachment was scrubbed...
> Name: signature.asc
> Type: application/pgp-signature
> Size: 473 bytes
> Desc: This is a digitally signed message part.
> URL: <http://lists.kolab.org/pipermail/users/attachments/20170831/7770faba/attachment.sig>
Thanks for your insight, Liutauras.
> example.com is your internal domain?
Yes, example.com in my log snippets is my internal domain. I used
gmail.com to redact the external domain.
> The next step of the investigation should continue to understand why external
> email coming to your server looks like coming from the internal domain:
> to=<SRS0=c0k5=AA=gmail.com=test-user at example.com>
I agree.
Is it safe the say that cyrus will never rewrite the email addresses
in this fashion? I wouldn't even know how to turn such a feature on if
cyrus was capable.
Maybe this issue might be with an external utility I've tacked on to the
kolab installation. I do use Scrollout F1 as my spam filter. I'll dig
through the logs and manual for it and see if it's capable of this
behavior.
Homer Dokes
More information about the users
mailing list