According to the U.S. Postal Service, it can take anywhere from 7 to 20 days for a package to travel from Texas to Afghanistan, the average being two weeks. During holidays, it is common for packages to take up to three weeks to arrive in Afghanistan.
According to the Department of Defense, a package must be addressed to an individual soldier using the name and unit, not to "Any Soldier" or "Any Serviceperson," and the package should not weigh more than 70 pounds. It is useful to visit the website Boots on Ground for a list of items that can't be sent to Afghanistan to avoid potential shipping issues.