def test_gms_smtp_settings(
    self,
    test_email: str,
    email_authentication: bool = False,
    user_id: str = "",
    password: str = "",
    email_sender: str = "",
    email_ssl: bool = False,
    server: str = "",
    smtp_port: int = 25,
    require_verification: bool = False,
) -> bool:
    """Send test email with Orchestrator SMTP configuration

    .. list-table::
        :header-rows: 1

        * - Swagger Section
          - Method
          - Endpoint
        * - gmsSMTP
          - POST
          - /gmsSMTP/testEmail

    .. note::
        If server and sender are unspecified, email will come from
        orchestrator@silverpeak.cloud sent via amazonses.com

    :param test_email: Email address to send test message to
    :type test_email: str
    :param email_authentication: ``True`` for if using authentication
        for email, ``False`` if not, defaults to False
    :type email_authentication: bool, optional
    :param user_id: E-mail server user, defaults to ""
    :type user_id: str, optional
    :param password: E-mail server password, defaults to ""
    :type password: str, optional
    :param email_sender: E-mail address used to send E-mails,
        defaults to ""
    :type email_sender: str, optional
    :param email_ssl: ``True`` to Enable or ``False`` disable Enable SSL
        for email, defaults to False
    :type email_ssl: bool, optional
    :param server: Address of the E-mail server, defaults to ""
    :type server: str, optional
    :param smtp_port: SMTP server port, defaults to 25
    :type smtp_port: int, optional
    :param require_verification: ``True`` to set verification required
        before sending email, ``False`` to not require verifcation,
        defaults to False
    :type require_verification: bool, optional
    :return: Returns True/False based on successful call
    :rtype: bool
    """
    data = {
        "smtp": {
            "emailAuthentication": email_authentication,
            "password": password,
            "userID": user_id,
            "emailSender": email_sender,
            "emailSsl": email_ssl,
            "server": server,
            "smtpPort": smtp_port,
            "requireEmailVerification": require_verification,
        },
        "emailRecepients": "",
    }

    return self._post(
        "/gmsSMTP/testEmail",
        data=data,
        expected_status=[204],
        return_type="bool",
    )