My solution for this kind of thing is to support a router that connects to the internet. Then on the internet side run a DHT so all the internet routers/gateways can find each other. Each router would keep track of the devices they have seen recently, and publish them to a DHT. Much how running a bittorrent client for a particular torrent publishes that fact to the DHT so anyone on the planet can find peers of that torrent.
So if Bob at a ski resort in Colorado want to message someone in Germany his message would propagate around the mesh until a gateway noticed it was for a client that hasn't ever been seen by that gateway. The gateway/router would do a DHT lookup, and would find a router in Germany had seen that user recently and forward the message there. Next time that router heard (directly or indirectly) that the recipient was online it would forward it (directly or through store and forward) to the user. Sure this process might take minutes, but generally it would still be useful.
Imagine an island like Haiti or Puerto Rico is hit by a storm and only one in 5000 people has a cell signal or sat uplink. Add a mesh and just a few uplinks for the whole island and important communications could get through. Maybe even putting a sat uplink on a car that could drive around and allow messages in/out even just once a day could be quite valuable. This of course needs to be combined with store/forward messages and the other various delay tolerant network features.
Seems much more useful than using HF radios to scan the planet for open Ham <-> email gateways. I was rather amused to hear that to communicate across Puerto Rico they often ended up sending messages through an email gateway they could reach in Italy... just to get messages across the island.