The exact formulas for the capture of weakly interacting massive particles (WIMPs) by a massive body are derived. Capture by the earth is found to be significantly enhanced whenever the WIMP mass is roughly equal to the nuclear mass of an element present in the earth in large quantities. For Dirac neutrino WIMPs of mass 10-90 GeV, the capture rate is 10-300 times that previously believed. Capture rates for the sun are also recalculated and found to be from 1.5 times higher to 3 times lower than previously believed, depending on the mass and type of WIMP. The earth alone or the earth in combination with the sun is found to give a much stronger annihilation signal from Dirac neutrino WIMPs than the sun alone over a very large mass range. This is particularly important in the neighborhood of the mass of iron where previous analyses could not set any significant limits.