protected function getEmailRecipientRequiredFields()
    {
        $requiredFields = [];
        $recipientFieldsMap = [
            'EmailAddress' => 'SendEmailToField',
            'EmailSubject' => 'SendEmailSubjectField',
            'EmailReplyTo' => 'SendEmailFromField'
        ];

        foreach ($this->getController()->data()->EmailRecipients() as $recipient) {
            foreach ($recipientFieldsMap as $textField => $dynamicFormField) {
                if (empty($recipient->$textField) && $recipient->getComponent($dynamicFormField)->exists()) {
                    $requiredFields[] = $recipient->getComponent($dynamicFormField)->Name;
                }
            }
        }

        return $requiredFields;
    }