new config_url

This commit is contained in:
2026-08-14 17:21:15 +02:00
parent 93faa527fe
commit 1eb46d98ef

View File

@@ -32,13 +32,27 @@ class email_config extends rcube_plugin
function email_config_form() function email_config_form()
{ {
$rcmail = rcube::get_instance(); $rcmail = rcube::get_instance();
$email = $rcmail->user->get_username(); $email = $rcmail->user->get_username();
$secret_key = 'SHARED_SECRET_KEY_987654321'; $secret_key = 'SHARED_SECRET_KEY_987654321';
$config_url = 'https://config.email-bayarea.com';
$expires = time() + 3600; // mailadmin.<domain der adresse>, z.B. support@bayarea-cc.com
$data = $email . '|' . $expires; // -> https://mailadmin.bayarea-cc.com
$at = strrpos($email, '@');
if ($at === false) {
// Roundcube liefert ausnahmsweise keinen vollen Namen: hier kann kein
// sinnvoller Link gebaut werden.
return '';
}
$domain = strtolower(substr($email, $at + 1));
$config_url = 'https://mailadmin.' . $domain;
$expires = time() + 3600;
$data = $email . '|' . $expires;
$signature = hash_hmac('sha256', $data, $secret_key); $signature = hash_hmac('sha256', $data, $secret_key);
$url = $config_url . '/?email=' . urlencode($email) . '&expires=' . $expires . '&signature=' . $signature; $url = $config_url . '/?email=' . urlencode($email)
. '&expires=' . $expires
. '&signature=' . $signature;
$out = ' $out = '
<div class="box" style="max-width: 600px; margin: 40px auto; padding: 30px; background: #fff; border-radius: 8px; box-shadow: 0 2px 8px rgba(0,0,0,0.1);"> <div class="box" style="max-width: 600px; margin: 40px auto; padding: 30px; background: #fff; border-radius: 8px; box-shadow: 0 2px 8px rgba(0,0,0,0.1);">