Spec-Zone .ru
спецификации, руководства, описания, API


javax.mail
Сеанс класса

java.lang.Object
  расширенный javax.mail.Session

public final class Session
расширяет java.lang. Объект

Сеанс class представляет почтовый сеанс и не разделяется на подклассы. Это собирает вместе свойства и значения по умолчанию, используемые почтовым API. Единственный сеанс значения по умолчанию может быть совместно использован многократными приложениями на рабочем столе. Неразделенные сеансы могут также быть созданы.

class Сеанса обеспечивает доступ к провайдерам протокола, которые реализуют Store, Transport, и связанные классы. Провайдеры протокола конфигурируются, используя следующие файлы:

Каждый javamail.X файлов ресурсов ищутся то, что они использовали три метода в следующем порядке:

  1. java.home/lib/javamail.X
  2. META-INF/javamail.X
  3. META-INF/javamail.default.X

Первый метод позволяет пользователю включать их собственную версию файла ресурсов, помещая это в lib каталог, где java.home точки свойства. Второй метод позволяет приложение, которое использует API JavaMail, чтобы включать их собственные файлы ресурсов в их приложение или файл фляги META-INF каталог. javamail.default.X файлов значения по умолчанию являются частью JavaMail mail.jar файл.

Расположение файла зависит от как ClassLoader метод getResource реализуется. Обычно, getResource метод перерывает ПУТЬ К КЛАССУ, пока это не находит требуемый файл и затем останавливается. У JDK 1.1 есть ограничение, что число файлов каждого имени, которое будет найдено в ПУТИ К КЛАССУ, ограничивается одним. Однако, это только влияет на метод два, выше; метод каждый загружается из определенного расположения (если позволено SecurityManager) и метод три, использует другое имя, чтобы гарантировать, что файл ресурсов значения по умолчанию всегда загружается успешно. J2SE 1.2 и позже не ограничиваются одним файлом имени.

Упорядочивание записей в вопросах файлов ресурсов. Если многократные записи существуют, первые записи имеют приоритет по более поздним записям. Например, первый найденный провайдер IMAP будет установлен как реализация IMAP значения по умолчанию пока явно не изменено приложением. Пользователь - или предоставленное систему приращение файлов ресурсов, они не переопределяют, файлы значения по умолчанию, включенные с API JavaMail. Это означает, что все записи во всех загруженных файлах будут доступны.

javamail.providers и javamail.default.providers

Эти файлы ресурсов определяют хранилища и транспорты, которые доступны на системе, позволяя приложение "обнаружить", какое хранилище и транспортные реализации доступны. Реализации протокола перечисляются один на строку. Формат файла определяет четыре атрибута, которые описывают реализацию протокола. Каждый атрибут "= "-разделенная пара значение-имя с именем в нижнем регистре. Каждая пара значение-имя является точкой с запятой (";") разделенный. Следующие имена определяются.

Названия атрибута в Файлах Провайдеров
ИмяОписание
протокол Имя, присвоенное протоколу. Например, smtp для Транспорта.
ввести Действительные доступы store и transport.
class Имя класса, которое реализует этот протокол.
поставщик Дополнительная строка, идентифицирующая поставщика.
версия Дополнительная строка, идентифицирующая версию.

Вот пример META-INF/javamail.default.providers содержание файла:

 protocol=imap; type=store; class=com.sun.mail.imap.IMAPStore; vendor=Sun Microsystems, Inc.;
 protocol=smtp; type=transport; class=com.sun.mail.smtp.SMTPTransport; vendor=Sun Microsystems, Inc.;
 

javamail.address.map и javamail.default.address.map

Эти файлы ресурсов отображают транспортные типы адреса на транспортный протокол. getType метод javax.mail. Адрес возвращает тип адреса. javamail.address.map файл отображает транспортный тип на протокол. Формат файла является серией пар значение-имя. Каждое ключевое имя должно соответствовать типу адреса, который в настоящий момент устанавливается на системе; должна также быть запись для каждого javax.mail.Address реализация, которая присутствует, если она должна использоваться. Например, javax.mail.internet.InternetAddress метод getType возвраты "rfc822". Каждый протокол, на который ссылаются, должен быть установлен на системе. Для случая news, ниже, клиент должен установить Транспортного провайдера, поддерживающего протокол сппн.

Вот типичное содержание a javamail.address.map файл:

 rfc822=smtp
 news=nntp
 

Автор:
Джон Мани, Билл Шеннон, Макс Спивэк

Сводка метода
 void addProvider(Provider provider)
          Добавьте провайдера к сеансу.
 boolean getDebug()
          Получите параметр настройки отладки для этого Сеанса.
 java.io.PrintStream getDebugOut()
          Возвращает поток, который будет использоваться для отладочной информации.
static Session getDefaultInstance(java.util.Properties props)
          Получите объект Сеанса значения по умолчанию.
static Session getDefaultInstance(java.util.Properties props, Authenticator authenticator)
          Получите объект Сеанса значения по умолчанию.
 Папка getFolder(URLName url)
          Получите закрытый объект Папки для данного URLName.
static Session getInstance(java.util.Properties props)
          Получите новый объект Сеанса.
static Session getInstance(java.util.Properties props, Authenticator authenticator)
          Получите новый объект Сеанса.
 PasswordAuthentication getPasswordAuthentication(URLName url)
          Возвратитесь любой спас PasswordAuthentication для этого (хранилище или транспорт) URLName.
 java.util.Properties getProperties()
          Возвращает объект Свойств, связанный с этим Сеансом
 java.lang.String getProperty(java.lang.String name)
          Возвращает значение указанного свойства.
 Провайдер getProvider(java.lang.String protocol)
          Возвращает Провайдера значения по умолчанию для определенного протокола.
 Провайдер[] getProviders()
          Этот метод возвращает массив всех реализаций, установленных через javamail. [значение по умолчанию]. файлы провайдеров, которые могут быть загружены, используя ClassLoder, доступный этому приложению.
 Хранилище getStore()
          Доберитесь Хранилище возражают, что реализует требуемый протокол Хранилища этого пользователя.
 Хранилище getStore(Provider provider)
          Получите экземпляр хранилища, определенного Провайдером.
 Хранилище getStore(java.lang.String protocol)
          Доберитесь Хранилище возражают, что реализует указанный протокол.
 Хранилище getStore(URLName url)
          Получите объект Хранилища для данного URLName.
 Транспорт getTransport()
          Получите Транспортный объект, который реализует требуемый Транспорт этого пользователя protcol.
 Транспорт getTransport(Address address)
          Получите Транспортный объект, который может транспортировать сообщение указанного типа адреса.
 Транспорт getTransport(Provider provider)
          Получите экземпляр транспорта, определенного в Провайдере.
 Транспорт getTransport(java.lang.String protocol)
          Получите Транспортный объект, который реализует указанный протокол.
 Транспорт getTransport(URLName url)
          Получите Транспортный объект для данного URLName.
 PasswordAuthentication requestPasswordAuthentication(java.net.InetAddress addr, int port, java.lang.String protocol, java.lang.String prompt, java.lang.String defaultUserName)
          Перезвоните к приложению, чтобы получить необходимое имя пользователя и пароль.
 void setDebug(boolean debug)
          Установите параметр настройки отладки для этого Сеанса.
 void setDebugOut(java.io.PrintStream out)
          Установите поток, который будет использоваться для отладочной информации для этого сеанса.
 void setPasswordAuthentication(URLName url, PasswordAuthentication pw)
          Спасите PasswordAuthentication для этого (хранилище или транспорт) URLName.
 void setProtocolForAddress(java.lang.String addresstype, java.lang.String protocol)
          Установите транспортный протокол значения по умолчанию, чтобы использовать для адресов указанного типа.
 void setProvider(Provider provider)
          Установите переданного Провайдера, чтобы быть реализацией по умолчанию для протокола в Provider.protocol, переопределяющем любые предыдущие значения.
 
Методы, наследованные от class java.lang. Объект
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Деталь метода

getInstance

public static Session getInstance(java.util.Properties props,
                                  Authenticator authenticator)
Получите новый объект Сеанса.

Параметры:
props - Объект свойств, которые содержат соответствующие свойства.
Ожидается, что клиент предоставляет значения для свойств, перечисленных в Приложении A спецификации JavaMail (особенно mail.store.protocol, mail.transport.protocol, mail.host, mail.user, и mail.from), поскольку значения по умолчанию вряд ли будут работать во всех случаях.
authenticator - Объект аутентификатора, используемый, чтобы перезвонить к приложению, когда имя пользователя и пароль необходимы.
Возвраты:
новый объект Сеанса
См. Также:
Authenticator

getInstance

public static Session getInstance(java.util.Properties props)
Получите новый объект Сеанса.

Параметры:
props - Объект свойств, которые содержат соответствующие свойства.
Ожидается, что клиент предоставляет значения для свойств, перечисленных в Приложении A спецификации JavaMail (особенно mail.store.protocol, mail.transport.protocol, mail.host, mail.user, и mail.from), поскольку значения по умолчанию вряд ли будут работать во всех случаях.
Возвраты:
новый объект Сеанса
С тех пор:
JavaMail 1.2

getDefaultInstance

public static Session getDefaultInstance(java.util.Properties props,
                                         Authenticator authenticator)
Получите объект Сеанса значения по умолчанию. Если значение по умолчанию еще не было установкой, новый объект Сеанса создается и устанавливается как значение по умолчанию.

Так как сеанс значения по умолчанию потенциально доступен всему коду, выполняющемуся в той же самой виртуальной машине Java, и сеанс может содержать уязвимую информацию безопасности, такую как имена пользователей и пароли, доступ к сеансу значения по умолчанию ограничивается. Объект Аутентификатора, который должен быть создан вызывающей стороной, используется косвенно, чтобы проверить право доступа. Объект Аутентификатора, который передают в том, когда сеанс создается, по сравнению с объектом Аутентификатора, который передают в к последующим запросам, чтобы получить сеанс значения по умолчанию. Если оба объекта являются тем же самым, или от того же самого ClassLoder, запрос позволяется. Иначе, это отрицается.

Отметьте, что, если объект Аутентификатора, используемый, чтобы создать сеанс, является нулем, любой может получить сеанс значения по умолчанию, передавая в нуле.

Отметьте также, что объект Свойств используется только в первый раз, когда этот метод вызывают, когда новый объект Сеанса создается. Последующие вызовы возвращают объект Сеанса, который создавался первым вызовом, и проигнорируйте переданный объект Свойств. Используйте getInstance метод, чтобы получить новый Сеанс возражает каждый раз, когда метод вызывают.

В JDK 1.2, дополнительные объекты права доступа могут использоваться, чтобы управлять доступом к сеансу значения по умолчанию.

Параметры:
props - Объект свойств. Используемый, только если создается новый объект Сеанса.
Ожидается, что клиент предоставляет значения для свойств, перечисленных в Приложении A спецификации JavaMail (особенно mail.store.protocol, mail.transport.protocol, mail.host, mail.user, и mail.from), поскольку значения по умолчанию вряд ли будут работать во всех случаях.
authenticator - Объект аутентификатора. Используемый, только если создается новый объект Сеанса. Иначе, это должно соответствовать Аутентификатор, используемый, чтобы создать Сеанс.
Возвраты:
объект Сеанса значения по умолчанию

getDefaultInstance

public static Session getDefaultInstance(java.util.Properties props)
Получите объект Сеанса значения по умолчанию. Если значение по умолчанию еще не было установкой, новый объект Сеанса создается и устанавливается как значение по умолчанию.

Отметьте, что сеанс значения по умолчанию, создаваемый без Аутентификатора, доступен всему коду, выполняющемуся в той же самой виртуальной машине Java, и сеанс может содержать уязвимую информацию безопасности, такую как имена пользователей и пароли.

Параметры:
props - Объект свойств. Используемый, только если создается новый объект Сеанса.
Ожидается, что клиент предоставляет значения для свойств, перечисленных в Приложении A спецификации JavaMail (особенно mail.store.protocol, mail.transport.protocol, mail.host, mail.user, и mail.from), поскольку значения по умолчанию вряд ли будут работать во всех случаях.
Возвраты:
объект Сеанса значения по умолчанию
С тех пор:
JavaMail 1.2

setDebug

public void setDebug(boolean debug)
Установите параметр настройки отладки для этого Сеанса.

Так как параметр настройки отладки может быть включен только после того, как Сеанс был создан, чтобы включить отладку в конструкторе Сеанса, установить свойство mail.debug в объекте Свойств, который передают в конструктору к истине. Значение mail.debug свойство используется, чтобы инициализировать флаг отладки на сеанс. Последующие звонки setDebug метод управляет флагом отладки на сеанс и имеет, не влияют на mail.debug свойство.

Параметры:
debug - Параметр настройки отладки

getDebug

public boolean getDebug()
Получите параметр настройки отладки для этого Сеанса.

Возвраты:
текущий параметр настройки отладки

setDebugOut

public void setDebugOut(java.io.PrintStream out)
Установите поток, который будет использоваться для отладочной информации для этого сеанса. Если out нуль, System.out будет использоваться. Отметьте, что отладочная информация, которая происходит перед любым сеансом, создается, в результате установки mail.debug системное свойство, будет всегда отправляться System.out.

Параметры:
out - PrintStream, чтобы использовать для отладочной информации
С тех пор:
JavaMail 1.3

getDebugOut

public java.io.PrintStream getDebugOut()
Возвращает поток, который будет использоваться для отладочной информации. Если никакой поток не был установлен, System.out возвращается.

Возвраты:
PrintStream, чтобы использовать для отладочной информации
С тех пор:
JavaMail 1.3

getProviders

public Provider[] getProviders()
Этот метод возвращает массив всех реализаций, установленных через javamail. [значение по умолчанию]. файлы провайдеров, которые могут быть загружены, используя ClassLoder, доступный этому приложению.

Возвраты:
Массив сконфигурированных провайдеров

getProvider

public Provider getProvider(java.lang.String protocol)
                     throws NoSuchProviderException
Возвращает Провайдера значения по умолчанию для определенного протокола. Почта проверок. <протокол>.class свойство сначала и если это существует, возвращает Провайдера, связанного с этой реализацией. Если это не существует, возвращает Провайдера, который казался первым в конфигурационных файлах. Если реализация для протокола не находится, NoSuchProviderException бросков

Параметры:
protocol - Сконфигурированный протокол (то есть smtp, imap, и т.д.)
Возвраты:
В настоящий момент сконфигурированный Провайдер для указанного протокола
Броски:
NoSuchProviderException - Если провайдер для данного протокола не находится.

setProvider

public void setProvider(Provider provider)
                 throws NoSuchProviderException
Установите переданного Провайдера, чтобы быть реализацией по умолчанию для протокола в Provider.protocol, переопределяющем любые предыдущие значения.

Параметры:
provider - В настоящий момент сконфигурированный Провайдер, который будет установлен как значение по умолчанию для протокола
Броски:
NoSuchProviderException - Если провайдер, которого передают в, недопустим.

getStore

public Store getStore()
               throws NoSuchProviderException
Доберитесь Хранилище возражают, что реализует требуемый протокол Хранилища этого пользователя. mail.store.protocol свойство определяет требуемый протокол. Если соответствующее Хранит объект, не получается, NoSuchProviderException бросается

Возвраты:
объект Хранилища
Броски:
NoSuchProviderException - Если провайдер для данного протокола не находится.

getStore

public Store getStore(java.lang.String protocol)
               throws NoSuchProviderException
Доберитесь Хранилище возражают, что реализует указанный протокол. Если соответствующее Хранит объект, не может быть получен, NoSuchProviderException бросается.

Параметры:
protocol -
Возвраты:
объект Хранилища
Броски:
NoSuchProviderException - Если провайдер для данного протокола не находится.

getStore

public Store getStore(URLName url)
               throws NoSuchProviderException
Получите объект Хранилища для данного URLName. Если требуемые Хранят объект, не может быть получен, NoSuchProviderException бросается. Часть "схемы" строки URL (Отсылают RFC 1738) используется, чтобы определить местоположение протокола Хранилища.

Параметры:
url - URLName, который представляет требуемое Хранилище
Возвраты:
закрытый Хранит объект
Броски:
NoSuchProviderException - Если провайдер для данного URLName не находится.
См. Также:
getFolder(URLName), URLName

getStore

public Store getStore(Provider provider)
               throws NoSuchProviderException
Получите экземпляр хранилища, определенного Провайдером. Инстанцирует хранилища и возвращает это.

Параметры:
provider - Провайдер хранилища, который инстанцируют
Возвраты:
Инстанцированное Хранилище
Броски:
NoSuchProviderException - Если провайдер для данного Провайдера не находится.

getFolder

public Folder getFolder(URLName url)
                 throws MessagingException
Получите закрытый объект Папки для данного URLName. Если требуемый объект Папки не может быть получен, нуль возвращается.

Часть "схемы" строки URL (Отсылают RFC 1738) используется, чтобы определить местоположение протокола Хранилища. Остальная часть строки URL (то есть, "schemepart", согласно RFC 1738) используется тем Хранилищем зависимым от протокола способом, чтобы определить местоположение и инстанцировать соответствующего объекта Папки.

Отметьте, что RFC 1738 также определяет синтаксис для "schemepart" для основанных на IP протоколов (IMAP4, POP3, и т.д.). Провайдеры основанных на IP почтовых Хранилищ должны реализовать тот синтаксис для того, чтобы обратиться к Папкам.

Параметры:
url - URLName, который представляет требуемую папку
Возвраты:
Папка
Броски:
NoSuchProviderException - Если провайдер для данного URLName не находится.
MessagingException - если Папка не могла бы быть расположена или создана.
См. Также:
getStore(URLName), URLName

getTransport

public Transport getTransport()
                       throws NoSuchProviderException
Получите Транспортный объект, который реализует требуемый Транспорт этого пользователя protcol. mail.transport.protocol свойство определяет требуемый протокол. Если соответствующий Транспортный объект не может быть получен, MessagingException бросается.

Возвраты:
Транспортный объект
Броски:
NoSuchProviderException - Если провайдер не находится.

getTransport

public Transport getTransport(java.lang.String protocol)
                       throws NoSuchProviderException
Получите Транспортный объект, который реализует указанный протокол. Если соответствующий Транспортный объект не может быть получен, нуль возвращается.

Возвраты:
Транспортный объект
Броски:
NoSuchProviderException - Если провайдер для данного протокола не находится.

getTransport

public Transport getTransport(URLName url)
                       throws NoSuchProviderException
Получите Транспортный объект для данного URLName. Если требуемый Транспортный объект не может быть получен, NoSuchProviderException бросается. Часть "схемы" строки URL (Отсылают RFC 1738) используется, чтобы определить местоположение Транспортного протокола.

Параметры:
url - URLName, который представляет требуемый Транспорт
Возвраты:
закрытый Транспортный объект
Броски:
NoSuchProviderException - Если провайдер для данного URLName не находится.
См. Также:
URLName

getTransport

public Transport getTransport(Provider provider)
                       throws NoSuchProviderException
Получите экземпляр транспорта, определенного в Провайдере. Инстанцирует транспорта и возвращает это.

Параметры:
provider - Транспортный Провайдер, который инстанцируют
Возвраты:
Инстанцированный Транспорт
Броски:
NoSuchProviderException - Если провайдер для данного провайдера не находится.

getTransport

public Transport getTransport(Address address)
                       throws NoSuchProviderException
Получите Транспортный объект, который может транспортировать сообщение указанного типа адреса.

Параметры:
address -
Возвраты:
Транспортный объект
Броски:
NoSuchProviderException - Если провайдер для типа Адреса не находится
См. Также:
Address

setPasswordAuthentication

public void setPasswordAuthentication(URLName url,
                                      PasswordAuthentication pw)
Спасите PasswordAuthentication для этого (хранилище или транспорт) URLName. Если pw является нулем, запись, соответствующая URLName, удаляется.

Это обычно используется только хранилищем или транспортными реализациями, чтобы позволить информации об аутентификации быть совместно использованной среди многократного использования сеанса.


getPasswordAuthentication

public PasswordAuthentication getPasswordAuthentication(URLName url)
Возвратитесь любой спас PasswordAuthentication для этого (хранилище или транспорт) URLName. Обычно используемый только хранилищем или транспортными реализациями.

Возвраты:
PasswordAuthentication, соответствующий URLName

requestPasswordAuthentication

public PasswordAuthentication requestPasswordAuthentication(java.net.InetAddress addr,
                                                            int port,
                                                            java.lang.String protocol,
                                                            java.lang.String prompt,
                                                            java.lang.String defaultUserName)
Перезвоните к приложению, чтобы получить необходимое имя пользователя и пароль. Приложение должно поднять диалоговое окно что-то как:

 Connecting to <protocol> mail service on host <addr>, port <port>.
 <prompt>

 User Name: <defaultUserName>
 Password:
 

Параметры:
addr - InetAddress узла. может быть нуль.
protocol - схема протокола (например, imap, pop3, и т.д.)
prompt - любая дополнительная Строка, чтобы показать как часть подсказки; может быть нуль.
defaultUserName - имя пользователя значения по умолчанию. может быть нуль.
Возвраты:
аутентификация, которая была собрана аутентификатором; может быть нуль.

getProperties

public java.util.Properties getProperties()
Возвращает объект Свойств, связанный с этим Сеансом

Возвраты:
Объект свойств

getProperty

public java.lang.String getProperty(java.lang.String name)
Возвращает значение указанного свойства. Нуль возвратов, если это свойство не существует.

Возвраты:
Строка, которая является значением свойства

addProvider

public void addProvider(Provider provider)
Добавьте провайдера к сеансу.

Параметры:
provider - провайдер, чтобы добавить
С тех пор:
JavaMail 1.4

setProtocolForAddress

public void setProtocolForAddress(java.lang.String addresstype,
                                  java.lang.String protocol)
Установите транспортный протокол значения по умолчанию, чтобы использовать для адресов указанного типа. Обычно значение по умолчанию устанавливается javamail.default.address.map или javamail.address.map файлы или ресурсы.

Параметры:
addresstype - тип адреса
protocol - имя протокола
С тех пор:
JavaMail 1.4
См. Также:
getTransport(Address)


Представьте ошибку или функцию

Авторское право © 2009-2011, Oracle Corporation и/или его филиалы. Все права защищены. Использование подвергается срокам действия лицензии.

Сгенерированный на 10-February-2011 12:41

free hit counter