I was sceptical about sunlight getting stains out, but it does work. Dd1 got bolognese stains on a new top her granny had given her (my MIL - nuff said) and tried every stain remover over under the sun (no pun intended) but it wouldn't shift.
Last ditch attempt following advice on here was to put on the line in the sun (was last year on that one sunny day we had) and bingo, they disappeared. Bloody amazing.
Eucalyptus oil is great for getting rid of stains like orange and tomato (and lots of others, too). You can get it from the chemist. Apply it directly to the stain (before washing/wetting), then just bung the item in the wash.
Wash stained items by themselves if you don't like the smell of eucalyptus, as it will transfer to other clothes in the wash.