MailMessage myMessage = new MailMessage();
// Инициализация полей сообщения...
SmtpClient mySmtpClient = new SmtpClient();
// Инициализация клиента -- добавление хоста, имени пользователя и пароля
mySmtpClient.Send(myMessage);
Так вот, в помощь нам ASP.NET предоставляет пару вкусняшек. Первая -- автонастройка объектов SmtpClient из файла web.config. Итак, добавляем в файл конфигурауии следующее:
Ясно, что в поле from нужно вставить адрес, с которого будут отсылаться письма, в поле host адрес smtp-сервера для отправки. При необходимости можно ещё указать порт для подключения и некоторые другие параметры.
Всё, теперь после создания класса SmtpClient он уже настроен в соответствии с указанными в файле web.config параметрами. Извлекать их специально не нужно, всё за вас сделает .NET.
Вторая фишка касается этапа разработки и тестирования ПО. Если проект разрабатывается в команде, то для тестирования настраивать smtp-сервер для каждого программиста не хочется, да и ненужный поток писем совсем необязателен.
Честно сказать, я просто не смог настроить smtp таким образом, чтобы он отправлял письма, и каждый раз приходилось наталкиваться на Exception, что жутко раздражало :)
Так вот, для этих случаев можно настроить web.config таким образом, чтобы письма не отсылались, а просто сохранялись на диск в указанную папку.
Папка c:\Temp\ должна обязательно существовать.
Теперь на этапе разработки нас не будут беспокоить проблемы с настройкой smtp и, например, отсутствием интернета. Когда проект будет завершен и необходимо сделать Realease -- просто измените файл web.config так, чтобы он отправлял письма.