私のサイトにはリンクがありますパスワードを忘れた場合 このリンクをクリックするとページが表示されるので、emailIdを入力して特定のgmailidにメールを送信します(このメールでリンクを生成する必要があります)。生成されたリンクページをクリックして、パスワードをリセットするために開いたとき(新しいパスワードやパスワードの確認など)。
私の問題は、メールを正常に送信できることですが、リンクをクリックすると、パスワードをリセットするための emailId が見つからないことです。 Gmail リンク :
http://127.0.0.1:8888/abc.html?gwt.codesvr=127.0.0.1:9997#forgetPassword
クライアントコード
sendButton.addClickHandler(new ClickHandler() {
@Override
public void onClick(ClickEvent event) {
// TODO Auto-generated method stub
greetServer.mailLinkSend(emailId.getText(),"http://"+Window.Location.getHost()+Window.Location.getPath()+Window.Location.getQueryString()+"#forgetPassword", new AsyncCallback<String>() {
@Override
public void onSuccess(String result) {
// TODO Auto-generated method stub
System.out.println("success"+result);
}
@Override
public void onFailure(Throwable caught) {
// TODO Auto-generated method stub
System.out.println("fail");
}
});
}
});
サーバー上
public String mailLinkSend(String emailText, String link) {
SecretKey key = KeyGenerator.getInstance("DES").generateKey();
// 暗号化/復号化クラスを作成 DesEncrypter encrypter = new DesEncrypter(key);
// 暗号化された暗号化 = encrypter.encrypt(emailText);
// 文字列の復号化 decrypted = encrypter.decrypt(encrypted);
String ss = "true";
String emailMsgTxt = "Hi" + emailText + "\n" + "\n"
+ "Your Password Change Link\n" + link + "?id=" + encrypted
+ "\n Click on the above link to Reset your Password";
String emailSubjectTxt = "Change Password Link";
String emailFromAddress = "abc@gmail.com";
String receipentList = emailText;
try {
MailUtility smtpMailSender = new MailUtility();
smtpMailSender.postMail(receipentList, emailSubjectTxt,emailMsgTxt, emailFromAddress);
} catch (MessagingException messagingException) {}
return ss;
}
MailUtility クラス
public class MailUtility {
public String postMail(String recipients, String subject,
String message, String from) throws MessagingException {
いくつかのコード....}
暗号化された形式でemailIdを送信しましたが、復号化されたキーを保存する方法と、1回の使用と48時間後にリンクを期限切れにする方法がわかりません。