<html xmlns="http://www.w3.org/1999/xhtml"><head> <title></title> <meta name="viewport" content="width=device-width, initial-scale=1.0, user-scalable=no"> </head> <body style="font-family:Helvetica;color:#000000;font-size:16px;"><div id="CanaryBody"> <div> Here’s some more information:</div><div><br></div><div>When attemtping to load the filters configuration on Roundcube, I see this in Dovecot’s logs:</div><div><br></div><div>Jun 06 23:25:30 mx1.la1.blah.com dovecot[693354]: managesieve-login: Disconnected: Too many invalid commands. (no auth attempts in 0 secs): user=<>, rip=192.168.30.48, lip=192.168.30.21, session=<5628p9Xg6oTAqB4w><br></div><div><br></div><div>I don’t know if user=<> indicates that the username isn’t being passed properly but it seems like a good guess based on "no auth attempts in 0 secs”.</div><div><br></div><div><br></div><div><br></div><div>My Roundcube configuration looks like this:</div><div><br></div><div><div>$config['managesieve_port'] = 4190;</div><div><br></div><div>$config['managesieve_host'] = 'ssl://mx1.la1.blah.com';</div><div><br></div><div>$config['managesieve_auth_type'] = PLAIN;</div><div><br></div><div>$config['managesieve_auth_cid'] = null;</div><div><br></div><div>$config['managesieve_auth_pw'] = null;</div><div><br></div><div>$config['managesieve_usetls'] = true;</div><div><br></div><div>$config['managesieve_conn_options'] = array(</div><div> 'ssl' => array(</div><div> 'verify_peer' => false,</div><div> 'allow_self_signed' => true,</div><div> ),</div><div> );</div><div>$config['managesieve_conn_options'] = null;</div><div><br></div><div>$config['managesieve_default'] = '/etc/dovecot/sieve/global';</div><div><br></div><div>$config['managesieve_script_name'] = 'managesieve';</div><div><br></div><div>$config['managesieve_mbox_encoding'] = 'UTF-8';</div><div><br></div><div>$config['managesieve_replace_delimiter'] = '';</div><div><br></div><div>$config['managesieve_disabled_extensions'] = [];</div><div><br></div><div>$config['managesieve_debug'] = true;</div><div><br></div><div>$config['managesieve_kolab_master'] = false;</div><div><br></div><div>$config['managesieve_filename_extension'] = '.sieve';</div><div><br></div><div>$config['managesieve_filename_exceptions'] = [];</div><div><br></div><div>$config['managesieve_domains'] = [];</div><div><br></div><div>$config['managesieve_default_headers'] = ['Subject', 'From', 'To'];</div><div><br></div><div>$config['managesieve_vacation'] = 0;</div><div><br></div><div>$config['managesieve_forward'] = 0;</div><div><br></div><div>$config['managesieve_vacation_interval'] = 0;</div><div><br></div><div>$config['managesieve_vacation_addresses_init'] = false;</div><div><br></div><div>$config['managesieve_vacation_from_init'] = false;</div><div><br></div><div>$config['managesieve_notify_methods'] = ['mailto'];</div><div><br></div><div>$config['managesieve_raw_editor'] = true;</div><div><br></div><div>$config['managesieve_disabled_actions'] = [];</div><div><br></div><div>$config['managesieve_allowed_hosts'] = null;</div></div> <div><br></div><div><br></div><div>My dovecot configuration looks like this:</div><div><br></div><div><div>netstat -tanp | grep 419</div><div>tcp 0 0 0.0.0.0:4190 0.0.0.0:* LISTEN 693351/dovecot</div><div>tcp6 0 0 :::4190 :::* LISTEN 693351/dovecot</div></div><div><br></div><div><br></div><div><div>from roundcube host to dovecot host:</div><div><br></div><div>telnet mx1.la1.blah.com 4190</div><div>Trying 192.168.30.21...</div><div>Connected to mx1.la1.blah.com.</div><div>Escape character is '^]'.</div><div>"IMPLEMENTATION" "Dovecot Pigeonhole"</div><div>"SIEVE" "fileinto reject envelope encoded-character vacation subaddress comparator-i;ascii-numeric relational regex imap4flags copy include variables body enotify environment mailbox date index ihave duplicate mime foreverypart extracttext"</div><div>"NOTIFY" "mailto"</div><div>"SASL" ""</div><div>"STARTTLS"</div><div>"VERSION" "1.0"</div><div>OK "Dovecot ready.”</div></div><div><br></div><div><br></div><div><br></div><div><div>90-sieve.conf:</div><div><br></div><div>plugin {<br></div><div> sieve = file:~/sieve;active=~/.dovecot.sieve</div><div></div><div> recipient_delimiter = +</div><div>}</div></div><div><br></div><div><div>20-managesieve.conf:</div><div><br></div><div>protocols = $protocols sieve</div><div><br></div><div>service managesieve-login {</div><div> inet_listener sieve {</div><div> port = 4190</div><div> }</div><div>}<br></div><div><br></div><div>protocol sieve {<br></div><div>}<br></div></div><div><br></div><div><br></div><div><div>20-lmtp.conf:</div><div><br></div><div>protocol lmtp {<br></div><div> mail_plugins = $mail_plugins sieve</div><div>}</div></div><div><br></div><div><br></div><div>Postfix config:</div><div><div><br></div><div>mailbox_transport = lmtp:unix:private/dovecot-lmtp</div><div>local_transport = lmtp:unix:private/dovecot-lmtp</div></div><div><br></div><div><br></div><div>Thanks for your help.</div><div>-jeremy</div><div><br></div><div><br></div><div><br></div> </div> <div id="CanarySig"> <div> <div style="font-family:Helvetica;"><br></div> <div><br></div> </div> </div> <div id="CanaryDropbox"> </div> <blockquote id="CanaryBlockquote"> <div> <div>On Monday, Jun 06, 2022 at 12:59 AM, Vladislav Kurz <<a href="mailto:vladislav.kurz@webstep.net">vladislav.kurz@webstep.net</a>> wrote:<br></div> <div>Dne 05. 06. 22 v 4:27 Jeremy Hansen napsal(a): <br><blockquote type="cite">Any pointers to get dovecot configured with sieve for Roundcube filters? <br> Things I’ve found through search seem a bit all over the place. I’m <br>using CentOS 8/Rocky Linux hosts. <br> <br>Thanks <br> <br> <br> <br></blockquote> <br>managesieve plugin for roundcube should be able to configure sieve <br>scripts if you open sieve port on dovecot. <br> <br>-- <br>Best regards <br> Vladislav Kurz <br> <br></div> </div> </blockquote> </body></html>