Отправка и получение сообщений 


Мы поможем в написании ваших работ!



ЗНАЕТЕ ЛИ ВЫ?

Отправка и получение сообщений



Теперь мы рассмотрим действия, которые необходимо выполнять для отправки и получения сообщений MimeMessages. Сначала рассмотрим процесс создания и отправ­ки сообщения, а затем — его получения (прочтения).

Отправка сообщений

Ниже приведен перечень действий, которые необходимо выполнить для отправки сообщения:

Создание экземпляра объекта Session путем передачи ему параметров соедине­ния с почтовым сервером.

Создание экземпляра объекта MimeMessage, установка для него необходимых атрибутов (from, to и subject) и содержимого.

Доставка сообщения при помощи класса Transport.

Теперь рассмотрим код, необходимый для выполнения каждого из действий приве­денного выше списка:

• Получение экземпляра объекта Session (обратите внимание: некоторые из клю­чей объекта Properties непосредственно зависят от используемого протокола; здесь стоит обратиться к документации, предоставленной создателем конкретной реа­лизации протокола):

Properties props = new Properties ();

// Добавляем протокол (SMTP)

props.put("mail.transport.protocol","smtp");

// Добавляем имя почтового сервера

props.put("mail.smtp.host","smtp.mydomain.com");

// Создаем экземпляр объекта Session

Session sess = Session.getDefaultlnstancefprops,null);

// Создание экземпляра объекта MimeMessage:

// Создаем экземпляр объекта MimeMessage MimeMessage msg = new MimeMessage(sess);

// Устанавливаем адрес FROM

msg.setFrom(new InternetAddress("j2ee@mydomain.com"));

// Устанавливаем список адресов TO

msg.setRecipients(Message.RecipientType.TO,

InternetAddress.parse ("user@mydomain.com",false));

/ / Устанавливаем subj ect

msg.setSubject("Это — тема сообщения");

// Добавляем содержимое письма

msg.setContent("А это — содержимое","text/plain");

// Приведенная выше строка может быть заменена на эту: //msg.setText("A это — содержимое");

// Доставка сообщения:

// Отправляем сообщение с помощью Transport Transport.send (msg);

 

Получение сообщений

Ниже приведен перечень действий, которые необходимо выполнить для получения сообщения:

Создание экземпляра объекта Session путем передачи ему параметров соедине­ния с почтовым сервером.

Получение указателя на Store/Mailbox.

Открытие папки.

Получение сообщений и их содержимого.

Закрытие папки.

Теперь рассмотрим код, необходимый для выполнения каждого из действий приве­денного выше списка:

• Создание экземпляра объекта Session (обратите внимание: некоторые из ключей объекта Properties непосредственно зависят от используемого протокола;

здесь стоит обратиться к документации, предоставленной создателем конкретной реа­лизации протокола):

Properties props = new Properties();

// Добавляем протокол (SMTP)

props.put("mail.store.protocol","рорЗ");

// Добавляем имя почтового сервера

props.put("mail.рорЗ.host","mydomain.com");

// Создаем экземпляр объекта

Session sess = Session.getlnstance(props,null);

• Получение указателя на Store/Mailbox:

Store store = sess.getStore("рорЗ");

store.connect("mailserver", "userid", "password");

• Открытие папки (обратите внимание: имя папки по умолчанию — INBOX. РОРЗ может работать только с одной папкой. Папки можно открывать только для чтения и для чтения-записи):

Folder inbox = store.getFolder("INBOX");

inbox.open(Folder.READ_ONLY);

• Получение сообщений и их содержимого (обратите внимание: в настоящий мо­мент сообщения все еще находятся на сервере. Метод getContent() возвратит сообщение в виде объекта Multipart, если оно состоит из нескольких частей):

Message[] msgs = inbox.getMessages();

for(int i=0;

i<msgs.length;

i++) System.out.println(msgs[i].getContent());

• Закрытие папки: inbox.close(false);

// вызов inbox.close(true) сотрет все удаленные сообщения в папке store. close ();

 



Поделиться:


Последнее изменение этой страницы: 2020-03-02; просмотров: 96; Нарушение авторского права страницы; Мы поможем в написании вашей работы!

infopedia.su Все материалы представленные на сайте исключительно с целью ознакомления читателями и не преследуют коммерческих целей или нарушение авторских прав. Обратная связь - 3.145.60.166 (0.005 с.)