Содержание
В этом руководстве по Java мы увидим, как отправить электронное письмо, используя GMail SMTP протокол на Java. Я использую JavaMail API v1.6.2. Это очень надежное решение, доступное на рынке.
JavaMail API предоставляет независимую от платформы и не зависящую от протокола структуру для создания приложений почты и обмена сообщениями. JavaMail API доступен в качестве дополнительного пакета для использования с платформой Java SE, а также включен в платформу Java EE. JavaMail 1.6.2 Релиз содержит несколько исправлений ошибок и улучшений.
Вы получаете эту ошибку?
|
1
2
3
4
5
|
Исключение в нить главный Java. яз. NoClassDefFoundError : com / sun / mail / util / MailLogger
в javax . почта. Сессия. initLogger ( Сессия . Java : 227 )
в javax . почта. Сессия. < init > ( Сессия . Java : 212 )
в javax . почта. Сессия. getDefaultInstance ( Session . Java : 315 )
, , , , , ,
|
com.sun.mail.util.MailLogger является частью JavaMail API. Это уже включено в Enterprise Edition среда (EE), но она не включена в Standard Edition окружающая среда (ЮВ).
Если вы выполняете свой тест, тестируйте в среде SE, что означает, что вам нужно беспокоиться о добавлении его вручную в ваш путь к классам при запуске тестов.
Решение:
Если у вас есть проект Maven, попробуйте добавить ниже две зависимости pom.xml файл, чтобы избежать ниже ошибки:
|
1
2
3
4
5
6
7
8
9
10
11
|
< зависимость >
< groupId > javax . mail < / groupId >
< artifactId > mail < / artifactId >
< версия > 1.5.0 — b01 < / версия >
< / зависимость >
< зависимость >
< groupId > javax . mail < / groupId >
< artifactId > javax . mail — api < / artifactId >
< версия > 1.6.2 < / версия >
< / зависимость >
|
Если вы хотите преобразовать свой проект в проект Maven, чтобы в нем был файл pom.xml, следуйте инструкциям .
Пример Java:
|
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
|
пакет crunchify. ком . учебник ;
Импортировать Java. Util. Свойства ;
Импортировать javax. почта. Сообщение ;
Импортировать javax. почта. MessagingException ;
Импортировать javax. почта. Сессия ;
Импортировать javax. почта. Транспорт ;
Импортировать javax. почта. интернет . AddressException ;
Импортировать javax. почта. интернет . Интернет-адрес ;
Импортировать javax. почта. интернет . MimeMessage ;
/ **
* @author Crunchify.com
*
* /
общественности учебный класс CrunchifyJavaMailExample {
статический Свойства mailServerProperties ;
статический Сессия getMailSession ;
статический MimeMessage generateMailMessage ;
общественности статический недействительным главная ( Строка args [ ] ) бросает AddressException , MessagingException {
generateAndSendEmail ( ) ;
Система. вне. println ( / n / n ===> Ваша Java-программа только что успешно отправила электронное письмо. Проверьте вашу электронную почту .. ) ;
}
общественности статический недействительным generateAndSendEmail ( ) бросает AddressException , MessagingException {
// Шаг 1
Система. вне. println ( / n 1st ===> настроить свойства почтового сервера .. ) ;
mailServerProperties знак равно Система. getProperties ( ) ;
mailServerProperties . положить ( mail.smtp.port , «587» ) ;
mailServerProperties . положить ( mail.smtp.auth , правда ) ;
mailServerProperties . положить ( mail.smtp.starttls.enable , правда ) ;
Система. вне. println ( «Свойства почтового сервера были успешно настроены ..» ) ;
// Шаг 2
Система. вне. println ( / n / n 2nd ===> получить сеанс почты .. ) ;
getMailSession знак равно Сессия. getDefaultInstance ( mailServerProperties , ноль ) ;
generateMailMessage знак равно новый MimeMessage ( getMailSession ) ;
генерировать MailMessage . addRecipient ( Message . RecipientType . TO , новый InternetAddress ( test1@crunchify.com ) ) ;
генерировать MailMessage . addRecipient ( Message . RecipientType . CC , новый InternetAddress ( test2@crunchify.com ) ) ;
генерировать MailMessage . setSubject ( Привет из Crunchify .. ) ;
строка emailBody знак равно Тестирование электронной почты на примере Crunchify.com JavaMail API. +
С уважением, Crunchify Admin ; генерировать MailMessage . setContent ( emailBody , text / html ) ;
Система. вне. println ( «Почтовый сеанс был успешно создан ..» ) ;
// Шаг 3
Система. вне. println ( / n / n 3rd ===> Получить сеанс и отправить почту ) ;
Транспортный транспорт знак равно getMailSession . getTransport ( smtp ) ;
// Введите правильный идентификатор пользователя Gmail и пароль
// если у вас включен 2FA, укажите пароль для конкретного приложения
транспорт . подключиться ( smtp.gmail.com , <----- Ваш GMAIL ID -----> , <----- Ваш GMAIL ПАРОЛЬ -----> ) ;
транспорт . sendMessage ( generateMailMessage , генерировать MailMessage . getAllRecipients ( ) ) ;
транспорт . закрыть ( ) ;
}
}
|
Выход:
|
1
2
3
4
5
6
7
8
|
первый === > настроить свойства почтового сервера . ,
Почта Свойство сервера было успешно установкой. ,
второй === > получить сессию почты . ,
Почта Сессия была успешно создана. ,
третий === > Получить сессию и Отправить почту
=== > Ваша программа Java только что отправил письмо на успешно. Проверьте свою электронную почту . ,
|
Пример электронной почты:
Получаете ошибку? Как решить проблему?
- Если вы включили
2-Step Verificationдля вашей учетной записи может потребоваться ввести пароль приложения . Important: Если у вас все еще есть проблемы, посетите страницу http://www.google.com/accounts/DisplayUnlockCaptcha и войдите в систему, используя свое имя пользователя и пароль Gmail. При необходимости введите буквы на искаженном рисунке.
0.00 (0%) 0 votes












