When the choices for the shirt are toss it in the trash cause I'm not wearing stained white shirts, I've tried 2 things and sometimes been successful depending on whether there is enough cotton in the fabric like at least 65%. One is boiling water for sugar based stains. Pour the boiling water directly on the stain. Be careful. I have a laundry tub so I lay the garment in there, then rewash. The other is pure bleach such as chlorox but not the ones for colors or other purposes. For this same process except much more carefully - put an old facecloth or towel under the stain - and apply the chlorox straight, just covering the stain - not all the shirt. Let it sit for maybe 3 minutes and then rinse thoroughly with water. If the stain isn't gone during the 3 minutes, it didn't work. This is for white clothing that I'm just not going to use anymore if stained. The bleach is very tough on the fabric and can actually eat a hole if left too long on certain fabrics so be careful. And don't splash the bleach or what you are wearing can get ruined. If it's working you can actually watch the stain disappear.