I can explain more but I want to stress that I am not sure if this is completely correct.
My answer is the same as CPhill got with his formula but I am still not convinced that my method is right.
It is the things you are questioning that i am not sure about but here is your explanation.
(b) I also bought 7 different postcards. How many ways can I send the postcards to my 3 friends, so that each friend gets at least one postcard?
The original answer was 15, that was if all the cards were the same.
possible numbers of bags each (total 7)
511 3 ways if all the same 7*6=42 3*42=126
the first person can get any of the 7 postcards, the second person gets any of the 6 remaining, the 3rd person gets the rest.
Hence 7*6* the number of ways if the cards had been all the same.
---------------
421 6 ways if all the same 7*6C2=105 6*105=630
the first person can get any of the 7 postcards, the second person gets any 2 of the 6 remaining, the 3rd person gets the rest.
Hence 7*6C2 times the number of ways if the cards had been all the same.
------------------
331 3 ways if all the same 7*6C3=140 3*140=420
The first person can get any of the 7 postcards, the second person gets any 3 of the 6 remaining, the 3rd person gets the rest.
Hence 7*6C3 times the number of ways if the cards had been all the same.
-------------------
322 3 ways if all the same 7C2*5C2=210 3*210=630
The first person can get any 2 of the 7 postcards, the second person gets any 2 of the 5 remaining, the 3rd person gets the rest.
Hence 7C2*5C2 = 210 times the number of ways if the cards had been all the same.
-------------------
Total 15 ways if all the same 1806 ways if all are different