<Enter the postal service, wearing a superhero cape.>
|USPS to the rescue!|
As long as you know that someone's travel itinerary, you can mail them an envelope or a package.
In the United States, the USPS has a service called "General Delivery." Mail addressed to an individual at General Delivery will be held at any post office for up to 30 days.
Individuals need identification to pick up the package. A driver's license, another state-issued ID, or a passport will do.
Mail sent via General Delivery should be addressed as follows:
|Addressing for General Delivery.|
The four-digit zip extension is particularly crucial for cities with multiple zip codes.
General delivery is not limited to the United States. Many other countries also support post restante (French for "post remaining") services. Although there is no fee to send mail via General Delivery in the US, some countries charge a fee for this service.
Update 4/23/2014: Thanks to Jenn, a cartographer from Adventure Cycling, for commenting on my post. Jenn's comment and the link she provided have gleaned three additional tidbits about General Delivery:
1) If you are a cyclist using Adventure Cycling maps, note that the zip codes for the towns you pass through are provided on the maps.
2) The USPS is required to hold General Delivery packages for only two weeks, though most post offices will hold the delivery for up to 30 days.
3) The recipient of the General Delivery can forward the envelope or package to another post office, free-of-charge. Typically, identification must be provided by the recipient to forward the package.
Update 12/13/2021: I have learned the hard way that General Delivery does not work for packages sent via UPS or FedEx. If a post office receives a package addressed General Delivery from any carrier other than USPS, the post office will refuse the delivery.