Self-based registration for Moodle and self-enrollment in a course, both send emails currently. If a teacher enrolls a student in a course, no email is sent.
For self-registration to Moodle you will need to enable E-Mail based registration in Site Administration->Users->Authentication->Manage Authentication. This will use your email settings to send a confirmation email to the user that includes instructions for verifying their registration.
For self-enrollment in a course you will need to allow a course to be self enrolled by using the setting Course enrollable when creating a course and also enabling the Send welcome message in Site Administration->Courses->Enrollments.
Hope that helps. For additional information, see the Moodle documentation: