JavaMail API предоставляет независимую от платформы и не зависящую от протокола структуру для создания приложений почты и обмена сообщениями. JavaMail API доступен в качестве дополнительного пакета для использования с платформой Java SE, а также включен в платформу Java EE. Релиз JavaMail 1.4.5 содержит несколько исправлений ошибок и улучшений.
Некоторое время назад я написал Учебное пособие по отправке электронной почты с использованием Gmail SMTP (аутентификация TLS) , но без прикрепления изображения. Ниже Java Tutorial поможет вам отправить большое изображение с электронной почтой в виде вложения.
Иногда мы хотим прикрепить изображение к письму, а затем использовать его в теле письма. Вы, наверное, видели так много писем, которые имеют вложения изображений и также используются в сообщении электронной почты. Хитрость заключается в том, чтобы прикрепить файл изображения, как любое другое вложение, а затем установить заголовок Content-ID для файла изображения, а затем использовать тот же идентификатор содержимого в теле сообщения электронной почты с помощью ,
Вот простая 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
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
|
пакет ком . crunchify. учебные пособия ;
Импортировать Java. Ио. UnsupportedEncodingException ;
Импортировать Java. Util. Дата ;
Импортировать Java. Util. Свойства ;
Импортировать javax. активация . DataHandler ;
Импортировать javax. активация . Источник данных ;
Импортировать javax. активация . FileDataSource ;
Импортировать javax. почта. Аутентификатор ;
Импортировать javax. почта. BodyPart ;
Импортировать javax. почта. Сообщение ;
Импортировать javax. почта. MessagingException ;
Импортировать javax. почта. Multipart ;
Импортировать javax. почта. PasswordAuthentication ;
Импортировать javax. почта. Сессия ;
Импортировать javax. почта. Транспорт ;
Импортировать javax. почта. интернет . AddressException ;
Импортировать javax. почта. интернет . Интернет-адрес ;
Импортировать javax. почта. интернет . MimeBodyPart ;
Импортировать javax. почта. интернет . MimeMessage ;
Импортировать javax. почта. интернет . MimeMultipart ;
/ **
* @author Crunchify.com
*
* /
общественности учебный класс CrunchifyJavaMailWithImageAttachment {
статический Свойства mailServerProperties ;
статический Сессия getMailSession ;
статический MimeMessage msg ;
общественности статический недействительным главная ( Строка args [ ] ) бросает AddressException , MessagingException {
Система. вне. println ( / n1st ===> настроить свойства почтового сервера .. ) ;
окончательный строка sourceEmail знак равно <Ваш идентификатор электронной почты Gmail ; // требуется действительный идентификатор Gmail
окончательный строка пароль знак равно «Ваш пароль Gmail» ; // правильный пароль для идентификатора Gmail
окончательный строка toEmail знак равно noreply@crunchify.com ; // любой адрес электронной почты получателя
Свойства реквизита знак равно новый Свойства ( ) ;
реквизит. положить ( mail.smtp.host , smtp.gmail.com ) ;
реквизит. положить ( mail.smtp.port , «587» ) ;
реквизит. положить ( mail.smtp.auth , правда ) ;
реквизит. положить ( mail.smtp.starttls.enable , правда ) ;
Система. из
, println ( / n2nd ===> создать объект Authenticator для передачи в аргумент Session.getInstance .. ) ;
Аутентификатор аутентификации знак равно новый Аутентификатор ( ) {
защищенный PasswordAuthentication getPasswordAuthentication ( ) {
вернуть новый PasswordAuthentication ( sourceEmail , пароль ) ;
}
} ;
Сессия сессия знак равно Сессия. getInstance ( реквизит , аутентификация ) ;
generateAndSendEmail (
сессия ,
на электронную почту ,
«Пример Crunchify JavaMail API с приложением изображения» ,
Приветствую вас,
Тестирование электронной почты с помощью Crunchify.com Пример JavaMail API. Пожалуйста, найдите здесь прикрепленное изображение. +
С уважением, Crunchify Admin ) ; }
общественности статический недействительным generateAndSendEmail ( сеанс сеанса , строка на электронную почту , строка предмет ,
строка тело ) {
пытаться {
Система. вне. println ( / n3rd ===> generateAndSendEmail () запускается .. ) ;
MimeMessage crunchifyMessage знак равно новый MimeMessage ( сеанс ) ;
crunchifyMessage . addHeader ( «Контент-тип» , текст / HTML; кодировка = UTF-8 ) ;
crunchifyMessage . addHeader ( формат , потек ) ;
crunchifyMessage . addHeader ( «Content-Transfer-Encoding» , 8bit ) ;
crunchifyMessage . setFrom ( новый InternetAddress ( noreply@crunchify.com ,
NoReply-Crunchify ) ) ;
crunchifyMessage . setReplyTo ( InternetAddress . parse ( noreply@crunchify.com , ложь ) ) ;
crunchifyMessage . setSubject ( subject , UTF-8 ) ;
crunchifyMessage . setSentDate ( new Дата ( ) ) ;
crunchifyMessage . setRecipients ( Message . RecipientType . TO ,
Интернет-адрес . разобрать ( toEmail , ложь ) ) ;
// Создаем часть тела сообщения
BodyPart messageBodyPart знак равно новый MimeBodyPart ( ) ;
messageBodyPart . setContent ( body , text / html ) ;
// Создать составное сообщение для вложения
Multipart multipart знак равно новый MimeMultipart ( ) ;
// Установить часть текстового сообщения
многочастный. addBodyPart ( messageBodyPart ) ;
messageBodyPart знак равно новый MimeBodyPart ( ) ;
// Допустимое местоположение файла
строка имя файла знак равно /Users/
источник DataSource знак равно новый FileDataSource ( имя файла ) ;
messageBodyPart . setDataHandler ( новый DataHandler ( источник ) ) ;
messageBodyPart . setFileName ( имя файла ) ;
// Хитрость заключается в том, чтобы добавить заголовок Content-ID здесь
messageBodyPart . setHeader ( Content-ID , image_id ) ;
многочастный. addBodyPart ( messageBodyPart ) ;
Система. вне. println ( / n4th ===> третья часть для отображения изображения в теле письма .. ) ;
messageBodyPart знак равно новый MimeBodyPart ( ) ;
messageBodyPart . setContent (
Найти ниже прикрепленное изображение h3> +
многочастный. addBodyPart ( messageBodyPart ) ;
crunchifyMessage . setContent ( multipart ) ;
Система. вне. println ( / n5th ===> Наконец отправить сообщение .. ) ;
// Наконец отправляем сообщение
Транспорт . отправить ( crunchifyMessage ) ;
Система. из
, println ( / n6th ===> Электронная почта успешно отправлена с приложением изображения. Проверьте свою электронную почту сейчас .. ) ;
Система. вне. println ( / n7th ===> generateAndSendEmail () заканчивается .. ) ;
} ловить ( MessagingException е ) {
эл . printStackTrace ( ) ;
} ловить ( UnsupportedEncodingException е ) {
эл . printStackTrace ( ) ;
}
}
}
|
Выход:
|
1
2
3
4
5
6
7
8
9
10
11
12
13
|
первый === > настроить свойства почтового сервера . ,
второй === > создать объект Authenticator в пройти в Сессия. аргумент getInstance . ,
третий === > generateAndSendEmail ( ) начинается . ,
четвёртая === > третья часть для отображение изображения в электронная почта тело. ,
пятые === > в заключение Отправить сообщение. ,
шестые === > Сообщение успешно отправлено с изображением Attachment. Проверьте вашу электронную почту сейчас . ,
седьмые === > generateAndSendEmail ( ) заканчивается. ,
|
Пример скриншота:

0.00 (0%) 0 votes






