You may notice what appears to be a dirt stain along the edge of you E46 M3 external mirror. This is actually rust beneath the glass surface. You can’t clean it, but fortunately, you can easily replace the mirror.
There were two styles of mirrors used. The early style had a clip that spun in place from behind. The older style ones just pressed on. Replacement is similar. First determine which style you have. Adjust your mirror up as far as it will go and slide a screw driver between the lower edge and the housing. If you have the spin-on catch, there will be a notch you’ll need to engage before you pry it off. There may also be adhesive you’ll need to separate. In this case, I have the newer style that just presses on.
Work your pry tool behind the mirror and gently pry it loose from the backing plate. Take your time and don’t use too much pressure. It will pop out once a couple of the catches are released.
Gently unplug the wires to the heating element. If you have the older style mirror, you will have to use lead extensions as BMW switched ends of the mirror where the wires attach in the update.
Plug in the wires on the new mirror and line them up to the holes in the backing plate.
Gently press in place.