A selfie is a picture taken of yourself by yourself. It can be taken with a smart phone or a normal camera. There are many variations of it. They can be with others or alone. The main thing is that the picture is taken by you of you.
Self portraits, again, can be taken with a smart phone or a normal camera. They traditionally need to show something a bout the person in the picture. They also must be taken by the same person in the photo. They shouldn't be with other people but can if that reveals something about the person.
There is a small difference in that selfies are more casual and self portraits are more formal and important. I prefer selfies because they are less casual and they require a lot less work in doing them. A self portrait is probably more valuable because there are less of them taken.