diff --git a/DMS/docker-data/roundcube/plugins/email_config/composer.json b/DMS/docker-data/roundcube/plugins/email_config/composer.json new file mode 100644 index 0000000..9d75386 --- /dev/null +++ b/DMS/docker-data/roundcube/plugins/email_config/composer.json @@ -0,0 +1,11 @@ +{ + "name": "local/email_config", + "type": "roundcube-plugin", + "description": "Email Configuration - Manage OOO and Forwarding", + "license": "MIT", + "version": "1.0.0", + "require": { + "php": ">=7.0.0", + "roundcube/plugin-installer": ">=0.1.3" + } +} diff --git a/DMS/docker-data/roundcube/plugins/email_config/email_config.php b/DMS/docker-data/roundcube/plugins/email_config/email_config.php new file mode 100644 index 0000000..7522257 --- /dev/null +++ b/DMS/docker-data/roundcube/plugins/email_config/email_config.php @@ -0,0 +1,75 @@ +add_texts('localization/', false); + $this->add_hook('settings_actions', array($this, 'settings_actions')); + $this->register_action('plugin.email_config', array($this, 'email_config_init')); + } + + function settings_actions($args) + { + $args['actions'][] = array( + 'action' => 'plugin.email_config', + 'class' => 'email-config', + 'label' => 'email_config', + 'domain' => 'email_config', + ); + return $args; + } + + function email_config_init() + { + $rcmail = rcube::get_instance(); + $this->register_handler('plugin.body', array($this, 'email_config_form')); + $rcmail->output->set_pagetitle('Email Configuration'); + $rcmail->output->send('plugin'); + } + + function email_config_form() + { + $rcmail = rcube::get_instance(); + $email = $rcmail->user->get_username(); + $secret_key = 'SHARED_SECRET_KEY_987654321'; + $config_url = 'http://localhost:3008'; + $expires = time() + 3600; + $data = $email . '|' . $expires; + $signature = hash_hmac('sha256', $data, $secret_key); + $url = $config_url . '/?email=' . urlencode($email) . '&expires=' . $expires . '&signature=' . $signature; + + $out = ' +
Signed in as:
+' . htmlspecialchars($email) . '
++ Configure out-of-office auto-replies and email forwarding rules for your account. +
+ + +