Author Topic: [SOLVED] Fresh installation doesn't list any e-mails in the IMAP folders  (Read 6558 times)

Offline avendre

  • Jr. Member
  • **
  • Posts: 15
Hi,  I have an IMAP server which was (and still is) working fine when people use a mail client.  I decided to offer a web interface and installed Roundcube.  I have gotten it to the point where I can login and it will list the folders, but it doesn't list any e-mails.  The logs (access and errors) don't show any issues, so I enabled IMAP debug.  Here is the output:

[07-Oct-2017 03:25:53 +0000]: <9eba626l> [14A2] S: * OK [CAPABILITY IMAP4rev1 LITERAL+ SASL-IR LOGIN-REFERRALS ID ENABLE IDLE AUTH=PLAIN AUTH=LOGIN] Dovecot ready.
[07-Oct-2017 03:25:53 +0000]: <9eba626l> [14A2] C: A0001 ID ("name" "Roundcube" "version" "1.3.1 " "php" "7.1.10-1+ubuntu16.04.1+deb.sury.org+1" "os" "Linux" "command" "/?_task=login")
[07-Oct-2017 03:25:53 +0000]: <9eba626l> [14A2] S: * ID ("name" "Dovecot")
[07-Oct-2017 03:25:53 +0000]: <9eba626l> [14A2] S: A0001 OK ID completed.
[07-Oct-2017 03:25:53 +0000]: <9eba626l> [14A2] C: A0002 AUTHENTICATE PLAIN ****** [57]
[07-Oct-2017 03:25:53 +0000]: <9eba626l> [14A2] S: A0002 OK [CAPABILITY IMAP4rev1 LITERAL+ SASL-IR LOGIN-REFERRALS ID ENABLE IDLE SORT SORT=DISPLAY THREAD=REFERENCES THREAD=REFS THREAD=ORDEREDSUBJECT MULTIAPPEND URL-PARTIAL CATENATE UNSELECT CHILDREN NAMESPACE UIDPLUS LIST-EXTENDED I18NLEVEL=1 CONDSTORE QRESYNC ESEARCH ESORT SEARCHRES WITHIN CONTEXT=SEARCH LIST-STATUS BINARY MOVE SPECIAL-USE] Logged in
[07-Oct-2017 03:25:53 +0000]: <9eba626l> [14A2] C: A0003 NAMESPACE
[07-Oct-2017 03:25:53 +0000]: <9eba626l> [14A2] S: * NAMESPACE (("" "/")) NIL NIL
[07-Oct-2017 03:25:53 +0000]: <9eba626l> [14A2] S: A0003 OK Namespace completed.
[07-Oct-2017 03:25:53 +0000]: <9eba626l> [14A2] C: A0004 LIST (SPECIAL-USE) "" "*" RETURN (SUBSCRIBED)
[07-Oct-2017 03:25:53 +0000]: <9eba626l> [14A2] S: * LIST (\Subscribed \Drafts) "/" Drafts
[07-Oct-2017 03:25:53 +0000]: <9eba626l> [14A2] S: * LIST (\Subscribed \Sent) "/" Sent
[07-Oct-2017 03:25:53 +0000]: <9eba626l> [14A2] S: A0004 OK List completed (0.000 + 0.000 secs).
[07-Oct-2017 03:25:53 +0000]: <kqi3lm2j> [14A2] C: A0005 LOGOUT
[07-Oct-2017 03:25:53 +0000]: <kqi3lm2j> [14A2] S: * BYE Logging out
[07-Oct-2017 03:25:53 +0000]: <kqi3lm2j> [14A2] S: A0005 OK Logout completed.
[07-Oct-2017 03:25:53 +0000]: <kqi3lm2j> [F400] S: * OK [CAPABILITY IMAP4rev1 LITERAL+ SASL-IR LOGIN-REFERRALS ID ENABLE IDLE AUTH=PLAIN AUTH=LOGIN] Dovecot ready.
[07-Oct-2017 03:25:53 +0000]: <kqi3lm2j> [F400] C: A0001 ID ("name" "Roundcube" "version" "1.3.1 " "php" "7.1.10-1+ubuntu16.04.1+deb.sury.org+1" "os" "Linux" "command" "/?_task=mail&_token=RN6ZYmUNhXvcgGXrx4jcZCw4crgtIGUW&_token=1B4dPmE59br7SN5ODYvhwFVheaQMp8d8")
[07-Oct-2017 03:25:53 +0000]: <kqi3lm2j> [F400] S: * ID ("name" "Dovecot")
[07-Oct-2017 03:25:53 +0000]: <kqi3lm2j> [F400] S: A0001 OK ID completed.
[07-Oct-2017 03:25:53 +0000]: <kqi3lm2j> [F400] C: A0002 AUTHENTICATE PLAIN ****** [57]
[07-Oct-2017 03:25:53 +0000]: <kqi3lm2j> [F400] S: A0002 OK [CAPABILITY IMAP4rev1 LITERAL+ SASL-IR LOGIN-REFERRALS ID ENABLE IDLE SORT SORT=DISPLAY THREAD=REFERENCES THREAD=REFS THREAD=ORDEREDSUBJECT MULTIAPPEND URL-PARTIAL CATENATE UNSELECT CHILDREN NAMESPACE UIDPLUS LIST-EXTENDED I18NLEVEL=1 CONDSTORE QRESYNC ESEARCH ESORT SEARCHRES WITHIN CONTEXT=SEARCH LIST-STATUS BINARY MOVE SPECIAL-USE] Logged in
[07-Oct-2017 03:25:53 +0000]: <kqi3lm2j> [F400] C: A0003 LIST (SUBSCRIBED) "" "*"
[07-Oct-2017 03:25:53 +0000]: <kqi3lm2j> [F400] S: * LIST (\Subscribed) "/" "Sent Items"
[07-Oct-2017 03:25:53 +0000]: <kqi3lm2j> [F400] S: * LIST (\Subscribed) "/" "Deleted Items"
[07-Oct-2017 03:25:53 +0000]: <kqi3lm2j> [F400] S: * LIST (\Subscribed) "/" Drafts
[07-Oct-2017 03:25:53 +0000]: <kqi3lm2j> [F400] S: * LIST (\Subscribed) "/" "Junk Email"
[07-Oct-2017 03:25:53 +0000]: <kqi3lm2j> [F400] S: * LIST (\Subscribed) "/" Sent
[07-Oct-2017 03:25:53 +0000]: <kqi3lm2j> [F400] S: A0003 OK List completed (0.000 + 0.000 secs).
[07-Oct-2017 03:25:53 +0000]: <kqi3lm2j> [F400] C: A0004 LOGOUT
[07-Oct-2017 03:25:53 +0000]: <kqi3lm2j> [F400] S: * BYE Logging out
[07-Oct-2017 03:25:53 +0000]: <kqi3lm2j> [F400] S: A0004 OK Logout completed.
[07-Oct-2017 03:25:53 +0000]: <kqi3lm2j> [6F5B] S: * OK [CAPABILITY IMAP4rev1 LITERAL+ SASL-IR LOGIN-REFERRALS ID ENABLE IDLE AUTH=PLAIN AUTH=LOGIN] Dovecot ready.
[07-Oct-2017 03:25:53 +0000]: <kqi3lm2j> [6F5B] C: A0001 ID ("name" "Roundcube" "version" "1.3.1 " "php" "7.1.10-1+ubuntu16.04.1+deb.sury.org+1" "os" "Linux" "command" "/program/js/jquery.min.js")
[07-Oct-2017 03:25:53 +0000]: <kqi3lm2j> [6F5B] S: * ID ("name" "Dovecot")
[07-Oct-2017 03:25:53 +0000]: <kqi3lm2j> [6F5B] S: A0001 OK ID completed.
[07-Oct-2017 03:25:53 +0000]: <kqi3lm2j> [6F5B] C: A0002 AUTHENTICATE PLAIN ****** [57]
[07-Oct-2017 03:25:53 +0000]: <kqi3lm2j> [6F5B] S: A0002 OK [CAPABILITY IMAP4rev1 LITERAL+ SASL-IR LOGIN-REFERRALS ID ENABLE IDLE SORT SORT=DISPLAY THREAD=REFERENCES THREAD=REFS THREAD=ORDEREDSUBJECT MULTIAPPEND URL-PARTIAL CATENATE UNSELECT CHILDREN NAMESPACE UIDPLUS LIST-EXTENDED I18NLEVEL=1 CONDSTORE QRESYNC ESEARCH ESORT SEARCHRES WITHIN CONTEXT=SEARCH LIST-STATUS BINARY MOVE SPECIAL-USE] Logged in
[07-Oct-2017 03:25:53 +0000]: <kqi3lm2j> [6F5B] C: A0003 LIST (SUBSCRIBED) "" "*"
[07-Oct-2017 03:25:53 +0000]: <kqi3lm2j> [6F5B] S: * LIST (\Subscribed) "/" "Sent Items"
[07-Oct-2017 03:25:53 +0000]: <kqi3lm2j> [6F5B] S: * LIST (\Subscribed) "/" "Deleted Items"
[07-Oct-2017 03:25:53 +0000]: <kqi3lm2j> [6F5B] S: * LIST (\Subscribed) "/" Drafts
[07-Oct-2017 03:25:53 +0000]: <kqi3lm2j> [6F5B] S: * LIST (\Subscribed) "/" "Junk Email"
[07-Oct-2017 03:25:53 +0000]: <kqi3lm2j> [6F5B] S: * LIST (\Subscribed) "/" Sent
[07-Oct-2017 03:25:53 +0000]: <kqi3lm2j> [6F5B] S: A0003 OK List completed (0.000 + 0.000 secs).
[07-Oct-2017 03:25:53 +0000]: <kqi3lm2j> [6F5B] C: A0004 LOGOUT
[07-Oct-2017 03:25:53 +0000]: <kqi3lm2j> [6F5B] S: * BYE Logging out
[07-Oct-2017 03:25:53 +0000]: <kqi3lm2j> [6F5B] S: A0004 OK Logout completed.


The dovecot logs don't show any warning or errors.  The only thing I seem to notice is that the connection was closed within 1 second
Oct 07 03:25:53 imap-login: Debug: SSL: where=0x10, ret=1: before/accept initialization [88.188.188.188]
Oct 07 03:25:53 imap-login: Debug: SSL: where=0x2001, ret=1: before/accept initialization [88.188.188.188]
Oct 07 03:25:53 imap-login: Debug: SSL: where=0x2001, ret=1: unknown state [88.188.188.188]
Oct 07 03:25:53 imap-login: Debug: SSL: where=0x2001, ret=1: unknown state [88.188.188.188]
Oct 07 03:25:53 imap-login: Debug: SSL: where=0x2001, ret=1: unknown state [88.188.188.188]
Oct 07 03:25:53 imap-login: Debug: SSL: where=0x2001, ret=1: unknown state [88.188.188.188]
Oct 07 03:25:53 imap-login: Debug: SSL: where=0x2001, ret=1: unknown state [88.188.188.188]
Oct 07 03:25:53 imap-login: Debug: SSL: where=0x2001, ret=1: unknown state [88.188.188.188]
Oct 07 03:25:53 imap-login: Debug: SSL: where=0x2001, ret=1: unknown state [88.188.188.188]
Oct 07 03:25:53 imap-login: Debug: SSL: where=0x2002, ret=-1: unknown state [88.188.188.188]
Oct 07 03:25:53 imap-login: Debug: SSL: where=0x2002, ret=-1: unknown state [88.188.188.188]
Oct 07 03:25:53 imap-login: Debug: SSL: where=0x2001, ret=1: unknown state [88.188.188.188]
Oct 07 03:25:53 imap-login: Debug: SSL: where=0x2001, ret=1: unknown state [88.188.188.188]
Oct 07 03:25:53 imap-login: Debug: SSL: where=0x2001, ret=1: unknown state [88.188.188.188]
Oct 07 03:25:53 imap-login: Debug: SSL: where=0x2001, ret=1: unknown state [88.188.188.188]
Oct 07 03:25:53 imap-login: Debug: SSL: where=0x2001, ret=1: unknown state [88.188.188.188]
Oct 07 03:25:53 imap-login: Debug: SSL: where=0x2001, ret=1: unknown state [88.188.188.188]
Oct 07 03:25:53 imap-login: Debug: SSL: where=0x2001, ret=1: unknown state [88.188.188.188]
Oct 07 03:25:53 imap-login: Debug: SSL: where=0x20, ret=1: SSL negotiation finished successfully [88.188.188.188]
Oct 07 03:25:53 imap-login: Debug: SSL: where=0x2002, ret=1: SSL negotiation finished successfully [88.188.188.188]
Oct 07 03:25:53 imap-login: Info: Login: user=<username@example.com>, method=PLAIN, rip=88.188.188.188, lip=172.31.29.197, mpid=25357, TLS
Oct 07 03:25:53 imap(username@example.com): Debug: Effective uid=5000, gid=5000, home=/data/mail/sdbox/example.com/username
Oct 07 03:25:53 imap(username@example.com): Debug: Namespace inbox: type=private, prefix=, sep=, inbox=yes, hidden=no, list=yes, subscriptions=yes location=sdbox:/data/mail/sdbox/example.com/username:UTF-8
Oct 07 03:25:53 imap(username@example.com): Debug: fs: root=/data/mail/sdbox/example.com/username, index=, indexpvt=, control=, inbox=, alt=
Oct 07 03:25:53 imap(username@example.com): Info: Logged out in=82 out=591
Oct 07 03:25:53 imap-login: Debug: SSL alert: close notify [88.188.188.188]
Oct 07 03:25:53 imap-login: Debug: SSL: where=0x10, ret=1: before/accept initialization [88.188.188.188]
Oct 07 03:25:53 imap-login: Debug: SSL: where=0x2001, ret=1: before/accept initialization [88.188.188.188]
Oct 07 03:25:53 imap-login: Debug: SSL: where=0x2001, ret=1: unknown state [88.188.188.188]
Oct 07 03:25:53 imap-login: Debug: SSL: where=0x2001, ret=1: unknown state [88.188.188.188]
Oct 07 03:25:53 imap-login: Debug: SSL: where=0x2001, ret=1: unknown state [88.188.188.188]
Oct 07 03:25:53 imap-login: Debug: SSL: where=0x2001, ret=1: unknown state [88.188.188.188]
Oct 07 03:25:53 imap-login: Debug: SSL: where=0x2001, ret=1: unknown state [88.188.188.188]
Oct 07 03:25:53 imap-login: Debug: SSL: where=0x2001, ret=1: unknown state [88.188.188.188]
Oct 07 03:25:53 imap-login: Debug: SSL: where=0x2001, ret=1: unknown state [88.188.188.188]
Oct 07 03:25:53 imap-login: Debug: SSL: where=0x2002, ret=-1: unknown state [88.188.188.188]
Oct 07 03:25:53 imap-login: Debug: SSL: where=0x2002, ret=-1: unknown state [88.188.188.188]
Oct 07 03:25:53 imap-login: Debug: SSL: where=0x2001, ret=1: unknown state [88.188.188.188]
Oct 07 03:25:53 imap-login: Debug: SSL: where=0x2001, ret=1: unknown state [88.188.188.188]
Oct 07 03:25:53 imap-login: Debug: SSL: where=0x2001, ret=1: unknown state [88.188.188.188]
Oct 07 03:25:53 imap-login: Debug: SSL: where=0x2001, ret=1: unknown state [88.188.188.188]
Oct 07 03:25:53 imap-login: Debug: SSL: where=0x2001, ret=1: unknown state [88.188.188.188]
Oct 07 03:25:53 imap-login: Debug: SSL: where=0x2001, ret=1: unknown state [88.188.188.188]
Oct 07 03:25:53 imap-login: Debug: SSL: where=0x2001, ret=1: unknown state [88.188.188.188]
Oct 07 03:25:53 imap-login: Debug: SSL: where=0x20, ret=1: SSL negotiation finished successfully [88.188.188.188]
Oct 07 03:25:53 imap-login: Debug: SSL: where=0x2002, ret=1: SSL negotiation finished successfully [88.188.188.188]
Oct 07 03:25:53 imap-login: Info: Login: user=<username@example.com>, method=PLAIN, rip=88.188.188.188, lip=172.31.29.197, mpid=25360, TLS
Oct 07 03:25:53 imap(username@example.com): Debug: Effective uid=5000, gid=5000, home=/data/mail/sdbox/example.com/username
Oct 07 03:25:53 imap(username@example.com): Debug: Namespace inbox: type=private, prefix=, sep=, inbox=yes, hidden=no, list=yes, subscriptions=yes location=sdbox:/data/mail/sdbox/example.com/username:UTF-8
Oct 07 03:25:53 imap(username@example.com): Debug: fs: root=/data/mail/sdbox/example.com/username, index=, indexpvt=, control=, inbox=, alt=
Oct 07 03:25:53 imap(username@example.com): Info: Logged out in=44 out=634
Oct 07 03:25:53 imap-login: Debug: SSL alert: close notify [88.188.188.188]
Oct 07 03:25:53 imap-login: Debug: SSL: where=0x10, ret=1: before/accept initialization [88.188.188.188]
Oct 07 03:25:53 imap-login: Debug: SSL: where=0x2001, ret=1: before/accept initialization [88.188.188.188]
Oct 07 03:25:53 imap-login: Debug: SSL: where=0x2002, ret=-1: SSLv2/v3 read client hello A [88.188.188.188]
Oct 07 03:25:53 imap-login: Debug: SSL: where=0x2001, ret=1: unknown state [88.188.188.188]
Oct 07 03:25:53 imap-login: Debug: SSL: where=0x2001, ret=1: unknown state [88.188.188.188]
Oct 07 03:25:53 imap-login: Debug: SSL: where=0x2001, ret=1: unknown state [88.188.188.188]
Oct 07 03:25:53 imap-login: Debug: SSL: where=0x2001, ret=1: unknown state [88.188.188.188]
Oct 07 03:25:53 imap-login: Debug: SSL: where=0x2001, ret=1: unknown state [88.188.188.188]
Oct 07 03:25:53 imap-login: Debug: SSL: where=0x2001, ret=1: unknown state [88.188.188.188]
Oct 07 03:25:53 imap-login: Debug: SSL: where=0x2001, ret=1: unknown state [88.188.188.188]
Oct 07 03:25:53 imap-login: Debug: SSL: where=0x2002, ret=-1: unknown state [88.188.188.188]
Oct 07 03:25:53 imap-login: Debug: SSL: where=0x2002, ret=-1: unknown state [88.188.188.188]
Oct 07 03:25:53 imap-login: Debug: SSL: where=0x2001, ret=1: unknown state [88.188.188.188]
Oct 07 03:25:53 imap-login: Debug: SSL: where=0x2001, ret=1: unknown state [88.188.188.188]
Oct 07 03:25:53 imap-login: Debug: SSL: where=0x2001, ret=1: unknown state [88.188.188.188]
Oct 07 03:25:53 imap-login: Debug: SSL: where=0x2001, ret=1: unknown state [88.188.188.188]
Oct 07 03:25:53 imap-login: Debug: SSL: where=0x2001, ret=1: unknown state [88.188.188.188]
Oct 07 03:25:53 imap-login: Debug: SSL: where=0x2001, ret=1: unknown state [88.188.188.188]
Oct 07 03:25:53 imap-login: Debug: SSL: where=0x2001, ret=1: unknown state [88.188.188.188]
Oct 07 03:25:53 imap-login: Debug: SSL: where=0x20, ret=1: SSL negotiation finished successfully [88.188.188.188]
Oct 07 03:25:53 imap-login: Debug: SSL: where=0x2002, ret=1: SSL negotiation finished successfully [88.188.188.188]
Oct 07 03:25:53 imap-login: Info: Login: user=<username@example.com>, method=PLAIN, rip=88.188.188.188, lip=172.31.29.197, mpid=25363, TLS
Oct 07 03:25:53 imap(username@example.com): Debug: Effective uid=5000, gid=5000, home=/data/mail/sdbox/example.com/username
Oct 07 03:25:53 imap(username@example.com): Debug: Namespace inbox: type=private, prefix=, sep=, inbox=yes, hidden=no, list=yes, subscriptions=yes location=sdbox:/data/mail/sdbox/example.com/username:UTF-8
Oct 07 03:25:53 imap(username@example.com): Debug: fs: root=/data/mail/sdbox/example.com/username, index=, indexpvt=, control=, inbox=, alt=
Oct 07 03:25:53 imap(username@example.com): Info: Logged out in=44 out=634
Oct 07 03:25:53 imap-login: Debug: SSL alert: close notify [88.188.188.188]




The nginx access log similarly doesn't show any errors/warnings.
It actually only has 3 lines for this event:

[07/Oct/2017:03:25:53 +0000] "POST /?_task=login HTTP/2.0" 302 0 "https://mail.example.com/?_task=mail&_token=RN6ZYmUNhXvcgGXrx4jcZCw4crgtIGUW" "Mozilla/5.0 (Windows NT 10.0; WOW64; rv:55.0) Gecko/20100101 Firefox/55.0"
[07/Oct/2017:03:25:53 +0000] "GET /?_task=mail&_token=RN6ZYmUNhXvcgGXrx4jcZCw5crgtIGUW&_token=1B4dPmE59br7SN6ODYvhwFVheaQMp8d8 HTTP/2.0" 200 42545 "https://mail.example.com/?_task=mail&_token=RN6ZYmUNhXvcgGXrx4jcZCw5crgtIGUW" "Mozilla/5.0 (Windows NT 10.0; WOW64; rv:55.0) Gecko/20100101 Firefox/55.0"
[07/Oct/2017:03:25:53 +0000] "GET /program/js/jquery.min.js HTTP/2.0" 200 42545 "https://mail.example.com/?_task=mail&_token=RN6ZYmUNhXvcgGXrx4jcZCw5crgtIGUW&_token=1B4dPmE59br7SN6ODYvhwFVheaQMp8d8" "Mozilla/5.0 (Windows NT 10.0; WOW64; rv:55.0) Gecko/20100101 Firefox/55.0"


Does anybody have any idea what might be going on?

Thank you!
« Last Edit: October 11, 2017, 12:11:03 PM by avendre »

Offline JohnDoh

  • Global Moderator
  • Hero Member
  • *****
  • Posts: 2,850
i don't see any list request there. please check your browser console for js errors or errors loading resources
Roundcube Plugins: Contextmenu, SpamAssassin Prefs, and more…

Offline avendre

  • Jr. Member
  • **
  • Posts: 15
Thank you for the tip.  I didn't realize that I also needed to look for errors/problems on the browser side.  There are effectively errors listed both for JS as well as CSS:

SyntaxError: expected expression, got '<'[Learn More]  jquery.min.js:1
ReferenceError: jQuery is not defined[Learn More]  common.min.js:47:318
ReferenceError: $ is not defined[Learn More]  app.min.js:36:70
ReferenceError: jQuery is not defined[Learn More]  jquery-ui.min.js:6:52
ReferenceError: jQuery is not defined[Learn More]  mail.example.com:517:1


Unknown property ‘user-select’.  Declaration dropped.  styles.min.css:1:934
Error in parsing value for ‘background’.  Declaration dropped.  styles.min.css:1:1933
Error in parsing value for ‘background’.  Declaration dropped.  styles.min.css:1:3724
Error in parsing value for ‘background’.  Declaration dropped.  styles.min.css:1:8196
Error in parsing value for ‘background’.  Declaration dropped.  styles.min.css:1:9077
Expected media feature name but found ‘-webkit-min-device-pixel-ratio’.  styles.min.css:1:15042
Error in parsing value for ‘background’.  Declaration dropped.  styles.min.css:1:24555
Error in parsing value for ‘background’.  Declaration dropped.  styles.min.css:1:29758
Unknown property ‘user-select’.  Declaration dropped.  styles.min.css:1:34767
Missing argument in negation pseudo-class ‘)’.  Ruleset ignored due to bad selector.  styles.min.css:1:44404
Expected ‘none’, URL, or filter function but found ‘Alpha(’.  Error in parsing value for ‘filter’.  Declaration dropped.  jquery-ui.css:52:8
Unknown property ‘user-select’.  Declaration dropped.  jquery-ui.css:293:12
Expected ‘none’, URL, or filter function but found ‘alpha(’.  Error in parsing value for ‘filter’.  Declaration dropped.  jquery-ui.css:742:9
Expected ‘none’, URL, or filter function but found ‘Alpha(’.  Error in parsing value for ‘filter’.  Declaration dropped.  jquery-ui.css:1120:8
Expected ‘none’, URL, or filter function but found ‘Alpha(’.  Error in parsing value for ‘filter’.  Declaration dropped.  jquery-ui.css:1127:8
Expected ‘none’, URL, or filter function but found ‘Alpha(’.  Error in parsing value for ‘filter’.  Declaration dropped.  jquery-ui.css:1131:8
Expected ‘none’, URL, or filter function but found ‘Alpha(’.  Error in parsing value for ‘filter’.  Declaration dropped.  jquery-ui.css:1364:9
Unknown property ‘-moz-box-shadow’.  Declaration dropped.  jquery-ui.css:1393:16
Unknown property ‘-moz-box-shadow’.  Declaration dropped.  jquery-ui.css:1412:16
Unknown property ‘-moz-box-shadow’.  Declaration dropped.  jquery-ui.css:1437:19
Unknown pseudo-class or pseudo-element ‘-ms-expand’.  Ruleset ignored due to bad selector.  jquery-ui.css:1487:44
Unknown property ‘appearance’.  Declaration dropped.  jquery-ui.css:1499:19
Error in parsing value for ‘white-space’.  Declaration dropped.  mail.min.css:1:20735


Unfortunately, I am not sure how to go about fixing these errors.  What do you suggest to do (and hopefully this will fix my initial problem)?

Offline alec

  • Hero Member
  • *****
  • Posts: 1,365
Strange things here. I think it's caused by HTTP/2, so you should disable this in your http server settings.

Offline avendre

  • Jr. Member
  • **
  • Posts: 15
I disabled HTTP/2 but the results are the same.  The logs are basically the same (except to indicate that the connection is now over HTTP1.1).  Given that it didn't help, I re-enabled HTTP/2.  It was worth a shot.  Regarding the missing LIST requests, is my understanding correct that they should be sent from the server which is running Roundcube, but the trigger comes from the javascript running in the browser, which is why it is important to check for errors there?


Offline JohnDoh

  • Global Moderator
  • Hero Member
  • *****
  • Posts: 2,850
it might be nothing but can you check that your jquery.min.js file is correct? coz of this error
Code: [Select]
SyntaxError: expected expression, got '<'[Learn More]  jquery.min.js:1it should be the same as this: https://code.jquery.com/jquery-3.2.1.min.js
Roundcube Plugins: Contextmenu, SpamAssassin Prefs, and more…

Offline avendre

  • Jr. Member
  • **
  • Posts: 15
You are GOOD!  The file jquery.min.js doesn't seem to exist anywhere on this server (neither does jquery-3.2.1.min.js).  The confusing thing from my point of view is that when I go in the browser console where the error is mentioned, there is a hyperlink on "jquery.min.js:1" to allow me to view the file where the error occurred.  When I hover over the hyperlink, it tells me this file is located in https://mail.example.com/programs/js/jquery.min.js (and as pointed out, not only is this file not located there, but I can't find it anywhere on the server).  When I click on the link to view the file, it does bring it up.  I don't know where this file is coming from given that I have cleared the cache from the browser.  I also tried with a different browser (Edge instead of Firefox) and I get the same error messages and it is also able to bring up jquery.min.js

I have attached a copy of the jquery file which the browser said it was able to retrieve.  I have added "mail." as a prefix to the file name.  I have a couple of questions:

1.  The fact that the file is missing from the program/js folder is strange; is it possible other files might be missing?  What do I need to do to fix the problem?

2.  Why was the browser able to retrieve jquery.min.js when it doesn't seem to exist?  Is it generated dynamically from some other script?

Thank you for all your help.

Offline SKaero

  • Administrator
  • Hero Member
  • *****
  • Posts: 5,879
    • SKaero - Custom Roundcube development
The file that you attached isn't jQuery its the html source for Roundcube. Most likely when your server couldn't find the file its configured to display the root of the directory in this case Roundcube. Needless to say since the file isn't jQuery Roundcube wouldn't work.

As for how this happened if I had to guess you downloaded the "Dependent (*)" package of Roundcube which doesn't include files that aren't GPL. To get Roundcube with the required libraries you need the "Complete" package. https://roundcube.net/download/

Offline avendre

  • Jr. Member
  • **
  • Posts: 15
You guys ROCK.  The online instructions (from another website) which I followed mentioned that if I wasn't using the "complete" package, I could install the dependencies by executing a script.  I remember taking a break right around then and I probably thought I had run the script when I came back (when in fact I had not).  So I now redid the installation with the complete package just to be sure.  As for your guess about why the browser was able to pull a file that did not exist, you were correct (I don't know why I didn't think of it).  The server block I created within the nginx config file was initially set to only show/retrieve files which were actually present in the folder.  However, one of the problem I encountered was that during the login step, nginx is reached with "https://mail.example.com/?_task=login".  Since there was no file in the root directory which was called "?_task=login", this meant that I was unable to login.  I figured that this must be some parameters which were being passed to Roundcube's index.php file, so I changed the server block in nginx so that if the file wasn't found, that it would default to the php index and pass the parameters along.  After doing this change, I was able to login, but then I lost the ability to track/generate errors when a file which didn't exist was requested.

Does anyone know if there is a way to setup nginx's server block so that if a file (such as jquery.min,js) doesn't exist it will return an error yet at the same time allow for parameters to be passed to a php script (even if the script is not explicitly mentioned, such as in "https://mail.exmaple.com/?_task=login")?  The current location block (within the server block) which allows me to login on Roundcube but doesn't warn me about missing resources looks like this:

    location / {
      try_files $uri $uri/ /index.php?q=$uri&$args;
   }


In the meantime, I am now able to see the mail in the imap folders.  I can't send e-mails unfortunately, but I will try to see if I can track down the cause and fix it by myself.  If I can't figure it out, I will post something with a new subject line as the initial problem for this thread has been solved and the only loose end is whether or not there is a better way to configure the server block in nginx to work with Roundcube.

Thank you to everyone who helped out!


Offline SKaero

  • Administrator
  • Hero Member
  • *****
  • Posts: 5,879
    • SKaero - Custom Roundcube development
What I use is:
Code: [Select]
try_files $uri $uri/ /index.php?$query_string;

Offline avendre

  • Jr. Member
  • **
  • Posts: 15
Thank you SKaero, but unfortunately your current try_files gives the same result as mine, meaning that if I login and then manually modify the URL to something like "https://mail.example.com/thisfiledoesnotexist.js", the browser will load "index.php" and will not warn me that I tried to access a file/resource which does not exist...

Offline SKaero

  • Administrator
  • Hero Member
  • *****
  • Posts: 5,879
    • SKaero - Custom Roundcube development
Sounds like you have something else else in your Nginx config then thats causing the problem. Can you post your full config?

Offline avendre

  • Jr. Member
  • **
  • Posts: 15
My understanding of the try_files is that the last item is a fallback, meaning that if everything else fails, this is what would be used.  So in the case of the example I provided, nginx would first try to serve "thisfiledoesnotexist.js".  Since there is no such file, it would then try the same filename as a folder.  Finally, since there is no such folder, it would serve index.php with the provided query string.  So it kind of makes sense the index.php would be returned.  In any case, here is a sanitized/shortened version of the config files:

nginx.conf:
----------------------------------------------------------------------

http {
    include       /etc/nginx/mime.types;
    default_type  application/octet-stream;

    log_format  main  '$remote_addr - $remote_user [$time_local] "$request" '
                      '$status $body_bytes_sent "$http_referer" '
                      '"$http_user_agent" "$http_x_forwarded_for"';

    access_log  /var/log/nginx/access.log  main;

    underscores_in_headers on;  ##This might cause some ambiguity with CGI variables but some HTTP headers might be dropped otherwise
   
    ## Index files should be searched in this order
    index  index.html index.htm index.php;
   
    server_tokens off;
    client_body_buffer_size  100K;
    client_header_buffer_size 1k;
    client_max_body_size 100k;
    large_client_header_buffers 2 1k;

    keepalive_timeout 65;
    ssl_prefer_server_ciphers on;
    ssl_session_cache shared:SSL:10m;
    ssl_session_timeout 10m;
    ssl_dhparam /etc/nginx/dhparam/dh2048.pem;
   
    ssl_protocols TLSv1 TLSv1.1 TLSv1.2 TLSv1.3;

    ssl_ciphers 'ECDHE-ECDSA-CHACHA20-POLY1305:ECDHE-RSA-CHACHA20-POLY1305:ECDHE-ECDSA-AES128-GCM-SHA256:ECDHE-RSA-AES128-GCM-SHA256:ECDHE-ECDSA-AES256-GCM-SHA384:ECDHE-RSA-AES256-GCM-SHA384:DHE-RSA-AES128-GCM-SHA256:DHE-RSA-AES256-GCM-SHA384:EECDH+AESGCM:EDH+AESGCM:AES256+EECDH:AES256+EDH:!eNULL';

    add_header X-Frame-Options SAMEORIGIN;
    add_header X-Content-Type-Options nosniff;
    add_header X-XSS-Protection "1; mode=block";

    include /etc/nginx/conf.d/*.conf;
}


conf.d/mail.example.com.conf:
---------------------------------------------------------------------------------------------------------
server {
    listen       80;
    listen      443 ssl http2;

    server_name  mail.example.com;

   ##Redirect http: requests to https:
   ##301 is a permanent redirect, only use this if you are never planning on offering http:
   ##302 is a temporary redirect and would allow changing your mind later on
    if ($scheme != "https") {
        return 301 https://$host$request_uri;
    }

   ##The following can be used to limit request to the following 3 verbs (GET, HEAD, POST)
   ##Anything else (such as DELETE, SEARCH, TRACE, HEAD) would result in an empty response (444)
   if ($request_method !~ ^(GET|HEAD|POST)$) {
      return 444;
   }

    #HSTS Force browsers to use HTTPS for the next max age seconds (180 days)
    add_header Strict-Transport-Security "max-age=15552000; includeSubdomains; ";

    charset utf-8;
    root   /data/nginx/html/mail.example.com/public_html;
    access_log  /var/log/nginx/mail_example_access.log;
    error_log  /var/log/nginx/mail_example_error.log;

    location / {
#      try_files $uri $uri/ /index.php?q=$uri&$args;
      try_files $uri $uri/ /index.php?$query_string;
   }

    # pass the PHP scripts to FastCGI server listening on 127.0.0.1:9000
    #
   location ~ \.php$ {
      fastcgi_pass unix:/run/php/php7.1-fpm.sock;
      include snippets/fastcgi-php.conf;
      fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
   }
   
    # deny access to .htaccess files, if Apache's document root
    # concurs with nginx's one
    #
    location ~ /\.ht {
        deny  all;
    }

   location ~ ^/(README.md|LICENSE|CHANGELOG|UPGRADING)$ {
      deny all;
   }
   location ~ ^/(config|temp|logs)/ {
      deny all;
   }
   

    # redirect server error pages to the static page /50x.html
    #
    error_page   500 502 503 504  /50x.html;
    location = /50x.html {
        root   /data/nginx/html/mail.example.com;
    }
}


Offline SKaero

  • Administrator
  • Hero Member
  • *****
  • Posts: 5,879
    • SKaero - Custom Roundcube development
Sorry your correct here, I'm acutely doing something different which is why it works for me. What I think you want to do is remove the "try_files" line and instead add "index index.php;"

Offline avendre

  • Jr. Member
  • **
  • Posts: 15
[SOLVED] Fresh installation doesn't list any e-mails in the IMAP folders
« Reply #14 on: October 11, 2017, 12:08:52 PM »
Thank you, you were on the right track.  I already had the index statement, so apparently I didn't need to fall back to 'index.php'.  Hence, I have change the try_files statement to look like this:

      try_files $uri $uri/ =404;

This works great.  It passes the parameters to the php files because of the other location block which deal with that type of file and when a resource does not exist, I get the 404 return code.

Thank you again!