Php Roundcube自定义SMTP_用户变量

Php Roundcube自定义SMTP_用户变量,php,roundcube,Php,Roundcube,我已经在我的服务器上安装了Roundcube webmail,但我想对其进行一些定制 在config/defaults.inc.php文件中,有变量$config['smtp_user']='%u' 但是我想根据$\u SESSION[“username”]的值更改此值,但是会话不会在文件中启动,而只在index.php文件中启动 我尝试在index.php文件中设置$config['smtp_user'],这样设置很好,但在发送邮件时不起作用 是否有一种方法可以在我的config/defaul

我已经在我的服务器上安装了Roundcube webmail,但我想对其进行一些定制

在config/defaults.inc.php文件中,有变量
$config['smtp_user']='%u'

但是我想根据
$\u SESSION[“username”]的值更改此值,但是会话不会在文件中启动,而只在index.php文件中启动

我尝试在index.php文件中设置
$config['smtp_user']
,这样设置很好,但在发送邮件时不起作用


是否有一种方法可以在我的
config/defaults.inc.php
config/config.inc.php
文件中更改此值,并使用
$\u会话[“用户名”]

中的值。您可以以只读模式启动会话,然后获取用户名。使用此解决方案,会话将以
只读模式启动
,然后在填充
$\u会话
后立即关闭

将此添加到您的
config.inc.php

session_start(['read_and_close' => true]);
$config['smtp_user'] = $_SESSION['username'] ?? '%u';

如果您还想修改会话(例如,对于一个请求,仅填写会话中的用户名),可以将其添加到
config.inc.php
中:

session_start();
$config['smtp_user'] = $_SESSION['username'] ?? '%u';
unset($_SESSION['username']);
session_write_close();

您可以将您的代码包含在github或其他我们可以看到的地方吗?@user3585659我正试图使用会话变量更改
$config['smtp_user']
的值,但会话未在包含
$config['smtp_user']
的文件
defaults.inc.php
中启动,该文件包含
$config['smtp_user']
为什么不先设置默认值,然后,当会话开始时,更改该值。类似于
$config['smtp\u user']=$\u会话['nameOfSession']$_会话['nameOfSession']:$yourDefaultValue
我昨天在index.php文件中尝试了这个方法,但似乎没有找到正确的值。我不确定
$config
变量是否在其他地方拾取