Да, конечно сталкивались.
Причина скорее в системных таблицах (они участвуют в методе currentAOSInstance таблицы SysEmailSMTPPassword)
SYSclientSessions
SYSserverSessions
На которых видимо, выставлено свойство AosAutorization.
Так как таблицы системные, снять это свойство (AosAutorization) через АОТ с них нельзя.
Можно, например настроить сервер smtp без использования пароля вообще,
(на какой нибудь порт отличный от порта по умолчанию)
У нас работает так
X++:
static SMTPPassword password()
{
CryptoBlob cryptoBlob = connull();
SysEmailSMTPPassword SMTPPassword;
AOSId AOSId;
AOSInstanceId AOSInstanceId;
;
// пришлось сделать так как под правами обычных пользователей не проходит метод
// SysEmailSMTPPassword::currentAOSInstance() без указания ошибки
// и почта не отправляется даже в режиме пакета
// подозреваю что это из за глюка с AosAuthorization
return "";
// <---
[AOSId,AOSInstanceId] = SysEmailSMTPPassword::currentAOSInstance();
SMTPPassword = SysEmailSMTPPassword::find(AOSId,AOSInstanceId);
if (SMTPPassword.RecId != 0)
cryptoBlob = SMTPPassword.Password;
if (cryptoBlob != connull())
return cryptoblob2str(WinapiServer::cryptUnProtectData(cryptoBlob));
else
return '';
}
- можно наверное прописать пароль как константу в коде
- может попробовать прописать методе таблицы SysEmailSMTPPassword
X++:
public static server container currentAOSInstance()
....
clientSessions.skipAosValidation(true);
Я это не пробовал, может поможет ?