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.