Читаем Программирование КПК и смартфонов на .NET Compact Framework полностью

   new Recipient(contactDialog.SelectedContact.Email1Address));

  message.Subject = "С днем рождения";

  message.BodyText =

   "Уважаемый Владимир Владимирович! Поздравляю вас с днем рождения!

   Посылаю вам открытку с видами Петербурга. Ваша Люда.";

  message.Attachments.Add(

   new Attachment(@"\My Documents\piter.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");

}

SMS-сообщения

Отправка SMS-сообщения с помощью новых возможностей тоже очень и очень проста. Эти сообщения весьма популярны у владельцев мобильных телефонов. Раньше для отсылки и приема SMS

приходилось использовать неуправляемый код, очень сложный для восприятия неопытным программистом. Теперь создать код, отсылающий сообщение, не сложнее, чем написать само сообщение, что иллюстрирует листинг 10.9.

Листинг 10.9.

private void butSendSMS_Click(object sender, EventArgs e) {

 ChooseContactDialog contactDialog = new ChooseContactDialog();

 contactDialog.Title = "Выберите получателя";

 if (contactDialog.ShowDialog() == DialogResult.OK) {

  // Создаем SMS-сообщение

  SmsMessage message = new SmsMessage(

   contactDialog.SelectedContact.MobileTelephoneNumber,

   "Купи хлеба. Жена");

  message.RequestDeliveryReport = true;

  // Посылаем сообщение

  message.Send();

 }

}

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

Здесь я хочу сделать небольшое отступление и открыть вам большой секрет. Разработчик может посылать SMS-сообщения самому себе при помощи эмулятора! Если послать SMS-сообщение из эмулятора на телефонный номер 4250010001, то оно вернется на эмулятор (рис. 10.7).

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

ПРИМЕЧАНИЕ

При отладке приложения в эмуляторе надо использовать целевое устройство типа «Phone Edition». Если проверять пример в обычном эмуляторе, то будет отображено сообщение об ошибке «Could not load sms.dll». Впрочем, это не удивительно. Если эмулятор не имеет телефонных функций, то как можно отправлять SMS-сообщение?

Листинг 10.10

private void butSendSMS2_Click(object sender, EventArgs e) {

 SmsMessage message = new SmsMessage();

 // Номер получателя

 message.To.Add(new Recipient("4250010001"));

 // Текст сообщения

 message.Body = "Позвони домой";

 // Посылаем сообщение

 message.Send();

}

Результат выполнения этого кода приведен на рис. 10.7.

Перейти на страницу:

Похожие книги

C++ Primer Plus
C++ Primer Plus

C++ Primer Plus is a carefully crafted, complete tutorial on one of the most significant and widely used programming languages today. An accessible and easy-to-use self-study guide, this book is appropriate for both serious students of programming as well as developers already proficient in other languages.The sixth edition of C++ Primer Plus has been updated and expanded to cover the latest developments in C++, including a detailed look at the new C++11 standard.Author and educator Stephen Prata has created an introduction to C++ that is instructive, clear, and insightful. Fundamental programming concepts are explained along with details of the C++ language. Many short, practical examples illustrate just one or two concepts at a time, encouraging readers to master new topics by immediately putting them to use.Review questions and programming exercises at the end of each chapter help readers zero in on the most critical information and digest the most difficult concepts.In C++ Primer Plus, you'll find depth, breadth, and a variety of teaching techniques and tools to enhance your learning:• A new detailed chapter on the changes and additional capabilities introduced in the C++11 standard• Complete, integrated discussion of both basic C language and additional C++ features• Clear guidance about when and why to use a feature• Hands-on learning with concise and simple examples that develop your understanding a concept or two at a time• Hundreds of practical sample programs• Review questions and programming exercises at the end of each chapter to test your understanding• Coverage of generic C++ gives you the greatest possible flexibility• Teaches the ISO standard, including discussions of templates, the Standard Template Library, the string class, exceptions, RTTI, and namespaces

Стивен Прата

Программирование, программы, базы данных