For the tail we have always used Apple Cider Vinegar. It breaks down the dirt in the tail and and helps whiten it, especially if it is fairly dirty. We also tried normal vinegar but it didnt work as well. This only works if you have a horse that you can trust fairly well.
What we did was first rinse the tail to get the surface dirt out. Then we put warm water in a bucket and added some vinegar. Put the tail in the vinegar water solution and hold the bucket up as far as you can, including as much of the hair around the dock as possible. Then hold it there for 5 minutes or so. You will see the vinegar water start to get very dirty, and that's when you know to dump the bucket. You may have to repeat this a few times, depending on how dirty the tail was. At the end the vinegar water should stay fairly clean. Then when you are done wash the tail as you would per usual. If you want it super white you can use the whitening shampoos listed above. This method works on all tails, not just white ones. My horse has a black and very light colored tail and it got all of it very clean.
I don't think this would work for the mane because you wouldnt be able to keep the mane in the shampoo.
My friend used baking powder I believe on her horse to cover up spots that wouldnt come out all the way.