## 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
"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": True, "github": False, "gitlab": False},
                    "opt_out_capture": False,
                    "posthog_version": VERSION,
                    "email_service_available": True,
                    "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_ee_preflight_with_users_limit(self):
        from ee.models.license import License, LicenseManager
        super(LicenseManager, cast(LicenseManager, License.objects)).create(
            key="key_123", plan="base_clickhouse", valid_until=timezone.datetime(2038, 1, 19, 3, 14, 7), max_users=3,
        )
        OrganizationInvite.objects.create(organization=self.organization, target_email="invite@posthog.com")
        response = self.client.get("/_preflight/")
        self.assertEqual(response.status_code, status.HTTP_200_OK)
        self.assertEqual(response.json()["licensed_users_available"], 1)