有哪些选项可以在 Webmail 中透明地更改用户名?

有哪些选项可以在 Webmail 中透明地更改用户名?

目前,我们拥有一个功能齐全的 POP/IMAP/Webmail 系统(使用 Dovecot 和 Roundcube),其设计堪称完美。我们有数千名客户属于一个“默认”域(我将其称为 ourdomain.com),并能使用用户名和密码成功登录。我们还有几千名客户拥有我们托管的域,他们能使用完整的电子邮件地址和密码成功登录(将其称为 customerdomain.com)。自 1990 年代以来,情况一直如此,客户配置根深蒂固。

现在的问题是,人们习惯使用完整的电子邮件地址登录网络表单,使用 ourdomain.com 的用户必须被提醒使用以下方式登录网络邮件仅有的他们的用户名。我们的技术支持部门每周都会接到几次这样的电话(我甚至也犯过这种错误,但我不会就此致电技术支持部门),可能应该使用某种软件解决方案来消除这种错误。

那么我们如何让 Roundcube 或 Dovecot 识别“[电子邮件保护]“作为“用户名”,而不必更改系统中每个人的实际用户名?但是仅有的如果域名是“ourdomain.com”,则执行此操作不是“customerdomain.com”。请记住,我们所做的任何自定义编码都必须在每次进行安全升级时重新实施,并且我们只会将该选项视为最后的选择。

总结:

我们需要这样的逻辑:

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

答案1

这个问题可以在 roundcube、dovecot 或您的用户名后端中解决。

  1. Roundcube 有选项如果没有提供域名,则自动附加域名部分(根据提议孔迪巴斯)。但对于你的情况来说,它不会太有用。当然,你可以修补 roundcube(使用 PHP 语言)来添加你的逻辑。

  2. Dovecot 有选项剥离域(如提议的 使用用户名@域名格式时 Dovecot 用户查找失败),但它不能进行条件剥离(例如,如果 domain = @ourdomain.com,则剥离域名)。当然,您可以修补 dovecot(使用 C 语言)以添加您的逻辑。

  3. 用户名后端也是选项。您无需提供使用的后端(SQL、LDAP 或自定义引擎)。我可以想象您的用户名列有两种格式有或无域名。现在,您可以将所有不带域名的用户名转换为 username@ourdomain。您可以将此过程与选项 1(roundcube 自动附加域名)结合起来,这样用户名和 username@ourdomain 都可以登录。

答案2

RoundCube有一个选项叫做username_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'] = '';

如果您使用了子目录(如ourdomain.tld/roundcube),请将此选项设置为

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

如果您使用了子域名(如mail.domain.tld),请将此选项设置为

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

当用户提供其完整电子邮件作为登录名时,该电子邮件将不做任何更改地使用。如果省略域部分,RoundCube将使用 URL 域来完成。此外,roundcube 的配置中还有许多简洁的选项。

相关内容