That was less directed at you and more at the idea that just pinning versions solves the issue which is unfortunately very frequent among proponents of things like vendoring, nix, Docker containers and similar tools that allow a project to stay on an old version for potentially years. Sorry if that came across that way.
In terms of domains not really. Only the free-mailers use domains by one of those. The corporate users still need to set up their DNS properly for those technologies even if they use one of them as a mail hoster.
Don’t be the guy who ignores reports that your software doesn’t work with new dependency versions just because you can’t be arsed to test with anything else even if the report looks like a legitimate problem.
The ones I had which allow mobile data connections also allow use as a phone. Not to mention that most tablets are the wrong size to carry them around all the time.
Email (on domains without DKIM and SPF at least) can be spoofed so easily, you could literally do it with on-board tools and a few lines of typing though. It is literally just sending an email that has your email address in the From header.
Honestly, it would just be nice if someone made a mobile computing device that wasn’t phone-capable at all. It is outdated functionality to have just one or two services use a totally separate protocol from everything else.
I doubt most of the companies tracking people with their phone even bother trying to get at that data since finding your identity is so easy when there is some tracking in almost every app.
Icinga2 works reasonably well for us. It is easy to write new checks as small shell scripts (or any other binary that can print and set and exit status code).
Opening the connections is one thing but resends and stream ordering can also cause issues since they might delay the latest information reaching the user space application even if the packet for them has actually arrived just because some earlier packet has not. There can also be issues with implementations waiting for enough data to be available before sending a packet.
More importantly, if you do things programmatically you will still have the information how you did it last time the next time you need to move to a new major version of something which is particularly important in a home setting where you don’t do tasks like that often.