mirror of
https://github.com/EGroupware/egroupware.git
synced 2024-11-26 09:53:20 +01:00
fix Argument 2 passed to EGroupware\Api\Mail\Smtp::mailbox_address() must be of the type string, null given
called in /usr/share/egroupware/api/src/Mail/Smtp.php on line 238 caused by no mail domain specified in config or mail account
This commit is contained in:
parent
eb416c3d91
commit
7522e7615f
@ -244,13 +244,12 @@ class Smtp
|
|||||||
* If $account is an array (with values for keys account_(id|lid|email), it does NOT call accounts class
|
* If $account is an array (with values for keys account_(id|lid|email), it does NOT call accounts class
|
||||||
*
|
*
|
||||||
* @param int|array $account account_id or whole account array with values for keys
|
* @param int|array $account account_id or whole account array with values for keys
|
||||||
* @param string $domain domain
|
* @param string $domain|null domain
|
||||||
* @param string $mail_login_type=null standard(uid), vmailmgr(uid@domain), email or uidNumber
|
* @param string $mail_login_type=null standard(uid), vmailmgr(uid@domain), email or uidNumber
|
||||||
* @return string
|
* @return string|null null if no domain given but required by $mail_login_type
|
||||||
*/
|
*/
|
||||||
static public function mailbox_address($account, string $domain, string $mail_login_type=null)
|
static public function mailbox_address($account, string $domain=null, string $mail_login_type=null)
|
||||||
{
|
{
|
||||||
|
|
||||||
switch($mail_login_type)
|
switch($mail_login_type)
|
||||||
{
|
{
|
||||||
case 'email':
|
case 'email':
|
||||||
@ -258,6 +257,7 @@ class Smtp
|
|||||||
break;
|
break;
|
||||||
|
|
||||||
case 'uidNumber':
|
case 'uidNumber':
|
||||||
|
if (empty($domain)) return null;
|
||||||
if (is_array($account)) $account = $account['account_id'];
|
if (is_array($account)) $account = $account['account_id'];
|
||||||
$mbox = 'u'.$account.'@'.$domain;
|
$mbox = 'u'.$account.'@'.$domain;
|
||||||
break;
|
break;
|
||||||
@ -268,6 +268,7 @@ class Smtp
|
|||||||
|
|
||||||
case 'vmailmgr':
|
case 'vmailmgr':
|
||||||
default:
|
default:
|
||||||
|
if (empty($domain)) return null;
|
||||||
$mbox = is_array($account) ? $account['account_lid'] : $GLOBALS['egw']->accounts->id2name($account);
|
$mbox = is_array($account) ? $account['account_lid'] : $GLOBALS['egw']->accounts->id2name($account);
|
||||||
$mbox .= '@'.$domain;
|
$mbox .= '@'.$domain;
|
||||||
break;
|
break;
|
||||||
|
@ -251,9 +251,9 @@ class Ldap extends Mail\Smtp
|
|||||||
$mailLocalAddress : static::MAIL_ENABLED;
|
$mailLocalAddress : static::MAIL_ENABLED;
|
||||||
}
|
}
|
||||||
// does schema support an explicit mailbox name --> set it
|
// does schema support an explicit mailbox name --> set it
|
||||||
if (static::MAILBOX_ATTR)
|
if (static::MAILBOX_ATTR && !empty($mailbox = self::mailbox_addr($_hookValues)))
|
||||||
{
|
{
|
||||||
$newData[static::MAILBOX_ATTR] = self::mailbox_addr($_hookValues);
|
$newData[static::MAILBOX_ATTR] = $mailbox;
|
||||||
}
|
}
|
||||||
|
|
||||||
// allow extending classes to add extra data
|
// allow extending classes to add extra data
|
||||||
|
Loading…
Reference in New Issue
Block a user