Книга: Программирование КПК и смартфонов на .NET Compact Framework

Электронная почта

Электронная почта

Кроме получения доступа к списку контактов и добавления новых встреч, разработчик может также отсылать сообщения по электронной почте или через SMS.

Для этих целей используются соответствующие пространства имен Microsoft.WindowsMobile.PocketOutlook.EmailAccount и Microsoft.WindowsMobile.PocketOutlook.SmsAccount. Классы из этих пространств имен позволяют легко интегрировать отправку сообщений в ваши приложения. Например, класс EmailAccount позволяет создавать электронные письма и присоединять к ним файлы.

В следующем примере демонстрируется вызов диалогового окна ChooseContactDialog для выбора нужного адресата из списка контактов, которому будет отправлено электронное письмо. Приложение создаст сообщение, в коде будет указана и тема письма.

Также в письмо будет добавлен вложенный файл, после чего сообщение будет отправлено выбранному ранее лицу. Все эти действия проиллюстрированы листингом 10.7.

Листинг 10.7

private void butSendEmail_Click(object sender, EventArgs e) {
 ChooseContactDialog contactDialog = new ChooseContactDialog();
 contactDialog.Title = "Выберите контакт для отправки email";
 if (contactDialog.ShowDialog() == DialogResult.OK) {
  EmailMessage message = new EmailMessage();
  message.To.Add(
   new Recipient(contactDialog.SelectedContact.Email1Address));
  message.Subject = "С днем рождения";
  message.BodyText =
   "Уважаемый Владимир Владимирович! Поздравляю вас с днем рождения!
   Посылаю вам открытку с видами Петербурга. Ваша Люда.";
  message.Attachments.Add(
   new Attachment(@"My Documentspiter.jpg"));
  using (OutlookSession session = new OutlookSession()) {
   session.EmailAccounts[0].Send(message);
   session.Dispose();
  }
 }
}

После запуска программы и нажатия кнопки Послать письмо будет открыто стандартное окно Контакты, где можно выбрать адресата. После выбора получателя по его электронному адресу будет отправлено электронное письмо с заданным содержанием.

Если надо отправить электронное письмо адресату, который не внесен в адресную книгу, то пример надо переработать. Новый код приведен в листинге 10.8.

Листинг 10.8

private void butSendEmail2_Click(object sender, EventArgs e) {
 Recipient recipient = new Recipient("[email protected]");
 EmailMessage msg = new EmailMessage();
 // Кому письмо
 msg.To.Add(recipient);
 // Тема письма
 msg.Subject = "О вашей книге";
 // Текст письма
 msg.BodyText = "Спасибо за книгу";
 msg.Send("ActiveSync");
}

Оглавление книги


Генерация: 0.047. Запросов К БД/Cache: 0 / 0
поделиться
Вверх Вниз