<html><head><meta http-equiv="Content-Type" content="text/html charset=utf-8"></head><body style="word-wrap: break-word; -webkit-nbsp-mode: space; -webkit-line-break: after-white-space;" class="">Hello everybody,<div class=""><br class=""></div><div class="">lately in my company we’ve been working at a roundcube storage engine which allow roundcube to hook directly into dbmail (<a href="http://dbmail.org" class="">http://dbmail.org</a>) database engine bypassing all the IMAP stuff.</div><div class=""><br class=""></div><div class="">Everything basically is working great (you can check our work at <a href="https://github.com/skeyby/roundcube-dbmail" class="">https://github.com/skeyby/roundcube-dbmail</a> if you like) right now, but we have a general problem I’d like to ask you about.</div><div class=""><br class=""></div><div class="">The problem lies in the PEAR libraries that are included in round cube’s composer.json. </div><div class=""><br class=""></div><div class=""><ol class="MailOutline"><li class="">We’ve seen roundcube is currently hooked to a (wrong) fork of Pear Mail mimeDecode). I say wrong because it’s a not official fork, PHP4 based, that doesn’t implement some of the functions that are available in official PEAR’s Mail mimeDecode. Furthermore the author of the fork has just published on his github that the fork will be soon cancelled because it’s not maintained anymore. In our plugin’s installation procedure we wrote instruction to change composer.json to map the official Pear Repository but that doesn’t seems like a good approach [1]… To give you some additional information Roundcube itself seems to work perfectly with the official PEAR Mail mimeDecode, so I really don’t understand why using the other one.</li><li class="">Yesterday we run composer update on our installation of roundcube and Pear NET_SMTP got updated. Major highlights of the new version is the removal of the old PHP4 methods. That means that Net_SMTP::_send is gone, thus if you upgrade PEAR roundcube stops working. Same things happens with official PEAR Mail_mime that went from 1.8.9 to 1.9.0 RC and broke something else (I lost the log for that, sorry). We solved that by changing composer.json once again but…… [2]</li></ol><div class=""><br class=""></div></div><div class="">Last thing I’m a bit confused about the fact that the official libraries are uppercased and the forked ones are lower case - we didn’t hit any problem with that, but I must admit that I’m a bit uncomfortable with that.</div><div class=""><br class=""></div><div class="">Thank you for any information you can provide us on the topic.</div><div class=""><div apple-content-edited="true" class=""><div style="orphans: auto; text-align: start; text-indent: 0px; widows: auto; word-wrap: break-word; -webkit-nbsp-mode: space; -webkit-line-break: after-white-space;" class=""><div style="orphans: auto; text-align: start; text-indent: 0px; widows: auto; word-wrap: break-word; -webkit-nbsp-mode: space; -webkit-line-break: after-white-space;" class=""><div style="orphans: auto; text-align: start; text-indent: 0px; widows: auto; word-wrap: break-word; -webkit-nbsp-mode: space; -webkit-line-break: after-white-space;" class=""><div style="orphans: auto; text-align: start; text-indent: 0px; widows: auto; word-wrap: break-word; -webkit-nbsp-mode: space; -webkit-line-break: after-white-space;" class=""><div style="orphans: auto; text-align: start; text-indent: 0px; widows: auto; word-wrap: break-word; -webkit-nbsp-mode: space; -webkit-line-break: after-white-space;" class=""><pre style="color: rgb(0, 0, 0); font-variant: normal; letter-spacing: normal; line-height: normal; text-transform: none; white-space: normal; word-spacing: 0px; -webkit-text-stroke-width: 0px;" class=""><br class=""></pre><pre style="color: rgb(0, 0, 0); font-variant: normal; letter-spacing: normal; line-height: normal; text-transform: none; white-space: normal; word-spacing: 0px; -webkit-text-stroke-width: 0px;" class=""><span style="font-family: 'Open Sans';" class="">[1]</span></pre><pre class=""><ul style="color: rgb(51, 51, 51); font-variant: normal; letter-spacing: normal; line-height: 25px; text-transform: none; white-space: normal; word-spacing: 0px; -webkit-text-stroke-width: 0px; box-sizing: border-box; padding: 0px 0px 0px 2em; margin-top: 0px; margin-bottom: 16px; background-color: rgb(255, 255, 255);" class=""><li style="box-sizing: border-box;" class=""><font face="Open Sans" class="">change: "pear/mail_mime-decode": ">=1.5.5",</font></li><li style="box-sizing: border-box;" class=""><font face="Open Sans" class="">to: "<a href="http://pear-pear.php.net/Mail_mimeDecode" class="">pear-pear.php.net/Mail_mimeDecode</a>": ">=1.5.5"</font></li></ul><div style="color: rgb(0, 0, 0); font-variant: normal; letter-spacing: normal; line-height: normal; text-transform: none; white-space: normal; word-spacing: 0px; -webkit-text-stroke-width: 0px;" class=""><font face="Open Sans" class="">[2]</font></div><div class=""><ul style="box-sizing: border-box; padding: 0px 0px 0px 2em; margin-top: 0px; margin-bottom: 16px; background-color: rgb(255, 255, 255);" class=""><li style="color: rgb(51, 51, 51); font-variant: normal; letter-spacing: normal; line-height: 25px; text-transform: none; white-space: normal; word-spacing: 0px; -webkit-text-stroke-width: 0px; box-sizing: border-box;" class=""><font face="Open Sans" class="">change: "pear/mail_mime": ">=1.8.9",</font></li><li style="box-sizing: border-box;" class=""><font face="Open Sans" class=""><font color="#333333" class=""><span style="line-height: 25px; white-space: normal;" class="">to: "pear/mail_mime": “1.8.9”,</span></font></font></li><li style="box-sizing: border-box;" class=""><font face="Open Sans" class=""><font color="#333333" class=""><span style="line-height: 25px; white-space: normal;" class="">add </span></font></font><font color="#333333" face="Open Sans" class=""><span style="line-height: 25px; white-space: normal;" class="">"<a href="http://pear-pear.php.net/Mail_Mime" class="">pear-pear.php.net/Mail_Mime</a>": "1.8.9",</span></font></li></ul><div style="color: rgb(0, 0, 0); font-variant: normal; letter-spacing: normal; line-height: normal; text-transform: none; white-space: normal; word-spacing: 0px; -webkit-text-stroke-width: 0px;" class=""><br class=""></div></div><div style="color: rgb(0, 0, 0); font-variant: normal; letter-spacing: normal; line-height: normal; text-transform: none; white-space: normal; word-spacing: 0px; -webkit-text-stroke-width: 0px;" class=""><font face="Open Sans" class=""><br class=""></font></div></pre><pre style="color: rgb(0, 0, 0); font-variant: normal; letter-spacing: normal; line-height: normal; text-transform: none; white-space: normal; word-spacing: 0px; -webkit-text-stroke-width: 0px;" class=""><font face="Open Sans" class="">-------</font></pre><pre style="color: rgb(0, 0, 0); font-variant: normal; letter-spacing: normal; line-height: normal; text-transform: none; white-space: normal; word-spacing: 0px; -webkit-text-stroke-width: 0px; font-size: 12px; font-weight: normal; font-style: normal;" class=""><strong style="white-space: normal;" class=""><font face="Lucida Sans" class="">Andrea Brancatelli</font></strong></pre></div></div></div></div></div></div></div></body></html>