Я пытаюсь отправить OTP по электронной почте с помощью почтовой службы при загрузке Spring, но получаю ошибку:
не удалось получить доступ к классу com.sun.activation.registries.LogSupport из класса javax.activation.MailcapCommandMap (com.sun.activation.registries.LogSupport и javax.activation.MailcapCommandMap находятся в безымянном модуле загрузчика 'app')
Добавлена ниже зависимость в pom.xml-
4.0.0
org.springframework.boot
spring-boot-starter-parent
3.0.1
com.smart
smartcontactmanager
0.0.1-SNAPSHOT
smartcontactmanager
Smart Contact Manager
17
org.springframework.boot
spring-boot-starter-data-jpa
org.springframework.boot
spring-boot-starter-thymeleaf
org.springframework.boot
spring-boot-starter-web
org.springframework.boot
spring-boot-starter-security
org.springframework.boot
spring-boot-devtools
runtime
true
com.sun.mail
javax.mail
1.6.2
com.mysql
mysql-connector-j
runtime
javax.validation
validation-api
2.0.1.Final
org.hibernate
hibernate-validator
8.0.0.Final
org.springframework.boot
spring-boot-starter-test
test
org.springframework.boot
spring-boot-maven-plugin
Контроллер-
@PostMapping("/send-otp")
public String sendOtp(@RequestParam("email") String email,Model model, HttpSession session) {
System.out.println("Email: " + email);
model.addAttribute("email", email);
// Generating 4 digit OTP
int otp = random.nextInt(9999);
System.out.println("OTP: " + otp);
//Code to send OTP to email
String subject="OTP from Smart Contact Manager";
String message=" OTP : "+otp+" ";
String to=email;
boolean flag = this.emailService.sendEmail(subject, message, to);
if(flag) {
return "verify_otp";
}else {
session.setAttribute("message", "Please verify your email address!");
return "forgot_email_form";
}
}
EmailService.java Class-
package com.smart.service;
import java.util.Properties;
import javax.mail.Authenticator;
import javax.mail.Message;
import javax.mail.PasswordAuthentication;
import javax.mail.Session;
import javax.mail.Transport;
import javax.mail.internet.InternetAddress;
import javax.mail.internet.MimeMessage;
import org.springframework.stereotype.Service;
@Service
public class EmailService {
public boolean sendEmail(String subject, String message, String to) {
boolean f = false;
String from = "vishalsrivi123@gmail.com";
// variable for Gmail host
String host = "smtp.gmail.com";
// Get the system properties
Properties properties = System.getProperties();
System.out.println("System Properties: " + properties);
// Set Host
properties.put("mail.smtp.host", host);
properties.put("mail.smtp.port", "465");
properties.put("mail.smtp.ssl.enable", "true");
properties.put("mail.smtp.auth", "true");
// Step-1: To get the session object
Session session = Session.getInstance(properties, new Authenticator() {
@Override
protected PasswordAuthentication getPasswordAuthentication() {
return new PasswordAuthentication("vishalsrivi123@gmail.com", "zykpcbzkjcuedoju");
}
});
session.setDebug(true);
// Step-2: Compose the Message[text, multimedia]
MimeMessage m = new MimeMessage(session);
try {
// From email
m.setFrom(from);
// Adding recipient to mail
m.addRecipient(Message.RecipientType.TO, new InternetAddress(to));
// Adding subject to mail
m.setSubject(subject);
// Adding text to mail
m.setText(message);
// Step-3: Send mail
Transport.send(m);
System.out.println("Mail sent successfully");
f = true;
} catch (Exception e) {
e.printStackTrace();
}
return true;
}
}
Не удалось получить доступ к классу com.sun.activation.registries.LogSupport из класса javax.activation.MailcapCommandMa ⇐ JAVA
Программисты JAVA общаются здесь
1777196223
Anonymous
Я пытаюсь отправить OTP по электронной почте с помощью почтовой службы при загрузке Spring, но получаю ошибку:
не удалось получить доступ к классу com.sun.activation.registries.LogSupport из класса javax.activation.MailcapCommandMap (com.sun.activation.registries.LogSupport и javax.activation.MailcapCommandMap находятся в безымянном модуле загрузчика 'app')
Добавлена ниже зависимость в pom.xml-
4.0.0
org.springframework.boot
spring-boot-starter-parent
3.0.1
com.smart
smartcontactmanager
0.0.1-SNAPSHOT
smartcontactmanager
Smart Contact Manager
17
org.springframework.boot
spring-boot-starter-data-jpa
org.springframework.boot
spring-boot-starter-thymeleaf
org.springframework.boot
spring-boot-starter-web
org.springframework.boot
spring-boot-starter-security
org.springframework.boot
spring-boot-devtools
runtime
true
com.sun.mail
javax.mail
1.6.2
com.mysql
mysql-connector-j
runtime
javax.validation
validation-api
2.0.1.Final
org.hibernate
hibernate-validator
8.0.0.Final
org.springframework.boot
spring-boot-starter-test
test
org.springframework.boot
spring-boot-maven-plugin
Контроллер-
@PostMapping("/send-otp")
public String sendOtp(@RequestParam("email") String email,Model model, HttpSession session) {
System.out.println("Email: " + email);
model.addAttribute("email", email);
// Generating 4 digit OTP
int otp = random.nextInt(9999);
System.out.println("OTP: " + otp);
//Code to send OTP to email
String subject="OTP from Smart Contact Manager";
String message=" OTP : "+otp+" ";
String to=email;
boolean flag = this.emailService.sendEmail(subject, message, to);
if(flag) {
return "verify_otp";
}else {
session.setAttribute("message", "Please verify your email address!");
return "forgot_email_form";
}
}
EmailService.java Class-
package com.smart.service;
import java.util.Properties;
import javax.mail.Authenticator;
import javax.mail.Message;
import javax.mail.PasswordAuthentication;
import javax.mail.Session;
import javax.mail.Transport;
import javax.mail.internet.InternetAddress;
import javax.mail.internet.MimeMessage;
import org.springframework.stereotype.Service;
@Service
public class EmailService {
public boolean sendEmail(String subject, String message, String to) {
boolean f = false;
String from = "vishalsrivi123@gmail.com";
// variable for Gmail host
String host = "smtp.gmail.com";
// Get the system properties
Properties properties = System.getProperties();
System.out.println("System Properties: " + properties);
// Set Host
properties.put("mail.smtp.host", host);
properties.put("mail.smtp.port", "465");
properties.put("mail.smtp.ssl.enable", "true");
properties.put("mail.smtp.auth", "true");
// Step-1: To get the session object
Session session = Session.getInstance(properties, new Authenticator() {
@Override
protected PasswordAuthentication getPasswordAuthentication() {
return new PasswordAuthentication("vishalsrivi123@gmail.com", "zykpcbzkjcuedoju");
}
});
session.setDebug(true);
// Step-2: Compose the Message[text, multimedia]
MimeMessage m = new MimeMessage(session);
try {
// From email
m.setFrom(from);
// Adding recipient to mail
m.addRecipient(Message.RecipientType.TO, new InternetAddress(to));
// Adding subject to mail
m.setSubject(subject);
// Adding text to mail
m.setText(message);
// Step-3: Send mail
Transport.send(m);
System.out.println("Mail sent successfully");
f = true;
} catch (Exception e) {
e.printStackTrace();
}
return true;
}
}
Ответить
1 сообщение
• Страница 1 из 1
Перейти
- Кемерово-IT
- ↳ Javascript
- ↳ C#
- ↳ JAVA
- ↳ Elasticsearch aggregation
- ↳ Python
- ↳ Php
- ↳ Android
- ↳ Html
- ↳ Jquery
- ↳ C++
- ↳ IOS
- ↳ CSS
- ↳ Excel
- ↳ Linux
- ↳ Apache
- ↳ MySql
- Детский мир
- Для души
- ↳ Музыкальные инструменты даром
- ↳ Печатная продукция даром
- Внешняя красота и здоровье
- ↳ Одежда и обувь для взрослых даром
- ↳ Товары для здоровья
- ↳ Физкультура и спорт
- Техника - даром!
- ↳ Автомобилистам
- ↳ Компьютерная техника
- ↳ Плиты: газовые и электрические
- ↳ Холодильники
- ↳ Стиральные машины
- ↳ Телевизоры
- ↳ Телефоны, смартфоны, плашеты
- ↳ Швейные машинки
- ↳ Прочая электроника и техника
- ↳ Фототехника
- Ремонт и интерьер
- ↳ Стройматериалы, инструмент
- ↳ Мебель и предметы интерьера даром
- ↳ Cантехника
- Другие темы
- ↳ Разное даром
- ↳ Давай меняться!
- ↳ Отдам\возьму за копеечку
- ↳ Работа и подработка в Кемерове
- ↳ Давай с тобой поговорим...
Мобильная версия