2017-01-14 4 views
0

Я создаю приложение JAVA, которое должно выполнить автоматическую отправку по электронной почте. Я хочу автоматизировать пользователей электронной почты, когда они были превзойдены, выиграл тендер или аукцион близок к завершению.Ошибка аутентификации с помощью SMTP с помощью gmail с использованием JAVA MAIL

Я экспериментировал с использованием JAVA MAIL для программной отправки электронной почты пользователям с учетной записи электронной почты gmail через SMTP.

Я создал сеанс со следующими свойствами:

mailProps.put("mail.transport.protocol", "smtp"); 
mailProps.put("mail.host", "smtp.gmail.com"); 
mailProps.put("mail.from", "[email protected]"); 
mailProps.put("mail.smtp.starttls.enable", "true"); 
mailProps.put("mail.smtp.port", "587"); 
mailProps.put("mail.smtp.auth", "true"); 

Это, однако, дает следующее сообщение об ошибке при попытке соединиться с сервером Gmail SMTP:

2017-01-14T15:10:00.437+0000|Info: DEBUG SMTP: Attempt to authenticate using mechanisms: LOGIN PLAIN DIGEST-MD5 NTLM 
2017-01-14T15:10:00.437+0000|Info: DEBUG SMTP: AUTH LOGIN command trace suppressed 
2017-01-14T15:10:00.688+0000|Info: DEBUG SMTP: AUTH LOGIN failed 
534-5.7.14 <https://accounts.google.com/signin/continue?sarp=1&scc=1&plt=AKgnsbuw 
534-5.7.14 EfaT2fDb2sjOrLupYNLlyOHb9lE38eDaz5aUiuBq92gl3 
534-5.7.14 kZTEQkua_PZIUyxIdz49T58PTKSKOyzdqCX0gkcSFz6uz-lh 
534-5.7.14 33n4s01a1H4jmxgJcm9tU-re9mmzW_YRno-F6DkwnVJKJVSVwYnMzxmwBE 
534-5.7.14 EQrJwrflGIGvyv_ShBDkHLFwGrzf0> Please log in via your web browser and 
534-5.7.14 then try again. 
534-5.7.14 Learn more at 
534 5.7.14 https://support.google.com/mail/answer/78754 c202sm13382879wmd.10 - gsmtp 

Ссылка на ошибку в коде упоминается, что мне может понадобиться «Разрешить менее безопасные приложения: если вы не используете двухэтапную аутентификацию, вам может потребоваться разрешить менее безопасным приложениям получать доступ к вашей учетной записи». В нем также говорится, что это сделает мою учетную запись менее безопасной, и я бы не хотел этого делать.

Должен ли я использовать двухэтапную аутентификацию, и если бы кто-нибудь мог указать мне на ресурс, где он описан?

Кроме того, существуют ограничения на отправку писем через SMTP с помощью gmail. Мне было интересно, является ли этот подход подходящим типом подхода для отправки уведомлений по электронной почте из приложения JAVA? Есть ли способ стать надежным отправителем электронной почты и увеличить лимит? Или я на ложном пути здесь в общей сложности

Спасибо заранее ...

ответ

0

Эта ссылка https://support.google.com/accounts/answer/185833 может ответить на ваш вопрос. Посмотрите раздел «Как создать пароль и пароль приложения». После этого вы выберете «приложение», скажем gmail, диск и т. Д., А затем сгенерируйте и «пароль приложения» для этого, который вы затем будете использовать в своем приложении Java для отправки и получения gmail.