To send emails in .Net use the
SMTPClient class[
^] by changing the DeliveryMethod Property you can specify to use an external SMTP server the default IIS pickup directory or a different pickup directory.
The other class to use with this one is the
SMTPClient.Credentials[
^] this allows you to specify login information for external SMTP servers.
For sending SMS you will need to register with an external service google for "email to sms gateway" and you will get lots of options.
As for if knowing if an email goes to the correct address that's what your code is for i.e. make sure you put the correct address. AS for knowing if delivery was successful you can specify the DeliveryNotificationOptions in the
MailMessage Class[
^]
When using IIS to send emails if it does not have a valid domain for example you are using a server on an intranet and trying to send emails external to the intranet those messages can be classified as spam as the address specified in the mail message can't be validated as coming from a valid domain. This part of the configuration though should be done by a competent systems engineer all you should have to concern yourself with is which smtp server to use IIS or an external one.