Welche Möglichkeiten gibt es, Benutzernamen im Webmail transparent zu ändern?

Welche Möglichkeiten gibt es, Benutzernamen im Webmail transparent zu ändern?

Derzeit verfügen wir über ein voll funktionsfähiges POP/IMAP/Webmail-System (mit Dovecot und Roundcube), das in seiner beabsichtigten Ausgestaltung ein strahlender Turm der Perfektion ist. Wir haben Tausende von Kunden, die zu einer „Standarddomäne“ gehören (ich nenne sie ourdomain.com) und sich erfolgreich mit einem Benutzernamen und einem Passwort anmelden. Wir haben noch ein paar Tausend mehr, die Domänen besitzen, die wir hosten, und die sich erfolgreich mit ihrer vollständigen E-Mail-Adresse und ihrem Passwort anmelden (nennen wir sie customerdomain.com). So ist es seit den 1990er Jahren, mit vielen fest verwurzelten Kundenkonfigurationen.

Das Problem ist, dass die Benutzer sich inzwischen daran gewöhnt haben, sich mit einer vollständigen E-Mail-Adresse bei Webformularen anzumelden. Benutzer von ourdomain.com müssen daran erinnert werden, sich bei Webmail mitnurihren Benutzernamen. Diesen Anruf erhält unsere technische Supportabteilung mehrmals pro Woche (und selbst ich mache das, ich rufe deswegen nur nicht den technischen Support an) und sollte wahrscheinlich mit einer Softwarelösung beseitigt werden.

Wie können wir also erreichen, dass Roundcube oder Dovecot erkennen,[email geschützt]" als "Benutzername" verwenden, ohne den tatsächlichen Benutzernamen aller in unserem System ändern zu müssen? Abernurtun Sie dies, wenn die Domäne "ourdomain.com" ist undnicht„customerdomain.com“. Bedenken Sie, dass jede benutzerdefinierte Codierung, die wir vornehmen, bei jedem Sicherheitsupgrade neu implementiert werden muss, und wir würden diese Option nur als letzte Möglichkeit in Betracht ziehen.

Kurz zusammengefasst:

Wir brauchen diese Logik:

if $email contains @ourdomain.com
{
    remove @ourdomain.com;
    submit to roundcube;
} else {
    submit to roundcube;
}

Antwort1

Dieses Problem kann entweder in Roundcube, Dovecot oder Ihrem Benutzernamen-Backend behoben werden.

  1. Roundcube hat die Möglichkeit,Domänenteile automatisch anhängen, wenn keine Domäne angegeben ist(wie vorgeschlagen vonKondybas). Aber in Ihrem Fall wird es nicht sehr nützlich sein. Natürlich können Sie Roundcube (mit PHP-Sprache) patchen, um Ihre Logik hinzuzufügen.

  2. Dovecot hat die Möglichkeit,Strip-Domäne(wie vorgeschlagen in Die Dovecot-Benutzersuche schlägt fehl, wenn das Format Benutzername@Domäne verwendet wird), aber es kann kein bedingtes Stripping durchführen (z. B. Domäne strippen, wenn Domäne = @ourdomain.com). Natürlich können Sie Dovecot (mit der Sprache C) patchen, um Ihre Logik hinzuzufügen.

  3. Benutzername-Backend ist auch eine Option. Sie geben nicht an, welches Backend Sie verwenden (entweder SQL, LDAP, benutzerdefinierte Engine). Ich kann mir vorstellen, dass Sie eine Benutzernamenspalte mit zwei Formaten habenmit und ohne Domain. Jetzt können Sie alle Benutzernamen ohne Domäne in „Benutzername@unsereDomäne“ umwandeln. Sie können diesen Vorgang mit Option 1 (Roundcube Auto Append Domain) kombinieren, sodass Sie sich mit Benutzername und Benutzername@unsereDomäne anmelden können.

Antwort2

RoundCubehaben eine Option namensusername_domain

// Automatically add this domain to user names for login
// Only for IMAP servers that require full e-mail addresses for login
// Specify an array with 'host' => 'domain' values to support multiple hosts
// Supported replacement variables:
// %h - user's IMAP hostname
// %n - hostname ($_SERVER['SERVER_NAME'])
// %t - hostname without the first part
// %d - domain (http hostname $_SERVER['HTTP_HOST'] without the first part)
// %z - IMAP domain (IMAP hostname without the first part)
// For example %n = mail.domain.tld, %t = domain.tld
$config['username_domain'] = '';

Wenn Sie Unterverzeichnisse (wie ) verwendet haben ourdomain.tld/roundcube, setzen Sie diese Option auf

$config['username_domain'] = '%n';

Wenn Sie Subdomains (wie ) verwendet haben, mail.domain.tldsetzen Sie diese Option auf

$config['username_domain'] = '%t';

Wenn der Benutzer seine vollständige E-Mail-Adresse als Login angibt, wird diese E-Mail-Adresse ohne Änderungen verwendet. Wenn der Domänenteil weggelassen wird, wird RoundCubedie URL-Domäne zur Vervollständigung verwendet. Außerdem gibt es in der Konfiguration des Roundcubes eine Reihe nützlicher Optionen.

verwandte Informationen