我已经在我的服务器上安装了Roundcube webmail,但我想定制一下,但是。
在文件configdefaults.inc.php中,有一个变量为 $config['smtp_user'] = '%u';
但我想改变这个值,基于 $_SESSION["username"];
然而,会话并没有在文件中启动,而只是在index.php文件中。
我试过在文件中设置 $config['smtp_user']
里面的index.php文件,设置得很好,但在发送邮件时就不行了。
有什么方法可以让我在我的 config/defaults.inc.php
或 config/config.inc.php
文件,并使用来自 $_SESSION["username"]
你可以以只读模式启动会话,然后获取用户名。用这个方法,会话将在一个以 read-only mode
填充后立即关闭 $_SESSION
.
将此添加到您的 config.inc.php
:
session_start(['read_and_close' => true]);
$config['smtp_user'] = $_SESSION['username'] ?? '%u';
如果你也想修改会话(例如,只在一个请求中填写session中的用户名),你可以将此添加到你的 config.inc.php
而不是。
session_start();
$config['smtp_user'] = $_SESSION['username'] ?? '%u';
unset($_SESSION['username']);
session_write_close();