postfix、dovecot 新用户域名是localhost而不是我的域名

postfix、dovecot 新用户域名是localhost而不是我的域名

我在我的 Ubuntu 16.04 上使用 postfix、dovecot 和 roundcube。

当创建新用户(unix)然后登录 roundcube 时,当我发送电子邮件时,接收者将收到来自 user@localhost 的邮件,而不是[电子邮件保护]

如果我从命令提示符使用 sendmail -t,电子邮件将以正确的方式发送

[电子邮件保护]

问这个问题是因为我最近成功破坏了我的 postfix,现在我很害怕触碰任何文件:)) 所以这是一个 roundcube、dovecot 或 postfix 问题,我可以从哪里纠正它。

先感谢您,

答案1

@sebix 谢谢你的询问,已经解决了,以防有人需要:

这是 roundcube 的问题,默认情况下,将考虑所有用户 @localhost 进行登录(config.inc.php)

因此请不要触碰此行,因为它仅用于登录

$config['default_host'] = 'localhost';

相反,添加这一行

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

其中 % 可以是多个选项

// %n - hostname ($_SERVER['SERVER_NAME'])
// %t - hostname without the first part
// %d - domain (http hostname $_SERVER['HTTP_HOST'] without the first part)
// %s - domain name after the '@' from e-mail address provided at login screen
// For example %n = mail.domain.tld, %t = domain.tld

就我而言,%n 是可以的,因为我有 myserver.com(而不是 mail.myserver.com)

令人困惑的问题是,一旦用户登录 Roundcube,身份就会按照找到时的样子存储在 MySQL 中,因此您必须手动编辑。对于新用户(在 %n 修改之后),一切都会正常。

就这样 :)

相关内容