It's associated with the `Great Vowel Shift'. I found this on Hartford Courant, citing a letter from James McCawley (professor of linguistics at the University of Chicago at the time, I think currently acknowledged as the expert in his field) in a letter to language columnist William Safire (also highly regarded, but not really in the same league)...
As for the silent "t" in Christmas, McCawley explained that the "t" was once pronounced in words such as "Christmas," "glisten," "listen," "mistletoe" and "soften." (The pronunciation of the "t" in "often" by some speakers today is a remnant of this practice.)
But during the 1600s, the "t" sound was dropped whenever it was preceded by a spirant (a fricative consonant such as "s" or "f") and followed by a sonorant (a voiced consonant such as "l," "r," "m" or "n").
I really don't think I could add anything to such an eloquent summary.