В настоящее время электронная почта играет все более важную роль в нашей жизни, и каждый из нас будет иметь дело с ней (по крайней мере, время от времени мы получаем необъяснимый спам). На работе использование электронной почты для общения может сделать нашу работу прослеживаться и более формальной. Это управляется нами вручную. В Life, после регистрации учетной записи на веб -сайте, веб -сайт автоматически отправит приветственное электронное письмо и попросит нас подтвердить, следует ли зарегистрироваться для предотвращения вредоносной регистрации. Конечно, это невозможно управлять им вручную, как мы работаем. Javamail в 13 основных технологиях Java предоставляет нам API для работы, связанных с электронными письмами.
1. Почтовый сервер
Чтобы предоставить функциональность электронной почты в Интернете, должен быть выделенный сервер электронной почты. Большое количество серверов электронной почты настраивается в Интернете. Например, веб -сайты, такие как Sina.com, QQ.com, 163.com, предоставляют бесплатные электронные серверы для общественности, и многие компании также предоставляют серверы электронной почты для внутренних сотрудников, которые могут отправлять и получать электронные письма друг от друга. Так какова функция почтового сервера? Это может помочь нам отправить электронные письма, получать электронные письма и предоставить нам услуги по питанию почты. Это похоже на почтовое отделение в реальной жизни. Он может не только получать электронные письма, но и предоставить нам услуги, чтобы забрать электронные письма, а также помочь нам отправлять электронные письма. Следующие картинки ярко иллюстрируют функции почтового сервера
(1) получать почту, доставленные пользователями;
(2) пересылать электронное письмо, отправленное пользователем на целевой почтовый сервер;
(3) получать электронные письма, отправленные другими почтовыми серверами, и хранить электронные письма в почтовом ящике пользователя, которым они управляют;
(4) Предоставьте услуги чтения пользователям, которые приходят на чтение электронных писем.
Почтовые серверы можно разделить на два типа в соответствии с протоколами связи: SMTP -сервер и сервер POP3/IMAP. Функции 1, 2 и 3 на рисунке выше выполнены SMTP -сервером, а функции 4 выполнены сервером POP3.
2. Электронная почта
Несколько адресов электронной почты могут быть открыты на каждом почтовом сервере. Адрес электронной почты также называется адресом электронной почты. Это похоже на почтовый адрес в реальной жизни. Пользователи могут получать электронные письма от других и отправлять электронные письма другим через этот адрес. Получение электронной почты требует применения на почтовом сервере. Чтобы быть точным, электронная почта на самом деле является учетной записью, которую пользователь применяет на почтовом сервере. Почтовый сервер сохраняет полученную почту в пространстве почтового ящика, выделенного для определенной учетной записи (поэтому нам необходимо регулярно чистить нашу почту, в противном случае мы не сможем получать новую почту, если выделенное пространство превышает выделенное пространство). Пользователь входит в вход на почтовый сервер, чтобы проверить сообщения электронной почты, полученные адресом, через имя пользователя и пароль, который он запрашивает.
3. Процесс передачи электронных писем
Процесс передачи электронной почты может быть представлен на следующем рисунке
Описание процесса сплошной линии на рисунке выше:
1. После того, как почтовый клиент [email protected] устанавливает сетевое соединение с SINA SMTP -сервером, входит в систему с именем пользователя и паролем LISI и использует протокол SMTP для отправки электронной почты на SMTP -сервер SINA;
2. После получения адреса электронной почты, представленного по адресу [email protected], SMTP -сервер Sina First определяет, находится ли адрес электронной почты получателя в пределах юрисдикции SMTP -сервера на основе суффикса адреса получателя. Если это так, почта будет храниться непосредственно в адресе электронной почты получателя. В противном случае, SMTP -сервер SINA будет запросить DNS -сервер для записи MX имени доменного имени, представленного суффиксом адреса электронной почты получателя (SOHU.com), чтобы получить информацию SMTP SERVER SOHU, а затем установить соединение с SMTP SMTP -сервером SOHO и использование протокола SMTP для отправки электронной почты на SOHU SERVER;
3. После того, как SMTP -сервер SOHO получит электронное письмо от SMTP -сервера SINA, он также определит, находится ли электронное письмо в юрисдикцию SMTP -сервера на основе адреса получателя. Если это так, храните электронное письмо непосредственно в почтовом ящике получателя. В противном случае SMTP -сервер SOHU может продолжать пересылать электронную почту;
4. Аккаунт [email protected] устанавливает сетевое соединение с Soho POP3/IMAP -сервером через клиент, и после успешного входа в систему, а затем проверяйте, есть ли новое электронное письмо на электронной почте [email protected] через протокол POP3/IMAP. Если это так, используйте протокол POP3 или IMAP, чтобы прочитать электронное письмо в почтовом ящике.
Процесс пунктирной линии аналогичен процессу сплошной линии и больше не повторяется.
Javamail API-это стандартный пакет разработки, принятый Sun, для облегчения разработчиков Java отправлять и получать твердую линию почты в приложениях. Он поддерживает некоторые часто используемые почтовые протоколы, такие как SMTP, POP3, IMAP и MIME. Чтобы использовать этот API, конечно, вам нужно сначала загрузить соответствующий пакет JAR. Последняя версия - 1.5.6, адрес загрузки: https://java.net/projects/javamail/pages/home.
Javamail API обычно можно разделить на следующие три категории в соответствии с его функциями:
1. API для создания и анализа содержимого электронной почты: класс сообщений является основным API для создания и анализа электронных писем, а его объект экземпляра представляет собой электронное письмо;
2. API для отправки электронных писем: Транспортный класс является основным классом API для отправки электронных писем. Его объект экземпляра представляет объект отправки почты, который реализует определенный протокол отправки электронной почты, такой как протокол SMTP;
3. API для получения электронных писем: класс магазинов является основным классом API для получения электронных писем. Его объект экземпляра представляет объект, получающий электронную почту, который реализует определенный протокол получения электронной почты, такой как протокол POP3.
Класс сессии:
Класс сеанса используется для определения информации о среде, требуемой всем приложением, а также для сбора информации о сеансе для клиента для установления сетевого соединения с почтовым сервером, таким как имя хоста, номер порта и используемый протокол отправки и получения почты. Объекты сеанса Создают транспорт и хранят объекты для передачи почты и приема на основе этой информации, а также предоставляют информационную поддержку при создании объектов сообщений для клиентов.
Отношения вышеупомянутых 4 классов следующие:
Большая часть вышеперечисленного контента выходит из книги «Подробное объяснение разработки Java Mail». Следующая статья Beginner of Javamail Во второй статье «Создание электронной почты» представит, как создать электронную почту с помощью API, предоставленного Javamail.