I'll try to explain with an example.
Your reasoning was that you first calculate the probability that the first letter doesn't go in its proper envelope (probability of (n-1)/n)).
Then, same probability for the second, etc...
But now consider this situation : you put the first letter in the envelope that is supposed to contain the second letter. Then the probability of putting the second letter in a wrong envelope is 1, because its 'correct' envelope is already taken !
And you have this situation every time you have to put a letter in an envelope... this is why you have to use derangements