Let’s take a look at “e” without any diacritical marks (if you are interested in what the diacritical marks (i.e. è, é, ê, and ë) do, you can read my previous article). It forms a part of some letter groups, such as “oeu” (for example in “soeur” (sister)) which is pronounced as /œː/, “eux” as in “ceux” (those) pronounced /ø/, and many others. I don’t consider trying to memorize a list of such letter groups useful; it is much more effective to assimilate them naturally by listening while reading a transcription at the same time (a great tool for this is LingQ, an online language learning tool). The sound difference between /œ/ and /ø/ is subtle; when you listen to French, try to remember that in French, there are two “aauugh” sounds, and try to notice the difference.
E that doesn’t belong to a letter group
Once you know that the “e” you see does not form a part of a larger letter group, you have to look at its position in the word. When it is the last letter of a word consisting of multiple syllables, or such a word ends in the group “es” or ends in “ent” and is a verb, it is almost certainly silent (or the whole group is silent, resp.); for example, in je mange, tu manges, ils mangent (I/you/they eat), the final -e, -es, -ent are all pronounced the same, i.e. they are not pronounced at all (the pronunciation is always /mɑ̃ʒ/). Similarly, fête (holiday) is pronounced /fεt/; the final “e” is silent.
However, the fact that the final “e” or a group with it is silent does not mean that it has no function at all. As you probably know, in French, final consonants are often not pronounced (but this would take another post to fully explain). For example, il sort (he leaves) is pronounced as /il sɔʀ/. However, when a silent “e” or a silent group of letters with “e” follows the final consonant, it is pronounced, so ils sortent (they leave) is pronounced as /il sɔʀt/, i.e. the final silent “ent” changed the pronunciation. Notice also that although the final “s” is also (almost) always silent, it does not make the previous consonant audible, e.g. petit (small) and petits (small plural) are both pronounced /pəti/, but petite (small feminine) and petites (small feminine plural) are both pronounced /pətit/. The s for plural actually in rare cases ‘erases’ the previous consonant; for example, oeuf (egg) is pronounced /œf/, but oeufs (eggs) is just /ø/.
Another important function of a silent “e” is to change the pronunciation of “g” from /g/ to /ʒ/. The verb manger is always pronounced with the /ʒ/ sound, but mangons (a non-existing word), which one could expect as the first person plural form of manger, would be pronounced with /g/. Therefore, it is written as mangeons, where the “e” is silent.
E in open syllables
In monosyllabic words, such as je, ne etc., the pronunciation depends on how much you want to articulate; it is common to keep the “e” silent and pronounce, for example, je ne as /ʒn/, but you can also try to sound more articulate by pronouncing it /ʒənə/. This is probably the pronunciation they have taught you in school (if you learned French there), but the first one is more common in everyday speech.
This takes us to the second possible pronunciation of “e”, namely /ə/ (as “a” in the name Tina). It is pronounced this way in all open syllables (i.e. syllables that don’t end with a consonant), except the final syllables in multisyllabic words; for example, gouvernement (government) is pronounced /guvεʀnəmɑ̃/. The word consists of four syllables: gou-ver-ne-ment. The third syllable is open, i.e. “ne” is pronounced /nə/, while the second syllable, “ver”, is closed (i.e. it ends with a consonant), and so it is pronounced /vεʀ/ (i.e. the “e” sounds as in “get”), which we will explain in the next paragraph. Similarly ressembler (to ressemble) is pronounced /ʀəsɑ̃ble/, because “re” is an open syllable. However, as with words like je, ne etc., the /ə/ sound can usually be dropped in everyday speech, e.g. gouvernement and ressembler can be pronounced also as /guvεʀnmɑ̃/ and /ʀsɑ̃ble/, respectively.
E in closed syllables
The last case we have to treat is closed syllables. It can be said that “e” in a closed syllable is pronounced as /ε/ (as “e” sounds in “get”), unless ‘dictated otherwise’ by groups it appears in; for example, maternel (maternal) is pronounced /matεʀnεl/ because both “ter” and “nel” are closed syllables. There are some obvious groups that change the pronunciation, such as the combinations “em” and “en” that change the pronunciation to a nasal “a”, as in mental (mental) which is pronounced /mɑ̃tal/. However, there are also some other, more subtle (but important) changes. There are several situations in which “e” is pronounced /e/ (as “a” in “jail”).
This happens mostly with the “-er” ending of an infinitive, “-ez” ending of a word, or a monosyllabic word that ends in “es”. For example, parler (to speak), laver (to wash) etc. are all pronounced with /e/ at the end (“r”, in the case of infinitives, is silent). “-ez” can appear as a part of ordinary words, such as nez /ne/ (nose), or as the ending of the second person plural of words (such as parlez /paʀle/ ([you] speak) (i.e. “parler” and “parlez” are pronounced exactly the same). It is also important to pronounce words like les /le/ (the, plural), ces /se/ (these, masculine) etc. correctly to distinguish them from the words le /lə/ (the, masculine singular), ce /sə/ (this, masculine), c’est /sε/ (this is). Notice, however, that es ([you singular] are) itself is pronounced /ε/. It would be unnatural to pronounce it /e/, as tu es (you are) would sound really awkward.