We actually use a reading/spelling program that says that, despite what people think, most of English *does* follow rules. The problem is that people just don't know that many of them. Yes, i is often before e, but there are classes of words that have ei (like neighbor, weigh, etc.), etc. I have learned *so* much from it! Like why have and give have an e at the end... because English words don't end with v. And why horse has an e at the end... because it clarifies that it's an s sound, but not a plural word. Sometimes the words are borrowed words so they follow the rules of the language they come from, etc. You see that in some ie/ei words that come from the German, where two vowels generally means you pronounce the second vowel as a long sound.
I think that the silent e making the vowel says it's name is made clearer if you say that the silent e makes the vowel *long*. The problem is that kids often have trouble understanding what a long vowel is. So we often say that a long vowel is when the vowel says it's name. It's true for most of the vowels, but u can either say yoo or just oo. So you have to give that little bit of explanation in there. I think there is actually a rule for when it makes the yoo sound (cute) or just the oo sound (nude), probably something to do with the consonant that comes before it, but we haven't gotten to that lesson yet.
This reading/spelling program is so interesting that my husband will actually listen in from the next room, and we'll be in mid lesson, and we'll suddenly hear him say, "Really? Wow! I never knew that was why that worked that way!" or whatever. It's pretty funny.