Характеристики и приложение на JavaMail


Категория на документа: Информатика




Съдържание

Характеристики на JavaMail
Същност на приложението
SSL и TLS
JavaMail класове

Приложение на JavaMail
POP3
SMTP
IMAP

Примери и сорс кодове

Използвани източници

JavaMail е набор от APIs които оформят система за e-mail. JavaMail осигурява платформено и протоколно независими библиотеки за създаване на e-mail приложения на базата на Java технологията. Предоставя средства за изпращане и получаване на електронна поща чрез различни доставчици като всеки от тези доставчици използва определен протокол(SMTP, POP3, и IMAP). Някои от доставчиците са вградени, други могат да се инсталират отделно.

Всяка машина с инсталиран JDK 1.4 и по-нов могат да използват JavaMail, който "идва" със Java EE ( Java Platform, Enterprise Edition ), но може и да се добави към Java SE (Java Platform, Standard Edition)

JavaMail може да се свързва и със mail сървъри посредством сигурна връзка. TLS и предшественикът му SSL протокол, разработен от Netscape Communications са протоколи, даващи възможност на различни програми в конфигурация клиент-сървър да комуникират помежду си, без да могат да бъдат "подслушвани" и подправяни. Клиентската програма и сървърът установяват връзка чрез специална процедура, наречена ръкостискане. По време на тази процедура клиентът и сървърът "съгласуват" различни условия и параметри, чрез които се осъществява сигурността на връзката.

SSL/TLS протоколът дава възможност на различни програми в конфигурация клиент-сървър да комуникират помежду си, без да могат да бъдат "подслушвани" и подправяни. Клиентската програма и сървърът установяват връзка чрез специална процедура, наречена ръкостискане. По време на тази процедура клиентът и сървърът "съгласуват" различни условия и параметри, чрез които се осъществява сигурността на връзката.

Ръкостискането се осъществява веднага след като клиентската програма осъществи връзка със сървър, на който има включен SSL/TLS протокол, и му се предоставят редица функции за шифроване и хеширане. От този списък се избира най-силната функция, която клиентът поддържа и в последствие бива уведомен коя точно функция е избрана. След това, сървърът изпраща своята идентификация под формата на цифров сертификат. Сертификатът обикновено съдържа информация за органите, които са го издали ( Certificate Authority), името на сървъра и публичния ключ, с който ще се криптира връзката. Потребителят след това има възможност да провери валидността на сертификата. За да може да се генерират сесийни ключове, използвани за всяка връзка, клиентът криптира произволно генерирано число, използвайки публичния ключ и изпраща резултата на сървъра. Единствено сървърът ще може след това да декриптира информацията, като използва своя частен ключ. Двете страни създават публични и частни ключове с произволно генерираното число, с които криптират и декриптират цялата предадена информация. С това ръкостискането приключва и връзката вече е защитена от подслушване. Ако която и да е от горните стъпки не бъде изпълнена, ръкостискането се проваля и връзката няма да бъде осъществена.

Целият този процес се извършва напълно автоматично и остава невидим за потребителя.

Криптирането, което позволява връзката да бъде защитена, представлява сложен математически процес. Чрез него цялата информация се криптира и декриптира от клиента и сървъра. Дължината и нивото на защита на един SSL сертификат се определя от дължината на ключа, която характеризира всеки един SSL сертификат (bits). Най-често разпространените SSL сертификати, които се предлагат, са с дължина 40-bit, 56-bit, 128-bit, 256-bit. Размерът на ключа определя и какво ниво на сигурност дава този SSL сертификат. Според приблизителни изчисления, дешифрирането на информация, криптирана чрез SSL сертификат, без да се разполага със съответния частен ключ може да отнеме няколко трилиона години, ако разбира се недоброжелателят разполага със съответните средства.

TLS протоколът е подобрена версия на SSL. Последанта версия на SSL е 3.0 като TLS 1.0 всъщност е SSL 3.1. Всяка нова версия добавя допълнителни функционалности и подобрява сигурността. Може да се разбере дали връзката към даден mail сървър е подсигурена чрез SSL/TLS, ако в URL-a на сървера присуства "s" след името на протокола, който използва ( HTTPS, POP3S, SMTPS, IMAPS ).

Post Office Protocol е протокол за извличане на получена електронна поща от e-mail сървър върху клиентски компютър. Текущата версия на протокола е 3 и затова често той се обозначава със съкращението POP3 (Post Office Protocol, version 3).

Инициирането на връзката се извършва от клиентския компютър и инсталирания на него софтуер най-често наричан "клиент за електронна поща" (или "e-mail клиент"), чрез който се четат получените съобщения. Протоколът позволява управление на съхраняваните съобщения, като те могат да се изтриват от сървъра след изтегляне, или да останат и да бъдат повторно изтегляни. Последното дава защита от повреда на клиентския компютър, както и възможност за четене на обща поща от няколко компютъра. С конфигурирането на клиента потребителя избира дали след получаването им писмата да остават на сървъра или да бъдат изтрити.

POP3 се поддържа от всички съвременни e-mail клиенти като Outlook Express, Outlook, Eudora, Mozilla Thunderbird и т.н.

Еднопосочният обмен изисква употребата на друг протокол за изпращане на изходящите съобщения, и най-често това е SMTP. През последните няколко години все повече се налага използването на протокола IMAP, който е по-нов от POP3 и позволява двупосочен обмен на поща със сървъра. Използването му от своя страна позволява забрана на изходящата поща по SMTP от клиентските станции и използването на SMTP само за обмен между сървъри (основното му предназначение), с което се намалява възможността за изпращане на нежелана поща (спам). Повечето доставчици на услуги за електронни пощи (на английски: webmail services), като Gmail и Yahoo! Mail поддържат едновременно POP3 и IMAP.

POP поддържа прости изтегли-и-изтрий(download-and-delete) изисквания за достъп до отдалечени пощенски кутии, документиран в RFC като maildrop в POP. Въпреки че повечето POP клиенти предоставят възможност пощата да остава на сървъра след изтегляне, имейл клиенти използващи POP обикновено се свързват, извличат всички съобщения, запаметяват ги на компютъра като нови съобщения, изтриват ги от сървъра и след това прекъсват връзката. Други протоколи, най-вече IMAP, предоставят по-цялостен и сложен отдалечен достъп до типични пощенски операции. Много имейл клиенти поддържат изтеглянето на съобщения с POP и IMAP, но малко доставчици на Интернет услуги поддържат IMAP.

POP3 сървърът слуша на порт 110. POP3 заявка за криптирана връзка се подава или след инициализация на протокола с командата STLS, ако е поддържана от POP3S, който се свързва със сървъра чрез TLS(Transport Layer Security), или SSL (Secure Sockets Layer) през TCP порт 995.

Наличните съобщения към клиента се фиксират, когато POP сесия отвори maildrop-a. Те се идентифицират от номер на съобщението локален за тази сесия или от уникален идентификатор даден на съобщението от POP сървъра. Този уникален идентификатор е постоянен, уникален за maildrop-a, и дава на клиента достъп до едно и също съобщение в различни POP сесии. Пощата се изтегля и се маркира за изтриване по номера на съобщението. Когато клиентът излезе от сесията, пощата, маркирана за изтриване, се премахва от maildrop-a.

Основното предимство на сървърите с POP3 протокол е бързото прехвърляне на големи количества имейли. Фактът, че изтеглената поща се изпраща веднага към компютъра означава, че потребителят може да я архивира за по-късно разглеждане, или да запише на компютъра си по - важната част от нея. Освен това, тъй като връзката със POP3 сървъра не е постоянна, основният трафик може да бъде използван за други дейности, като например Интернет сърфиране или игри, а в моменти на по-малка ангажираност, връзката да се използва за доставката на съобщенията.

От съхраняването на съобщението на работния плот на клиента идва един малък недостатък. Ако програмата ползвана на PC-то обяви за изтеглено дадено съобщение от сървъра, то негови копия не оцеляват под никаква форма (не остават никакви архиви). Ако нещо се случи на имейла, например повреда при прехвърляне или случайно изтриване, то той бива безвъзвратно изгубен или имаме загуба на информацията по технически причини преди тя да е била достъпена.



Сподели линка с приятел:





Яндекс.Метрика
Характеристики и приложение на JavaMail 9 out of 10 based on 2 ratings. 2 user reviews.