I had a player with a Fighter/Bard in chain mail try to cast this spell right before charging into combat. He had been told by the other magic wielding characters that this was his best option before combat. What he didn't know and what the others didn't understand is that Mage Armor doesn't stack with a normal armor bonus.
Conjuration (Creation) [Force]
Level: Brd 1, Sor/Wiz 1
Components: V, S, F
Casting Time: 1 action
Target: Creature Touched
Duration: 1 hour/level (D)
Saving Throw: Will negates (harmless)
Spell Resistance: Yes (harmless)
An invisible but tangible field of force surrounds the subject of mage armor, providing a +4 armor bonus to AC. Unlike mundane armor, mage armor entails no armor check penalty, arcane spell failure chance, or speed reduction. Since mage armor is made of force, incorporeal creatures can't bypass it the way they do normal armor.
Focus: A piece of cured leather.
Player's Handbook p. 223
The text of this spell provides no limitations or restrictions for its use. I believe this was an oversight in the printing of the book that will be fixed hopefully in the next printing. If a person just reads this section, a mage armor spell becomes one of the best in the game. However, a person needs to read all the rules regarding armor to get the full picture.
Armor Bonus: The protective value of the armor. Bonuses from armor and a shield stack. This bonus is an armor bonus, so it does not stack with other effects that increase your armor bonus, such as the mage armor spell or bracers of armor. Player's Handbook p. 104
When both sections are read, it becomes appearent that the mage armor spell does not function properly when someone is wearing mundane armors. I have further defined this that the higher bonus is the one that counts. So a bard using leather armor would still benifit from the mage armor's +4 armor bonus instead of having his +2 armor bonus from the leather. It is also a viable option for a fighter to wear bracers of armor due to the fact that the bracers of armor count even when normal armors are ignored.