Mailuser interface

Discussion in 'Plugins/Modules/Addons' started by Horfic, Aug 23, 2009.

?

Would you like to see a mailuser interface for Roundcube & Squirrelmail?

  1. Yes

    220 vote(s)
    98.7%
  2. No

    3 vote(s)
    1.3%
  1. Horfic

    Horfic Member

    As it is highly requested that a mailuser interface has to be made. I would like to code one for Roundcube, furthermore extending the roundcube addon for ISPConfig to a full mail user interface and also a version for the Squirrelmail.

    I know it wouldn't be a mailuser interface in ISPConfig, but wouldn't it be better when the mailuser just has to know one url where he can check his mail and change his settings?

    When that would be fine i would start pretty fast with the addons.

    @ISPConfig team
    Will the Remote API and the package system be finished with the new ISPConfig 3.0.1.4?

    PS: If somebody wants to help, just contact me.
     
  2. till

    till Super Moderator Staff Member ISPConfig Developer

    Would be great to have a plugin for roundcube for this as I see this as a better solution then integrating this in ISPConfig itself.

    The package system is already finished since 3.0.1.
    The remoting API might be in 3.0.1.4 if the code all works, if there are problems it might be delayed until 3.0.2.
     
  3. Horfic

    Horfic Member

    So theoretically i could work with remote api from the svn?
    Would make work much easier.

    I think i will implement:
    *) Vacation
    *) Forward
    *) Password changer
    *) Filter rules
    *) Spam control

    I won't do the alias, because i think this is a thing what only a admin should be able to do.
    But maybe i will add also the fetchmail.

    Of course there will be an option to switch the features on or off per user
     
    Last edited: Aug 23, 2009
  4. till

    till Super Moderator Staff Member ISPConfig Developer

    The complete remoting API will be in SVN in a few days. You should use the remoting API for this as using your own functions might make your plugin incompatible when a new ispconfig version gets released were the table layout is changed.
     
  5. Horfic

    Horfic Member

    I know i should use it, but it wasn't finished when i wrote my plugin. So what else was I suppost to do?
     
  6. till

    till Super Moderator Staff Member ISPConfig Developer

    Maybe you could have added the functions that were missing at that time to the remoting library instead of adding them to the roundcube code.
     
  7. Horfic

    Horfic Member

    How do I get the informations like domain_id, mail_id, etc from the api, so I can finish it and release it in view days.
     
  8. till

    till Super Moderator Staff Member ISPConfig Developer

    I guess we will have to specify a few lookup functions in the remoting API for that which enable searching by domain name etc.
     
  9. Horfic

    Horfic Member

    Because none of my beta testers really wrote some feedback back. I decided to make it an open beta!

    This is version is just for testing purposes! No Warranty!
    ONLY FOR ROUNCUBE 0.3 or above

    Installation:
    1.) Upgrade your system from the SVN.
    2.) Create a remote user in the ISPConfig panel.
    3.) Go to your phpmyadmin and into the ISPConfig database
    4.) Go to the table remote_user and edit the user you just created.
    5.) Edit the remote_functions to the following:

    mail_user_get,mail_user_update,mail_alias_get,mail_forward_get,mail_forward_add,mail_forward_update,mail_spamfilter_user_get,mail_spamfilter_user_add,mail_spamfilter_user_update

    6.) Copy the plugins to your Roundcube plugin folder
    7.) Enable the plugins in the Roundcube config file

    CAUTION: The account plugin is required for all other plugins.

    8.) Test, Write your feedback and enjoy^^

    PS: You are welcome to translate them.

    EDIT--------------------------
    Attachment deleted!

    Instructions and download are found here: http://howtoforge.com/forums/showpost.php?p=213239&postcount=20
     
    Last edited: Dec 28, 2009
  10. Horfic

    Horfic Member

    Last edited: Dec 28, 2009
  11. Horfic

    Horfic Member

    @Till or Falko
    Could you please add for the next version the get functions of the remote api to the remote user add function in the ISPConfig Panel.

    It is only adding the update,add and delete, but never the get.
     
  12. moglia

    moglia New Member

    The sql to update!

    update remote_user set remote_functions='mail_user_get,mail_user_update,mail_alias_get,mail _forward_get,mail_forward_add,mail_forward_update, mail_spamfilter_user_get,mail_spamfilter_user_add, mail_spamfilter_user_update' where remote_username='<<YOURUSERNAMEHERE!>>';
     
  13. Horfic

    Horfic Member

    NEW UPDATE!

    Fix for the Password, Autoresponder and Spam plugin.

    -----------------------------------------------
    Known bugs:

    [SPAM]
    Bug: When there is already a Spamuser for the email then you will receive the error duplicated insert.
    Solution: Just delete the Spamuser. The Plugin is at the moment always trying at the first start to create a new one.


    EDIT--------------------------
    Attachment deleted!

    Instructions and download are found here: http://howtoforge.com/forums/showpost.php?p=213239&postcount=20
     
    Last edited: Dec 28, 2009
  14. cyaneo

    cyaneo New Member

    I followed your manual...

    ...and now?

    Where should I see what (at this time, I see no changes in ISP nor in RC)?

    Regards!
     
  15. Horfic

    Horfic Member

  16. cyaneo

    cyaneo New Member

    Now it works, thank you!
     
  17. acumen

    acumen New Member

    sorry that I don't really know how to config... since I already use rcmail in the most simply way.

    I added a remote user in ispconfig, granted permission, copied the 4 folders in plugins. Then..? where should I put the remote user's name and password to? where can I activate the plugins?

    Thanks.
     
  18. NeeChee

    NeeChee New Member

    With General and Spam tabs, I get:

    Soap Error: you do not have permission to access this function roundcube

    The other two work fine, like as they can retrieve the quickreply message and such, but changing stuff won't apply... I have entered the correct remote user details and the database record contains: "mail_user_get, mail_user_update, mail_alias_get, mail_forward_get, mail_forward_add, mail_forward_update, mail_spamfilter_user_get, mail_spamfilter_user_add, mail_spamfilter_user_update".
     
    Last edited: Dec 10, 2009
  19. NeeChee

    NeeChee New Member

    Got it solved now. Used this SQL-query:
    Code:
    UPDATE `remote_user` SET `remote_functions` = 'mail_user_get,mail_user_update,mail_alias_get,mail_forward_get,mail_forward_add,mail_forward_update,mail_spamfilter_user_get,mail_spamfilter_user_add,mail_spamfilter_user_update' WHERE `remote_user`.`remote_username` = '<<!<<YOUR NAME HERE>>!>>' LIMIT 1 ;
    I have also translated it to Dutch:
     

    Attached Files:

    Last edited: Dec 10, 2009
  20. NeeChee

    NeeChee New Member

    Below are the installation instructions for the Mailuser plugins for Roundcube mail 0.3.x combined with ISPconfig 3.

    Table of contents
    • Installation instructions
    • Troubleshooting and FAQ
      • (SOAP) Errors
      • Subversion (SVN)
      • Support
      • Other
    • Current Plugins Status
      • Current plugins included
      • Current languages supported
    • Disclaimer


    Installation instructions
    Assuming you have already installed Roundcube, follow the instructions below. If not, please download and install roundcube from http://roundcube.net/.

    1.
    Make sure you are using the latest ISPconfig. (Currently 3.0.1.6) Check http://www.howtoforge.com/forums/showthread.php?t=40183 for update instructions to 3.0.1.6

    2.
    Go to your ISPconfig panel and add a new remote user. (Tab "servers" > "Remote users") Don't tick any of the function checkboxes and remember the user's details.

    3.
    Go to PHPmyAdmin and execute the following MySQL-query on your ispconfig database. Don't forget to edit the remote username in the query.
    Code:
    UPDATE `remote_user` SET `remote_functions` = 'mail_user_get,mail_user_update,mail_alias_get,mail_forward_get,mail_forward_add,mail_forward_update,mail_spamfilter_user_get,mail_spamfilter_user_add,mail_spamfilter_user_update,mail_fetchmail_get,mail_fetchmail_add,mail_fetchmail_update,mail_fetchmail_delete,mail_user_filter_get,mail_user_filter_add,mail_user_filter_update,mail_user_filter_delete' WHERE `remote_user`.`remote_username` = '<<REMOTE USERNAME>>' LIMIT 1 ;
    4.
    Note that the SVN version is the most up-to-date version of the plugins and should at any time be preferred over the archived form. Old (archived) versions which are online can harm or misconfigure your system and are NOT supported!

    Now download the latest ispconfig3-plugin package for roundcube 0.3.x. SVN users can check out http://svn.web-wack.at/ispconfig3_roundcube3/.

    The following is NOT necessary if you use an archived form of the plugins. Please skip to step 5 if you are.

    Commands if one uses SVN to install:

    Make sure you're in your Roundcube root directory.
    Code:
    cd plugins
    Code:
    svn co http://svn.web-wack.at/ispconfig3_roundcube3/trunk/ .
    Don't forget the "." (period) at the end of the second command, or it could be creating a directory called "/trunk/". Obviously, this is not what we want.

    Commands if one uses SVN to update:

    Make sure you're in your Roundcube root directory.
    Code:
    cd plugins
    Code:
    svn up .
    Don't forget the "." (period) at the end of the second command, or it could be creating a directory called "/trunk/". Obviously, this is not what we want.


    5.
    Skip this step if you have used SVN to update/install the plugins.
    Unarchive the folders ispconfig3_x to the plugin folder of your roundcube installation. (/plugins)

    6.
    Copy the file "config.inc.php.dist" to "config.inc.php".

    7.
    In the configfile of the "ispconfig3_account" (/plugins/ispconfig3_account/config/config.inc.php) fill in your details:
    PHP:
    <?php
    $rcmail_config
    ['remote_soap_user'] = '<<REMOTE USERNAME>>';
    $rcmail_config['remote_soap_pass'] = '<<REMOTE PASSWORD>>';
    $rcmail_config['soap_url'] = 'http://<<YOUR SERVER>>:8080/remote/';

    ?>
    Change the port (set to "8080" by default) if necessary and please note that when using SSL to access ISPconfig panel, use "https://" instead of "http://".

    For example, if your username is "Santa", your password is "Claus", your server's domain is "christmas.com" (Or you can use an IP), your ISPconfig panel is accessed through port 1111, and you are not using SSL, your configuration would be:
    PHP:
    <?php
    $rcmail_config
    ['remote_soap_user'] = 'Santa';
    $rcmail_config['remote_soap_pass'] = 'Claus';
    $rcmail_config['soap_url'] = 'http://christmas.com:1111/remote/';

    ?>
    8.
    In the configfile of roundcube (/config/main.inc.php) look for this:
    PHP:
    // List of active plugins (in plugins/ directory)
    $rcmail_config['plugins'] = array();
    If other plugins are already enabled, add the following plugins to the array:
    Code:
    , "ispconfig3_account", "ispconfig3_autoreply", "ispconfig3_pass", "ispconfig3_spam", "ispconfig3_fetchmail", "ispconfig3_filter"
    Otherwise, replace it with the following:
    PHP:
    // List of active plugins (in plugins/ directory)
    $rcmail_config['plugins'] = array("ispconfig3_account""ispconfig3_autoreply""ispconfig3_pass""ispconfig3_spam""ispconfig3_fetchmail""ispconfig3_filter");
    Any plugins that you want disabled, are to be removed from this line. For instance, if you do not wish to have "ispconfig3_pass" (password changer) enabled, omit ""ispconfig3_pass", ". It would then look like this:
    PHP:
    // List of active plugins (in plugins/ directory)
    $rcmail_config['plugins'] = array("ispconfig3_account""ispconfig3_autoreply" "ispconfig3_spam""ispconfig3_fetchmail""ispconfig3_filter");
    9.
    A new tab ("Accounts") should now be visible on your settings page in Roundcube, displaying all plugins enabled in step 8.

    Good luck!


    Troubleshooting and FAQ
    (SOAP) Errors:
    Q: I get an error "Soap Error no client with id $client_id found" when applying settings.
    A: Please refer to http://howtoforge.com/forums/showpost.php?p=214526&postcount=29 for a workaround for this problem. (Warning: Code modifications are NOT supported, this is just a workaround until this problem is solved. Use at your own risk!)

    Q: I get an error "Soap Error: you do not have permission to access this function roundcube" when using the plugins.
    A: You probably haven't configured the permissions for the remote ISPconfig user yet. Please refer to steps 2 and 3 of the instructions.

    Q: I get an error "Soap error : The login failed, username and password was wrong" when using the plugins.
    A: You probably haven't configured the permissions for the remote ISPconfig user yet. Please refer to step 2 of the instructions.

    Q: I'm getting an error "Soap Error: No user with username <yourusername> found." when applying settings using the plugins.
    A: Your remote user doesn't exist. Please refer to step 2 of the instructions.

    Q: I get an error "SERVICE CURRENTLY NOT AVAILABLE! Error No. [524]" when using the plugins.
    A: There's a plugin enabled that is not available, please refer to step 8 of the instructions and check if only available plugins are in the array. If neccessary, delete any entries that are not available in your /plugins/ directory.

    Subversion (SVN):
    Q: The SVN command co and up won't work for me.
    A: Try using the SVN commands checkout and update instead of co and up respectively.

    Q: SVN is not creating any folders.
    A: Check if the issued SVN command ends with a ".". Refer to step 4 of the instructions.

    Q: I've used an archived form of the plugins before but now I want to update using SVN.
    A: Refer to http://howtoforge.com/forums/showpost.php?p=217976&postcount=97

    Support:
    Q: Will the plugins be supported in my language?
    A: Please check language support below.

    Q: Is ISPconfig x.x.x or Roundcube x.x.x also supported?
    A: Currently only versions of these programs mentioned in the instructions are supported. Feel free to edit the plugin code to fit it to your own needs though.

    Other:
    Q: After I changed some settings using the plugins, changes don't immediately take effect.
    A: ISPConfig3 is using a Cronjob which runs every minute. So every change; password, autoreply, spamfilter, etc. takes effect after 1 min.

    Q: Can I make a function/plugin request?
    A: Feel free to do so. Please leave your comments/request in this topic.

    Q: Do you guys get paid for all this?
    A: Erm... No... just enjoy... Thanks would be nice. (Especially to Horfic since he did all the hard work... I just get to write about it :D)


    Current Plugins Status (As last updated instructions revision 49)
    Current plugins included:
    • Account overview (ispconfig3_account)
    • Fetchmail management (ispconfig3_fetchmail)
    • Autoreply management (ispconfig3_autoreply)
    • Spamfilter settings management (ispconfig3_spam)
    • Password management (ispconfig3_pass)
    • Mail User Filter management (ispconfig3_filter)

    Current languages supported:
    • Brazilian Portuguese (pt_BR)
    • Dutch (nl_NL)
    • English (en_US)
    • French (fr_FR)
    • German (de_DE)
    • Italian (it_IT)
    • Polish (pl_PL)
    • Slovenian (sl_SI) (Filter missing)
    • Spanish (es_ES)
    • Swedish (sv_SE)

    Complete - One missing or incomplete - Two or more missing or incomplete

    *= NOT YET AVAILABLE THROUGH SVN

    If you can translate in any language not mentioned above, please post your translation in this topic. It will be uploaded to the SVN repository as soon as possible. A clean english language file can be found in the /plugins/ispconfig3_*/localization folders of each plugin. Thanks in advance for the effort made!


    Disclaimer
    Neither of the authors of the different parts of the plugins or the installation instructions are responsible for any harm/damage done to your system or any other problems as a result of using these plugins downloaded in either the SVN or any other copy otherwise obtained. By downloading and using the plugins, you agree to the fact that usage of the plugins, it's individual language packs, configuration files and installation instructions is at your sole risk and no responsibility can be taken by any of the authors.

    However if any problems do somehow emerge, please do feel free to ask for help in this topic and we'll see what we can do for you!
     
    Last edited: Apr 7, 2010

Share This Page