protected List<String> getSmsRecipients(final Principal principal) {
        val smsProperties = properties.getSms();
        return smsProperties.getAttributeName()
            .stream()
            .map(attribute -> SmsRequest.builder()
                .from(smsProperties.getFrom())
                .principal(principal)
                .attribute(SpringExpressionLanguageValueResolver.getInstance().resolve(attribute))
                .build()
                .getRecipients())
            .flatMap(List::stream)
            .distinct()
            .collect(Collectors.toList());
    }
This is {@link CasSimpleMultifactorSendSms}.

@author Misagh Moayyed
@since 7.0.0
support/cas-server-support-simple-mfa-core/src/main/java/org/apereo/cas/mfa/simple/web/flow/CasSimpleMultifactorSendSms.java