protected EmailCommunicationResult sendAccountRegistrationActivationEmail(final AccountRegistrationRequest registrationRequest,
                                                                              final String url,
                                                                              final RequestContext requestContext) {
        if (StringUtils.isNotBlank(registrationRequest.getEmail())) {
            val emailProps = casProperties.getAccountRegistration().getMail();
            val parameters = CollectionUtils.<String, Object>wrap("url", url);
            val request = WebUtils.getHttpServletRequestFromExternalWebflowContext(requestContext);
            val locale = Optional.ofNullable(RequestContextUtils.getLocaleResolver(request))
                .map(resolver -> resolver.resolveLocale(request));
            val text = EmailMessageBodyBuilder.builder()
                .properties(emailProps)
                .parameters(parameters)
                .locale(locale)
                .build()
                .get();
            val emailRequest = EmailMessageRequest.builder()
                .emailProperties(emailProps)
                .locale(locale.orElseGet(Locale::getDefault))
                .to(List.of(registrationRequest.getEmail()))
                .tenant(tenantExtractor.extract(requestContext).map(TenantDefinition::getId).orElse(StringUtils.EMPTY))
                .body(text).build();
            return communicationsManager.email(emailRequest);
        }
        return EmailCommunicationResult.builder().success(false).build();
    }
Send account registration activation email.

@param registrationRequest the registration request
@param url                 the url
@param requestContext      the request context
@return true/false
support/cas-server-support-account-mgmt/src/main/java/org/apereo/cas/acct/webflow/SubmitAccountRegistrationAction.java