Введение в основные концепции электронной почты
Электронная почта используется для передачи уверенности и общения в Интернете, и это одна из самых важных интернет -сервисов. Согласно статистике, 30% интернет -услуг связаны с электронной почтой. В то же время мы не можем отрицать, что это играет важную роль в нашей повседневной жизни, работе и офисе. Например: многие проекты офисной автоматизации (ОАС) имеют функцию отправки электронных писем. Если вы также используете ручные методы, такие как Outlook, это не подходит. В эту высокоскоростную эпоху мы должны обеспечить эффективность работы, чтобы работа была автоматизирована. В то же время многим веб-сайтам также необходимо отправлять электронные письма: отправьте приветственное электронное письмо новоиспеченным пользователям с их регистрационной информацией, отправьте последнюю информацию о деятельности веб-сайта всем зарегистрированным участникам по электронной почте и т. Д.
Перед началом разработки электронной почты нам нужно понять несколько концепций: система электронной почты, почтовый сервер, электронная почта, почтовое клиентское программное обеспечение, протокол передачи почты и процесс передачи электронной почты.
Система электронной почты
Подобно традиционным почтовым услугам, система электронной почты состоит из электронной почты, системы отправки и получения электронной почты. Отправляющие и получатели отправляют и получают электронные письма через системы отправки и приема электронной почты, которые на самом деле являются почтовыми клиентскими программами, работающими на компьютерах. В электронном офисе играет мост, который на самом деле является программой почтового сервера, работающей на сервере. Процесс обработки электронной почты аналогичен процессу почтовых услуг.
Почтовый сервер
Почтовый сервер - это устройство, используемое для управления электронными письмами. В Интернете доступно большое количество серверов электронной почты, например: 126, 163, Hotmail ...
Основные функции, предоставленные сервером электронной почты:
1. Получить электронные письма, отправленные пользователями.
2. Переайлив электронную почту, доставленную пользователем на целевой почтовый сервер.
3. Получайте электронные письма, отправленные другими серверами по электронной почте, и храните электронные письма в электронных письмах, которыми они управляют.
4. Предоставьте пользователей, которые приходят читать электронные письма для чтения электронных писем.
Почтовые серверы составляют ядро системы электронной почты. У каждого получателя есть почтовый ящик (почтовый ящик), расположенный на определенном почтовом сервере. Почтовый ящик Боба используется для управления и поддержания сообщений электронной почты, которые были отправлены ему. Типичное путешествие сообщения электронной почты начинается с агента пользователя отправителя, почтового сервера отправителя, передается на сервер электронной почты получателя, а затем доставлен на адрес электронной почты получателя. Когда Боб хочет просмотреть сообщения электронной почты в своем почтовом ящике, почтовый сервер, который хранит почтовый ящик, будет аутентифицировать его с помощью имени пользователя и пароля, которые он предоставил. Почтовый сервер Алисы также должен иметь дело с ошибкой почтового сервера Боба. Если почтовый сервер Алисы не может немедленно доставить почтовые сообщения на почтовый сервер Боба, сервер Алисы хранит их в очереди сообщения, а затем пытается доставить их позже. Эта попытка обычно выполняется каждые 30 минут или около того: если попытка не удается успешно через несколько дней, сервер удаляет сообщение из очереди сообщения и уведомляет отправителя (то есть Алиса) с другим сообщением электронной почты.
электронная почта
Электронная почта - это современный метод связи, который передает и получает информацию друг от друга через сеть. Это метод связи, который обеспечивает обмен информацией с помощью электронных средств и является наиболее широко используемым сервисом в Интернете. Через систему электронной почты сети пользователи могут связаться с пользователями Интернета в любом углу мира по очень низкой цене и очень быстро. Эти электронные письма могут быть различными способами, такими как текст, изображения, звук и т. Д. В то же время пользователи могут получить большое количество бесплатных новостей и специальных электронных писем, а также реализовать простой поиск информации.
Электронная почта состоит из двух частей: конверт и контент. Конверты также называются почтовыми заголовками, а почтовый сервер обеспечивает почту на основе уверенности в конверте. Контент называется почтовым телом, который используется для предоставления конкретного содержания электронной почты.
Адрес электронной почты в Интернете уникален по всему миру, и его формат - «Имя электронной почты@mail Server доменное имя». Домен (почтовый домен) является основной единицей управления почтовым сервером. Служба электронной почты основана на домене, и каждый почтовый ящик соответствует одному пользователю. Имя домена домена почтового сервера должно быть зарегистрированным доменным именем DNS и должно соответствовать записи MX (Mail Switch). DNS используется для разрешения доменных имен и имен хоста на IP -адреса. Запись MX указывает на запись хоста почтового сервера доменного имени и посвящена почтовым службам.
По электронной почте клиентское программное обеспечение
Программное обеспечение для почтового клиента отвечает за связь с сервером электронной почты, который в основном используется для того, чтобы помочь пользователям отправлять электронные письма на SMTP -сервер и почтовый сервер POP3/IMAP для чтения электронной почты пользователя. Программное обеспечение для электронной почты обычно интегрирует написание, отправку и получение электронных писем.
Электронная почта
Несколько адресов электронной почты могут быть запущены сверх каждого почтового сервера, также известного как адреса электронной почты. Это похоже на реальный почтовый адрес, по которому пользователи принимают и отправляют электронные письма от других.
Получение электронной почты требует применения на сервере электронной почты. Чтобы быть точным, электронная почта на самом деле является учетной записью, которую пользователь применяет на сервере электронной почты. Почтовый сервер сохраняет полученную почту в пространстве почтового ящика, выделенного для учетной записи, и пользователь входит в систему почтового сервера через имя пользователя и пароль, который он просит просмотреть сообщения электронной почты, полученные по адресу.
Процесс передачи электронной почты
Система электронной почты находится в режиме клиента/сервера. Доставка электронной почты требует следующих 3 важных модулей:
UA (почтовый пользовательский агент, агент по почте): пользователь имеет дело с сервером электронной почты через него. MUA на самом деле является программным обеспечением Mail Client.
MTA (агент по передаче почты, агент по передаче почты): в основном несет ответственность за обработку всех полученных и отправленных почт, предоставляя услуги доставки почты MUA или MTA, и получение почты, отправленных другими MTA.
MDA (агент по доставке почты, агент по доставке почты): он отвечает за локальную доставку почты. Когда MTA решает отправить определенное электронное письмо локальному пользователю, MTA передает электронное письмо программе MDA для распространения, то есть он доставлен пользователю.
Конкретный процесс передачи выглядит следующим образом:
1. Отправитель использует MUA для отправки электронной почты в MTA.
2. После получения электронной почты MTA определяет, является ли получатель локальной учетной записью. Если это локальная учетная запись, она будет передана MDA на адрес электронной почты учетной записи, заполните процесс отправки и пропустите на шаг 5. Если нет, выполните следующий шаг.
3. MTA решает, как пересылать электронные письма на основе настройки пересылки по электронной почте.
4. MTA конечной цели передаст MDA его обработке, и MDA доставит электронное письмо по адресу электронной почты получателя.
5. Получатель использует MUA для подключения к серверу, где адрес электронной почты находится через протокол POP/IMAP, и просится проверить, есть ли электронные письма в его почтовом ящике. Если есть электронная почта, MUA получателя будет передана через него.
ПРИМЕЧАНИЕ. Служба доступа к электронной почте предлагается быть программным обеспечением POP или Server Server, а не MTA, которое получило электронное письмо. Роли двух разделены.
Протокол передачи почты
В основном используются следующие три сетевые протоколы в основном
SMTP (простой протокол передачи почты)
SMTP - это простой протокол передачи почты. Стандартный порт TCP составляет 25. MUA отправляет электронное письмо в MTA, и MTA отправляет электронное письмо в следующую MTA, оба из которых должны использовать SMTP. Цель SMTP - надежно и эффективно доставить почту, она не зависит от подсистемы доставки и требует только одного канала, который гарантирует порядок передачи данных.
SMTP-это «односторонний» протокол, который не может быть собран пользователями с других почтовых серверов. Сам он принимает режим клиента/сервера. Процесс SMTP, ответственный за отправку почты, является клиентом SMTP, а процесс SMTP, ответственный за получение почты, является SMTP -сервером. Полный процесс связи SMTP в основном включает в себя три процесса: установление соединения, доставка почты и выпуск соединения.
Установите соединение: Во -первых, отправитель отправляет электронное письмо в кеш электронной почты. Клиент SMTP регулярно сканирует кеш электронной почты. После того, как появится сообщение, оно устанавливает соединение TCP с SMTP -сервером, а затем отправляет команду HRLLO, чтобы прикрепить имя хоста отправителя.
Электронная почта доставки: клиент SMTP использует команду Mail, чтобы начать отправку электронной почты, которая предоставляет адрес отправителя; Затем выполняет команду RCPT и предоставляет адрес получателя; Наконец -то выполняет команду данных для передачи контента электронной почты.
Отпустите соединение: после доставки почты клиент SMTP отправляет команду OUT для запроса для закрытия соединения TCP.
Поп (Соглашение о почте)
POP - это протокол почтового отделения. Стандартный порт TCP составляет 110. В основном используется для получения электронных писем. MUA подключается к почтовому ящику MTA через протокол POP, чтобы прочитать или загрузить пользовательский почту в почтовом ящике.
Поп -протокол, который в настоящее время используется, является POP3. POP3 использует TCP в качестве протокола передачи.
IMAP (протокол доступа к Интернету)
IMAP - это интернет -протокол доступа к сообщению. Стандартный порт TCP составляет 143, что также позволяет MUA собирать почту из MTA. Версия протокола IMAP Target Ball - IMAP4.
Как POP, так и IMAP могут использоваться для сбора электронных писем, как в режиме клиента/сервера. Основное отличие между ними заключается в том, что они по -разному получают электронные письма. При использовании POP электронная почта находится на сервере. После получения электронной почты электронная почта загружается с сервера на компьютер пользователя. IMAP может понять ситуацию, когда почта хранится на сервере, а загруженная почта все еще застряла на сервере, чтобы облегчить архивирование и обмен почтой.
Javamail
1. Введение в Javamail
Javamail, как следует из названия, обеспечивает интерфейс программирования для разработчиков для обработки электронных писем. Это API, выпущенный Sun для обработки электронной почты. Это может удобно выполнить некоторые обычно используемые почтовые передачи. Javamail API - это стандартный пакет разработки, предоставляемый Sun, для облегчения разработчиков Java для реализации функций отправки и получения электронной почты в приложениях. Он поддерживает некоторые часто используемые протоколы электронной почты, такие как SMTP, POP3 и IMAP. Когда разработчики используют API Javamail для записи программного обеспечения для обработки электронной почты, им не нужно рассматривать данные реализации базового протокола почты, просто вызовите соответствующий класс API в пакете разработки Javamail.
2. Среда развития Javamail
Перед разработкой Javamail вы должны импортировать соответствующий пакет JAR. Пакет JAR можно загрузить с официального сайта Oracle: http://www.oracle.com/technetwork/java/javamail/index.html.
После завершения загрузки вы можете получить следующий каталог:
Среди них Mail.jar: является основным пакетом разработки, который должен использоваться для разработки программ Javamail.
LIB SUPERECTORY: Этот каталог содержит 5 независимых пакетов разработки электронной почты: SMTP.JAR, POP3.JAR, IMAP.JAR и MAILAPI.JAR. Эти 5 файлов JAR являются классифицированной упаковкой для файлов mail.jar. Среди них Mailapi.jar инкапсулирует класс API, который создает почтовый содержимое и вызывает отправку почты и получает обычных разработчиков, в то время как другие три файла JAR инкапсулируют программу реализации службы с их именами, соответствующими протоколу. Полем При составлении программ Java Mail вам нужен только файл mailapi.jar, но во время выполнения вы должны иметь базовую программу реализации услуг соответствующего почтового протокола. Если вам нужно только использовать функцию отправки почты в приложении, вы можете установить только два файла smtp.jar и mailapi.jar. Если вам нужно только использовать функцию получения почты, вы можете установить только два файла JAR POP3.JAR, IMAP.JAR и MAILAPI.JAR, не устанавливая весь файл mail.jar.
Справочник LIB выглядит следующим образом:
3. Введение в Javamail API
Javamail API обычно делится на следующие три категории в соответствии с его функциями:
1. Создать и разрабатывать API по электронной почте API. Класс сообщений является основным API для создания и разбора электронных писем. Его объект экземпляра представляет собой электронное письмо.
2. API для отправки электронных писем. Транспортный класс является основным классом API для отправки почты. Его объект экземпляра представляет объект отправки почты, который реализует определенный протокол отправки почты, такой как протокол SMTP.
3. API для получения электронных писем. Класс магазина является основным классом API для получения почты. Его объект экземпляра представляет объект, получающий электронную почту, который реализует определенный протокол получения электронной почты, такой как протокол POP3.
Рабочий процесс Javamail заключается в следующем:
В этом рабочем процессе четыре объекта, сообщения, сеанса, транспорта и магазина, тесно связаны с отправкой и получением электронной почты. Нам нужно только понимать функции и функции этих четырех основных API, знать их рабочие отношения и рабочий процесс электронной почты, и мы можем легко написать Javamail. Для вспомогательных классов Javamail, когда они нам нужны, мы можем следовать подсказкам и проверить документы, чтобы решить проблему.
Введение в Core API:
Сообщение
Класс сообщений является основным API для создания и разбора почты, а его объект экземпляра представляет собой электронное письмо. Когда клиент отправляет электронное письмо, сначала используйте API по электронной почте, инкапсулируйте созданные данные электронной почты в объект сообщения, а затем передайте этот объект в отправку API по электронной почте, чтобы отправить его. Когда клиент получает электронное письмо, API, получающая электронные письма, устанавливает полученные данные о ценах на нефть в объекте Encement Message, а клиент использует API анализатора электронной почты для анализа полученных данных по электронной почте с этого объекта.
Сессия
Класс сеанса используется для определения информации о среде, требуемой всем приложением, а также для сбора информации о сеансе для клиента для установления сетевого подключения с почтовым сервером, таким как имя хоста, номер порта и используемый протокол отправки и получения почты. Объект сеанса создает объекты хранилища и транспорта для отправки и получения почтовых сообщений на основе этой информации сеанса и предоставляет информационную поддержку для клиента для создания объектов сообщений.
Транспорт
Транспортный класс является основным классом API для отправки почты. Его объект экземпляра представляет объект отправки почты, который реализует определенный протокол отправки почты, такой как протокол SMTP. После того, как клиентская программа создает объект сообщения, ей нужно только использовать API отправки по электронной почте для получения объекта транспорта, затем передать объект сообщения в Transport Cobject и вызвать его метод отправки, чтобы отправить электронное письмо на указанный SMTP -сервер.
Магазин
Класс магазина является основным классом API для получения почты. Его объект экземпляра представляет объект, принимающий почту, который реализует определенный протокол получения почты, такой как протоколы POP3 и IMAP. Когда клиентская программа получает почту, ей необходимо только использовать API -API, получающий почту, для получения объекта Store, а затем вызовать метод получения объекта Store, чтобы получить данные почты с указанного сервера POP3 и инкапсулировать почтовые данные в объект сообщения, представляющий почту.
IV Примеры
открытый класс javamail_01 {public static void main (string [] args) выбрасывает исключение {свойства props = new Properties (); props.setproperty ("mail.smtp.auth", "true"); props.setproperty ("mail.transport.protocol", "smtp"); Сеанс сеанса = session.getInstance (реквизит); session.setdebug (true); Сообщение msg = new Mimemessage (Session); msg.setsubject («Это тестовая программа ...»); msg.settext («Привет! Это моя первая программа Javamail ---- Chen Ming»); msg.setfrom (new InternetAddress ("******@163.com")); Транспортный транспорт = Session.getTransport (); transport.connect ("smtp.163.com", 25, "*********", "************"); transport.sendmessage (msg, новый адрес [] {new InternetAddress ("[email protected]")}); System.out.println ("Электронная почта успешно отправлена ..."); Transport.close (); }}