-1
MySQL 데이터베이스에서 비밀번호를 가져와야합니다. 이 암호는 JDBC를 사용하여 Java에서 사용자 유효한 전자 메일로 전송됩니다. 어떻게 구현할 수 있습니까? 여기비밀번호 가져 오기는 JDBC를 사용하여 이메일로 전송됩니다.
public class Checkemail
{
public String authentication(String Email) {
String retrievedUserName = "";
String retrievedPassword = "";
String status = "";
try {
Class.forName("com.mysql.jdbc.Driver");
Connection con = DriverManager.getConnection("jdbc:mysql://localhost:3306/xcart-432pro", "root", "");
PreparedStatement statement = con.prepareStatement("SELECT * FROM xcart_customers WHERE email = '" + Email + "'");
ResultSet result = statement.executeQuery();
while(result.next()) {
retrievedUserName = result.getString("email");
retrievedPassword = result.getString("password");
}
if(retrievedUserName.equals(Email)) {
status = "Valid Email";
}
else {
status = "Invalid Email!!!";
}
}
catch(Exception e) {
e.printStackTrace();
}
return status;
}
}
나는 이메일이 성공적으로 유효 또는 무효 확인했다 : 여기
내가 사용하고있는 코드입니다.비밀번호를 가져 오는 코드를 어떻게 작성할 수 있습니까?이 비밀번호는 전자 메일로 보내기 기능입니까?
편집 :
지금 내가 코드를 아래와 같이 변경되었습니다
if(retrievedUserName.equals(Email)){
status = "Valid Email";
Properties props = new Properties();
props.put("mail.smtp.host", "smtp.gmail.com");
props.put("mail.smtp.socketFactory.port", "465");
props.put("mail.smtp.socketFactory.class",
"javax.net.ssl.SSLSocketFactory");
props.put("mail.smtp.auth", "true");
props.put("mail.smtp.port", "465");
Session session = Session.getDefaultInstance(props,
new javax.mail.Authenticator() {
protected PasswordAuthentication getPasswordAuthentication() {
return new PasswordAuthentication("[email protected]","xxxx");
}
});
try {
Message message = new MimeMessage(session);
message.setFrom(new InternetAddress("[email protected]"));
message.setRecipients(Message.RecipientType.TO,
InternetAddress.parse(Email));
message.setSubject("Testing Subject");
message.setText("Dear Friends This is your fassword," +
retrievedPassword);
Transport.send(message);
System.out.println("Done");
} catch (MessagingException e) {
throw new RuntimeException(e);
}
}
else{
status = "Invalid Email!!!";
}
}
catch(Exception e){
e.printStackTrace();
}
return status;
}
}
다음
내가 공개적으로 내 코드에 내 Gmail 사용자 이름과 비밀번호를 언급했다.
Session session = Session.getDefaultInstance(props,
new javax.mail.Authenticator() {
protected PasswordAuthentication getPasswordAuthentication() {
return new PasswordAuthentication("[email protected]","xxxx");
}
});
내가 언급 Gmail 사용자 이름과 password.please 도움이 O를 me.how 내가 다음을 개발할 수 있습니다 승/메일을 보낼 수 있습니다.
코드 블록에 대한 일관되고 논리적 들여 쓰기를 사용하십시오. –
Simple : 1) 암호가 데이터베이스의 xcart_customers 테이블에 저장되어 있는지 확인하십시오. 2) 전자 메일과 동일한 방법으로 가져 오기 : retrievePassword = result.getString ("password");'3) JavaMail API를 사용할 수 있습니다. 전자 메일을 일반 텍스트로 저장하고 일반 텍스트로 전자 메일로 보내야합니다 보안이 필요합니까? 보안;) – paulsm4
@ paulsm4 예 2 steps.i 위의 세 번째 step.so을 개발할 수 없으므로 자세한 내용을 설명하십시오 – user1897014