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

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

Кроме получения доступа к списку контактов и добавления новых встреч, разработчик может также отсылать сообщения по электронной почте или через 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("alexander.klimoff@gmail.com");

 EmailMessage msg = new EmailMessage();

 // Кому письмо

 msg.To.Add(recipient);

 // Тема письма

 msg.Subject = "О вашей книге";

 // Текст письма

 msg.BodyText = "Спасибо за книгу";

 msg.Send("ActiveSync");

}