## Bug description

The SITE_ENV variable, which is quite useful for PostHog to function properly, is not mentioned in any of the deployment guides and only alluded to in the [Configuring Email](https://posthog.com/docs/configuring-posthog/email) page.

Apparently upgrading from one version of posthog to another broke some links in invite e-mails. I'm not sure, but I assume the e-mail sending code went into an async task, and as of such the URL couldn't be taken from `request` anymore, but reverted to `SITE_URL` that was unset. The e-mail config docs say to set this variable, but it might be easy to skip. Not sure.

## Expected behavior

I'd expect the site to give me a warning if I'm visiting `https://posthog.mysite.com/` while the `SITE_URL` variable is set to `http://localhost:8000/` or even `https://posthog.othersite.com/`. 

In an ideal world, I would see a warning like "You're browsing posthog from https://posthog.newsite.com/ yet your SITE_URL variable is set to https://posthog.oldurl.com/. Would you like to update it?" and a button to update it directly. Alternatively it would send me to a page on the docs that would describe the situation.

## How to reproduce

1. Install PostHog.
2. Either use a webhook or setup e-mail and invite an user (but forget to update SITE_URL)
3. Be confused as to why the link doesn't work.

## Environment

- [ ] PostHog Cloud
- [ ] self-hosted PostHog, version/commit: _please provide_

## Additional context

Was raised in the users' slack.

#### *Thank you* for your bug report – we love squashing them!

posthog/api/test/test_preflight.py
with self.settings(MULTI_TENANCY=True, PRIMARY_DB=RDBMS.CLICKHOUSE):
            response = self.client.get("/_preflight/")
            self.assertEqual(response.status_code, status.HTTP_200_OK)
            response = response.json()
            available_timezones = cast(dict, response).pop("available_timezones")
            self.assertEqual(
                response,
                {
                    "django": True,
                    "redis": True,
                    "plugins": True,
                    "celery": True,
                    "db": True,
                    "initiated": True,
                    "cloud": True,
                    "ee_available": True,
                    "ee_enabled": True,
                    "db_backend": "clickhouse",
                    "available_social_auth_providers": {"google-oauth2": False, "github": False, "gitlab": False},
                    "opt_out_capture": False,
                    "posthog_version": VERSION,
                    "email_service_available": False,
                    "is_debug": False,
                    "is_event_property_usage_enabled": False,
                    "licensed_users_available": None,
                },
            )
            self.assertDictContainsSubset({"Europe/Moscow": 3, "UTC": 0}, available_timezones)
    @pytest.mark.ee
    def test_cloud_preflight_request_with_social_auth_providers(self):