Derzeit verfügen wir über ein voll funktionsfähiges POP / IMAP / Webmail-System (mit Dovecot und Roundcube), das in seinem beabsichtigten Design ein glänzender Turm der Perfektion ist. Wir haben Tausende von Kunden, die zu einer "Standard" -Domain gehören (ich nenne sie ourdomain.com) und sich erfolgreich mit einem Benutzernamen und einem Passwort anmelden. Wir haben einige Tausend weitere, die Domains besitzen, die wir hosten, und die sich erfolgreich mit ihrer vollständigen E-Mail-Adresse und ihrem Passwort anmelden (nennen Sie es customerdomain.com). Dies ist seit den 1990er Jahren so, mit vielen fest verwurzelten Kundenkonfigurationen.
Das Problem ist nun, dass Benutzer daran gewöhnt sind, sich bei Webformularen mit einer vollständigen E-Mail-Adresse anzumelden . Benutzer , die ourdomain.com verwenden, müssen daran erinnert werden, sich nur mit ihrem Benutzernamen bei Webmail anzumelden . Dies ist ein Anruf, den unsere Abteilung für technischen Support mehrmals pro Woche erhält (und selbst ich bin schuld daran, ich rufe einfach nicht den technischen Support an) und sollte wahrscheinlich mit einer Art Softwarelösung beseitigt werden.
Wie können wir also entweder Roundcube oder Dovecot dazu bringen, "[email protected]" stattdessen als "username" zu erkennen, ohne den tatsächlichen Benutzernamen aller in unserem System ändern zu müssen? Aber nur tun, wenn die Domäne „ourdomain.com“ und nicht „customerdomain.com“. Beachten Sie, dass jede benutzerdefinierte Codierung, die wir durchführen, jedes Mal neu implementiert werden muss, wenn wir Sicherheitsupgrades durchführen, und wir würden diese Option nur als die letztmögliche Wahl betrachten.
TL; DR:
Wir brauchen diese Logik:
if $email contains @ourdomain.com
{
remove @ourdomain.com;
submit to roundcube;
} else {
submit to roundcube;
}
Antworten:
Dieses Problem kann entweder in Roundcube, Dovecot oder Ihrem Benutzernamen-Backend behoben werden.
Roundcube hat die Option, Domain-Teile automatisch anzuhängen, wenn keine Domain bereitgestellt wird (wie von Kondybas vorgeschlagen ). Aber es wird in Ihrem Fall nicht allzu nützlich sein. Natürlich können Sie Roundcube (mit PHP-Sprache) patchen, um Ihre Logik hinzuzufügen.
Dovecot hat die Option, die Domain zu entfernen (wie in der Dovecot-Benutzersuche vorgeschlagen, schlägt fehl, wenn das Format "Benutzername @ Domain" verwendet wird ), kann jedoch kein bedingtes Strippen durchführen (z. B. Domain entfernen, wenn Domain = @ ourdomain.com). Natürlich können Sie Dovecot (mit der Sprache C) patchen, um Ihre Logik hinzuzufügen.
Benutzername-Backend ist ebenfalls eine Option. Sie geben nicht das Backend an, das Sie verwenden (entweder SQL, LDAP, benutzerdefinierte Engine). Ich kann mir vorstellen, dass Sie eine Benutzernamensspalte haben, die zwei Formate mit und ohne Domain hat . Jetzt können Sie alle Benutzernamen konvertieren, ohne dass die Domain zu Benutzername @ unsererDomäne wird. Sie können diesen Vorgang mit Option 1 (Roundcube Domain automatisch anhängen) kombinieren, sodass sich entweder Benutzername und Benutzername @ ourdomain anmelden können.
quelle
RoundCube
habe eine Option namensusername_domain
Wenn Sie ein Unterverzeichnis (wie
ourdomain.tld/roundcube
) verwendet haben, setzen Sie diese Option aufWenn Sie Subdomains (wie
mail.domain.tld
) verwendet haben, setzen Sie diese Option aufWenn der Benutzer seine vollständige E-Mail-Adresse als Login angibt, wird diese E-Mail-Adresse ohne Änderungen verwendet. Wenn der Domain-Teil weggelassen wird,
RoundCube
wird die URL-Domain zum Abschluss verwendet. Außerdem gibt es in der Konfiguration des Roundcube eine Reihe netter Optionen.quelle