|
|
@ -546,15 +546,16 @@ class rcmail extends rcube
|
|
|
|
|
|
|
|
|
|
|
|
if (is_array($default_host)) {
|
|
|
|
if (is_array($default_host)) {
|
|
|
|
$post_host = rcube_utils::get_input_value('_host', rcube_utils::INPUT_POST);
|
|
|
|
$post_host = rcube_utils::get_input_value('_host', rcube_utils::INPUT_POST);
|
|
|
|
|
|
|
|
$post_user = rcube_utils::get_input_value('_user', rcube_utils::INPUT_POST);
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
list($user, $domain) = explode('@', $post_user);
|
|
|
|
|
|
|
|
|
|
|
|
// direct match in default_host array
|
|
|
|
// direct match in default_host array
|
|
|
|
if ($default_host[$post_host] || in_array($post_host, array_values($default_host))) {
|
|
|
|
if ($default_host[$post_host] || in_array($post_host, array_values($default_host))) {
|
|
|
|
$host = $post_host;
|
|
|
|
$host = $post_host;
|
|
|
|
}
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
// try to select host by mail domain
|
|
|
|
// try to select host by mail domain
|
|
|
|
list($user, $domain) = explode('@', rcube_utils::get_input_value('_user', rcube_utils::INPUT_POST));
|
|
|
|
else if (!empty($domain)) {
|
|
|
|
if (!empty($domain)) {
|
|
|
|
|
|
|
|
foreach ($default_host as $storage_host => $mail_domains) {
|
|
|
|
foreach ($default_host as $storage_host => $mail_domains) {
|
|
|
|
if (is_array($mail_domains) && in_array_nocase($domain, $mail_domains)) {
|
|
|
|
if (is_array($mail_domains) && in_array_nocase($domain, $mail_domains)) {
|
|
|
|
$host = $storage_host;
|
|
|
|
$host = $storage_host;
|
|
|
|