Issue on VestaCP roundcube

Issue #34 closed
7189 Rocky created an issue

Hello,

I am trying to install this plugin on my vestacp roundcube, this is what i did :

  1. Download this plugin and extract it on plugin directory : /usr/share/roundcubemail/plugins/ident_switch/

  2. activate the plugin by adding on the roundcube config files : /etc/roundcubemail/config.inc.php and /etc/roundcubemail/defaults.inc.php

  3. import the mysql.initial.sql to raoundcube database using mysql cli

  4. relogin the roundcube
  5. add new identity from the account setting

Result : 1. I can send email from the identity with correct smtp server 2. I can not switch email account to show mailbox from added identity. 3. no dropdown menu on the account menu top right corner. 4. no input on the roundcube databases after creating new identity, its only input to identity table but nothing on ident_switch table.

could you please help.

Thank you, Best Regards.

Comments (12)

  1. 7189 Rocky reporter

    Hello,

    Thank you for your reply, i already change the plugin using newest 3.4 version as your suggestion, and now i can login and switch account easily, but the problem is on the smtp setup, since there is no smtp setup on the identity menu, now i cant send email, i got SMTP Error (535): Authentication failed.

    could you combine the first plugin (from the download link) and the newest version 3.4 so i can send and receive email perfectly.

    Thank you so much.

    Best Regards, Aqila

  2. 7189 Rocky reporter

    FYI, i am using SMTP relay from mailgun, and i got 550 5.7.1 Relaying denied from mailgun

  3. 7189 Rocky reporter

    Update :

    i was trying to install the plugin on a fresh roundcube installation and i got the same issue.

    • Sending mail is using main account value (main account username and password) not using the new identity added.

    main account : mail1@domain1.com

    added identity : mail2@domain2.com

    When sending email form mail2@domain2.com the sender is still using mail1@domain1.com and that causing and issue SMTP Error (535): Authentication failed. because the mailgun server expected username and password from mail2@domain2.com.

    • IMAP server is working great.

    thankyou.

  4. 7189 Rocky reporter

    Switching SMTP

    Plugin also switched SMTP credentials but only for server specified in general config. You should use %u and %p substitutions for user and password to make it work. This substitutions are replaced by username and password for selected IMAP account.

    If this is working, its should be fine, because username and password will be replace with the selected identity, but what happen is sender still using main account credential for sending mail

  5. 7189 Rocky reporter

    Update :

    i figure it out, i dont know why but the iid value taken from the database is not integer so your logic code if (!is_integer($iid) || $iid == -1) return false and return $args; so the smtp sending on my server default value.

    i need to set $iid to integer to fixed the value $iid = intval($iid);

    so the function is :

    function on_smtp_connect($args)
    {
        $iid = $_SESSION['iid' . self::MY_POSTFIX];
        $iid = intval($iid);
        if (!is_integer($iid) || $iid == -1)
            return $args;
    

    Thank you for your great plugin.

    Best Regards, Aqila

  6. Boris Gulay repo owner

    Hello! Thank you for your investigation! That's really great. 1. Right now I'm working on SMTP configuration from identities menu. This enchancement will be ready this month. It already works with PostgreSQL database. 2. Can you explain a bit about non integer IID returned from database in you case. What was it exactly?

  7. Holger Dormann

    Hi, I have the same problem using the SQLite db. When sending emails I always get SMTP Error (535): Authentication failed. I tried already setting smtp_user to %u and smtp_pass to %p but it did not help. Could this be related to the problem above?

  8. Sanalogi Bilişim A.Ş.

    You should change the code from

    function on_smtp_connect($args)
    {
        $iid = $_SESSION['iid' . self::MY_POSTFIX];
        $iid = intval($iid);
        if (!is_integer($iid) || $iid == -1)
            return $args;
    

    to

    function on_smtp_connect($args)
    {
        $iid = $_SESSION['iid' . self::MY_POSTFIX];
        $iid = intval($iid);
        if (strlen($iid) < 0 || $iid == -1)
            return $args;
    
  9. Log in to comment