删除测试库
删除 wecome 增加新代码
This commit is contained in:
@@ -40,21 +40,7 @@ public class EmailService {
|
||||
return sendMailSsl.hasAllInformation();
|
||||
}
|
||||
|
||||
|
||||
/**
|
||||
* Sends an email to the user with his new password.
|
||||
*
|
||||
* @param name the name of the player
|
||||
* @param mailAddress the player's email
|
||||
* @param newPass the new password
|
||||
* @return true if email could be sent, false otherwise
|
||||
*/
|
||||
public boolean sendPasswordMail(String name, String mailAddress, String newPass) {
|
||||
if (!hasAllInformation()) {
|
||||
logger.warning("Cannot perform email registration: not all email settings are complete");
|
||||
return false;
|
||||
}
|
||||
|
||||
public boolean sendNewPasswordMail(String name, String mailAddress, String newPass,String ip,String time) {
|
||||
HtmlEmail email;
|
||||
try {
|
||||
email = sendMailSsl.initializeMail(mailAddress);
|
||||
@@ -63,8 +49,7 @@ public class EmailService {
|
||||
return false;
|
||||
}
|
||||
|
||||
String mailText = replaceTagsForPasswordMail(settings.getPasswordEmailMessage(), name, newPass);
|
||||
// Generate an image?
|
||||
String mailText = replaceTagsForPasswordMail(settings.getNewPasswordEmailMessage(), name, newPass,ip,time);
|
||||
File file = null;
|
||||
if (settings.getProperty(EmailSettings.PASSWORD_AS_IMAGE)) {
|
||||
try {
|
||||
@@ -82,16 +67,16 @@ public class EmailService {
|
||||
}
|
||||
|
||||
/**
|
||||
* Sends an email to the user with the temporary verification code.
|
||||
* Sends an email to the user with his new password.
|
||||
*
|
||||
* @param name the name of the player
|
||||
* @param mailAddress the player's email
|
||||
* @param code the verification code
|
||||
* @param newPass the new password
|
||||
* @return true if email could be sent, false otherwise
|
||||
*/
|
||||
public boolean sendVerificationMail(String name, String mailAddress, String code) {
|
||||
public boolean sendPasswordMail(String name, String mailAddress, String newPass, String time) {
|
||||
if (!hasAllInformation()) {
|
||||
logger.warning("Cannot send verification email: not all email settings are complete");
|
||||
logger.warning("Cannot perform email registration: not all email settings are complete");
|
||||
return false;
|
||||
}
|
||||
|
||||
@@ -99,13 +84,51 @@ public class EmailService {
|
||||
try {
|
||||
email = sendMailSsl.initializeMail(mailAddress);
|
||||
} catch (EmailException e) {
|
||||
logger.logException("Failed to create verification email with the given settings:", e);
|
||||
logger.logException("Failed to create email with the given settings:", e);
|
||||
return false;
|
||||
}
|
||||
|
||||
String mailText = replaceTagsForPasswordMail(settings.getPasswordEmailMessage(), name, newPass,time);
|
||||
// Generate an image?
|
||||
File file = null;
|
||||
if (settings.getProperty(EmailSettings.PASSWORD_AS_IMAGE)) {
|
||||
try {
|
||||
file = generatePasswordImage(name, newPass);
|
||||
mailText = embedImageIntoEmailContent(file, email, mailText);
|
||||
} catch (IOException | EmailException e) {
|
||||
logger.logException(
|
||||
"Unable to send new password as image for email " + mailAddress + ":", e);
|
||||
}
|
||||
}
|
||||
|
||||
boolean couldSendEmail = sendMailSsl.sendEmail(mailText, email);
|
||||
FileUtils.delete(file);
|
||||
return couldSendEmail;
|
||||
}
|
||||
/**
|
||||
* Sends an email to the user with the temporary verification code.
|
||||
*
|
||||
* @param name the name of the player
|
||||
* @param mailAddress the player's email
|
||||
* @param code the verification code
|
||||
*/
|
||||
public void sendVerificationMail(String name, String mailAddress, String code, String time) {
|
||||
if (!hasAllInformation()) {
|
||||
logger.warning("Cannot send verification email: not all email settings are complete");
|
||||
return;
|
||||
}
|
||||
|
||||
HtmlEmail email;
|
||||
try {
|
||||
email = sendMailSsl.initializeMail(mailAddress);
|
||||
} catch (EmailException e) {
|
||||
logger.logException("Failed to create verification email with the given settings:", e);
|
||||
return;
|
||||
}
|
||||
|
||||
String mailText = replaceTagsForVerificationEmail(settings.getVerificationEmailMessage(), name, code,
|
||||
settings.getProperty(SecuritySettings.VERIFICATION_CODE_EXPIRATION_MINUTES));
|
||||
return sendMailSsl.sendEmail(mailText, email);
|
||||
settings.getProperty(SecuritySettings.VERIFICATION_CODE_EXPIRATION_MINUTES),time);
|
||||
sendMailSsl.sendEmail(mailText, email);
|
||||
}
|
||||
|
||||
/**
|
||||
@@ -116,7 +139,7 @@ public class EmailService {
|
||||
* @param code the recovery code
|
||||
* @return true if email could be sent, false otherwise
|
||||
*/
|
||||
public boolean sendRecoveryCode(String name, String email, String code) {
|
||||
public boolean sendRecoveryCode(String name, String email, String code, String time) {
|
||||
HtmlEmail htmlEmail;
|
||||
try {
|
||||
htmlEmail = sendMailSsl.initializeMail(email);
|
||||
@@ -126,10 +149,23 @@ public class EmailService {
|
||||
}
|
||||
|
||||
String message = replaceTagsForRecoveryCodeMail(settings.getRecoveryCodeEmailMessage(),
|
||||
name, code, settings.getProperty(SecuritySettings.RECOVERY_CODE_HOURS_VALID));
|
||||
name, code, settings.getProperty(SecuritySettings.RECOVERY_CODE_HOURS_VALID),time);
|
||||
return sendMailSsl.sendEmail(message, htmlEmail);
|
||||
}
|
||||
|
||||
public void sendShutDown(String email, String time) {
|
||||
HtmlEmail htmlEmail;
|
||||
try {
|
||||
htmlEmail = sendMailSsl.initializeMail(email);
|
||||
} catch (EmailException e) {
|
||||
logger.logException("Failed to create email for recovery code:", e);
|
||||
return;
|
||||
}
|
||||
|
||||
String message = replaceTagsForShutDownMail(settings.getShutdownEmailMessage(), time);
|
||||
sendMailSsl.sendEmail(message, htmlEmail);
|
||||
}
|
||||
|
||||
private File generatePasswordImage(String name, String newPass) throws IOException {
|
||||
ImageGenerator gen = new ImageGenerator(newPass);
|
||||
File file = new File(dataFolder, name + "_new_pass.jpg");
|
||||
@@ -144,26 +180,44 @@ public class EmailService {
|
||||
return content.replace("<image />", "<img src=\"cid:" + tag + "\">");
|
||||
}
|
||||
|
||||
private String replaceTagsForPasswordMail(String mailText, String name, String newPass) {
|
||||
private String replaceTagsForPasswordMail(String mailText, String name, String newPass,String ip,String time) {
|
||||
return mailText
|
||||
.replace("<playername />", name)
|
||||
.replace("<servername />", settings.getProperty(PluginSettings.SERVER_NAME))
|
||||
.replace("<generatedpass />", newPass);
|
||||
.replace("<generatedpass />", newPass)
|
||||
.replace("<playerip />", ip)
|
||||
.replace("<time />", time);
|
||||
}
|
||||
|
||||
private String replaceTagsForVerificationEmail(String mailText, String name, String code, int minutesValid) {
|
||||
private String replaceTagsForPasswordMail(String mailText, String name, String newPass, String time) {
|
||||
return mailText
|
||||
.replace("<playername />", name)
|
||||
.replace("<servername />", settings.getProperty(PluginSettings.SERVER_NAME))
|
||||
.replace("<generatedpass />", newPass)
|
||||
.replace("<time />", time);
|
||||
}
|
||||
|
||||
private String replaceTagsForVerificationEmail(String mailText, String name, String code, int minutesValid, String time) {
|
||||
return mailText
|
||||
.replace("<playername />", name)
|
||||
.replace("<servername />", settings.getProperty(PluginSettings.SERVER_NAME))
|
||||
.replace("<generatedcode />", code)
|
||||
.replace("<minutesvalid />", String.valueOf(minutesValid));
|
||||
.replace("<minutesvalid />", String.valueOf(minutesValid))
|
||||
.replace("<time />", time);
|
||||
}
|
||||
|
||||
private String replaceTagsForRecoveryCodeMail(String mailText, String name, String code, int hoursValid) {
|
||||
private String replaceTagsForRecoveryCodeMail(String mailText, String name, String code, int hoursValid, String time) {
|
||||
return mailText
|
||||
.replace("<playername />", name)
|
||||
.replace("<servername />", settings.getProperty(PluginSettings.SERVER_NAME))
|
||||
.replace("<recoverycode />", code)
|
||||
.replace("<hoursvalid />", String.valueOf(hoursValid));
|
||||
.replace("<hoursvalid />", String.valueOf(hoursValid))
|
||||
.replace("<time />", time);
|
||||
}
|
||||
private String replaceTagsForShutDownMail(String mailText, String time) {
|
||||
return mailText
|
||||
.replace("<servername />", settings.getProperty(PluginSettings.SERVER_NAME))
|
||||
.replace("<time />", time);
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user