Ich mache es mir mal einfach: Copy and paste...
Aus dem Duden, Band 9:
Deutsche Flussnamen sind im Allgemeinen Feminina:
»die Weser«, »die Oder«, »die Elbe«, »die Neiße«, »die Spree«, »die Havel«, »die Lahn«, »die Mosel«, »die Nahe«, »die Donau«.
Die wenigen maskulinen Flussnamen sind meist vorgermanischen Ursprungs:
»der Rhein«, »der Main«, »der Lech«, »der Inn«, »der Neckar«, »der Regen«, »der Eisack«.
Dass ihr Geschlecht männlich ist, wird damit erklärt, dass in vorgermanischer Zeit die Flüsse als verkörperte Götter betrachtet wurden.
Manche dieser vorgermanischen Flussnamen sind später unter germanischem oder slawischem Einfluss Feminina geworden (z. B. »die Elbe«, »die Oder«, »die Drau«), enthielten doch die Flüsse in germanischer Zeit oft einen erläuternden Zusatz, der den Begriff »fließendes Wasser« enthielt und sowohl im Lateinischen wie im Gotischen und Althochdeutschen (aha »Fluss«) ein Femininum war. (Teilweise hat sich dieser im Allgemeinen wieder geschwundene Zusatz noch in der Endung »-ach« erhalten.) Ausländische Flussnamen sind überwiegend Maskulina (der Nil, der Kongo [...]), Feminina sind die meisten auf -a oder -e endenden Flussnamen (die Wolga, die Lena)[...].