Отсылка письма
Отсылка письма
Рассматриваемый пример покажет, как можно посылать электронное письмо любому человеку, чья запись присутствует в списке Контакты. При этом разработчик может присоединять к отправляемому сообщению файл.
В этом примере будет применен другой подход к дизайну программы. Так как средства навигации в смартфоне довольно скудны, желательно сводить к минимуму число нажатий на клавиши. Например, одна и та же клавиша может запускать разные функции.
После создания нового проекта SendEmailSmartphone_CS на форме надо разместить текстовое поле txtContact, в котором будет отображаться выбранный электронный адрес.
Также потребуется изменить код из предыдущего примера. Нужно переместить код из обработчика события menuSoftKey1_Click в отдельный метод SelectContact(). Это делается для того, чтобы можно было более гибко настраивать программу под свои нужды. Соответствующий код приведен в листинге 10.21.
Листинг 10.21
private void SelectContact() {
// Создаем экземпляр окна выбора контактов
ChooseContactDialog contactDial = new ChooseContactDialog();
// а также убираем возможность создания новых контактов
contactDial.HideNew = true;
// выводим диалоговое окно на экран
if (contactDial.ShowDialog() == DialogResult.OK) {
selContact = contactDial.SelectedContact;
txtContact.Text = selContact.FileAs;
menuSoftKey1.Text = Послать;
}
}
Следует обратить особое внимание на строку
menuSoftKey1.Text = "Послать";
Когда пользователь выберет пункт Контакты, а затем нужный контакт, то текст в пункте меню menuSoftKey1 меняется на строчку Послать. Также надо добавить новый пункт меню для очистки текстовых полей. Это позволит пользователю выбрать новый контакт для отправки письма. Надо открыть файл Form1.cs в дизайнере формы. На правой стороне меню к уже имеющемуся пункту Выход следует добавить новый пункт меню Очистить. Созданный пункт получит имя mnuClear. Код для метода mnuClear_Click приведен в листинге 10.22.
Листинг 10.22
private void mnuClear_Click(object sender, EventArgs e) {
txtContact.Text = string.Empty;
menuSoftKey1.Text = "Контакты";
}
Это позволить очистить текстовое поле и в пункте меню menuSoftKey1 отобразить строку Контакты.
Теперь можно писать функцию, отправляющую электронное письмо. В примере сообщение будет отправляться с вложенными файлами. Для примера можно использовать одну из картинок, входящих в состав Windows Mobile 5.0.
Для отправки письма используется класс EmailMessage. Чтобы использовать этот класс в нашем примере, надо сначала установить ссылку на пространство имен System.Messaging, выполнив команду меню Project?Add Reference. После этого можно пользоваться данным пространством имен при помощи ключевого слова using:
using System.Messaging;
Код метода SendEmail(), который будет отвечать за отправку письма, приведен в листинге 10.23.
Листинг 10.23
private void SendEmail() {
// Создаем экземпляр класса EmailMessage
EmailMessage message = new EmailMessage();
// Тема письма
message.Subject = "Поздравление";
// Текст письма
message.BodyText = "Поздравляю с Днем Варенья!";
// Выбираем адресата
Recipient client = new Recipient(selContact.Email1Address);
message.To.Add(client);
// добавляем в письмо вложенный файл
Attachment image = new Attachment(@"My DocumentsMy PicturesFlower.jpg");
message.Attachments.Add(image);
message.Send("ActiveSync");
txtContact.Text = string.Empty;
menuSoftKey1.Text = "Контакты";
}
Итак, в методе SendEmail объявляется и создается экземпляр класса EmailMessage. В свойствах Subject и BodyText задаются тема и текст письма. Электронный адрес из выбранного контакта записывается в свойстве EmailMessage.То. Для этого создается экземпляр класса Recipient и передается свойство selContact.Email1Address.
Теперь можно добавить в письмо вложенный файл. Для этого создается экземпляр класса Attachment, которому в конструктор передается полное имя выбранного файла. После этого свойству EmailMessage.Attachment передается значение экземпляра.
Теперь для отправки письма все готово. Следует вызвать метод message.Send и очистить текстовое поле. Также надо восстановить в меню строку Контакты. Так как для menuSoftKey1 используются два метода, SendEmail и SelectContact, то нужно определиться, когда какой метод следует использовать. Для этого нужно получить значение свойства menuSoftKey1.Text, как показано в листинге 10.24.
Листинг 10.24
private void menuSoftKey1Click(object sender, EventArgs e) {
if (menuSoftKey1.Text == "Послать")
SendEmail();
else
SelectContact();
}
Настало время проверить нашу программу. После запуска приложения надо выбрать адресата, которому предназначено письмо. Для отображения окна выбора контакта следует нажать кнопку Soft Key 1. Можно выбрать любой контакт из имеющегося списка. После этого в текстовом поле появится выбранный контакт. При этом пункт меню обретет название Послать.
Затем надо снова нажать кнопку Soft Key 1. Кнопка Soft Key 1 примет первоначальный вид, в меню будет отображаться строка Контакт, а текстовое поле будет очищено. Выходим из программы. Но нам надо убедиться, что письмо было отправлено. Поэтому следует перейти на экран Сегодня и нажать кнопку Пуск, после чего активировать пиктограмму Сообщения. В появившемся списке надо выбрать пункт Эл.п. Outlook, а из пункта Меню перейти в подменю Папки. Затем осталось перейти в папку Исходящие. В ней должно находиться новое сообщение.
Более 800 000 книг и аудиокниг! 📚
Получи 2 месяца Литрес Подписки в подарок и наслаждайся неограниченным чтением
ПОЛУЧИТЬ ПОДАРОКЧитайте также
Совет 6: Поддельные письма
Совет 6: Поддельные письма Не ждали электронного письма от налоговой службы, а оно пришло? Да еще и с требованием немедленно уплатить штраф, пока дело не передали в прокуратуру, суд или расстрельную команду? Не горячитесь и не спешите кликать по ссылкам из письма или
Формат письма.
Формат письма. Обычное письмо в сети FIDONet имеет следующие поля, обязательные к заполнению :From : <Имя автора письма> at <адрес автора письма> To : <Имя адресата> at <адрес адресата> Subj : <тема>Заметим, что слово Subj (сабж, сабдж, субж, субдж, …) часто применяется как
Текст письма
Текст письма Здесь выложите все свои основные козыри. Опишите опыт и навыки, связанные с рассматриваемой должностью. Укажите только самую лучшую информацию о себе: самые впечатляющие достижения, самые удачные проекты. Все письмо должно быть насквозь пропитано
Урок 14 Пишем письма
Урок 14 Пишем письма Итак, приветствую вас на нашем 14-м уроке.Включайте компьютер, соединяйтесь с Интернетом, запускайте браузер и топайте сразу на mail.ru. Пока мы научились только получать письма, сейчас потихоньку освоим все остальное.Начнем урок с адресной книги.Если вы
5.4. Письма мелким почерком
5.4. Письма мелким почерком Электронная почта (e-mail) – очень популярная служба Интернета. Вряд ли стоит объяснять ее суть. Почта – она почта и есть. Вы пишете письма, ваш адресат их получает, все как при обычном почтовом сообщении. Только письма, почтальоны, почтовые
«Нигерийские» письма
«Нигерийские» письма Особое распространение этот способ выманивания денег получил в Нигерии еще до появления Интернета: сначала использовалась обычная почта, но именно Интернет позволил методу стать массовым. Суть его проста. От имени президента, жены бывшего
Создание и отправка письма
Создание и отправка письма Существует очень легкий и быстрый способ создания и отправки письма с использованием технологии, применяемой на веб-страницах. С помощью ключевого слова mailto создается заготовка письма, в которой указываются автор сообщения, тема и текст
Глава 9 Пишите письма
Глава 9 Пишите письма Иногда мне приходят такие электронные письма, что я готов порвать их на мелкие электроны! Б. Гейтс. Из личной переписки Краткое содержание• Электронный почтовый ящик• Почта Windows как она есть• Домашнее задание 9Путешествия по Интернету интересуют
Текстовые письма
Текстовые письма Как же пользоваться почтовым ящиком?Прежде всего, конечно, необходимо установить соединение с Интернетом.Чтобы получить свои письма, достаточно нажать кнопку доставки почты, которая есть в каждой почтовой программе на панели инструментов, или нажать