--- /dev/null
+Subject: [<?=${ticket}?>] <?=${subject}?>
+
+<?=_Hi?>,
+
+<?=_supporter ${supporter} triggered:?>
+
+<?=$action?>
+
+RA DB
package org.cacert.gigi.dbObjects;
import java.io.IOException;
-import java.io.PrintWriter;
-import java.io.StringWriter;
import java.util.HashMap;
import java.util.Locale;
import org.cacert.gigi.GigiApiException;
import org.cacert.gigi.database.GigiPreparedStatement;
import org.cacert.gigi.dbObjects.Certificate.CertificateStatus;
-import org.cacert.gigi.email.SendMail;
import org.cacert.gigi.localisation.Language;
+import org.cacert.gigi.output.template.MailTemplate;
import org.cacert.gigi.output.template.Outputable;
-import org.cacert.gigi.output.template.SprintfCommand;
import org.cacert.gigi.util.DayDate;
import org.cacert.gigi.util.ServerConstants;
target.revokeGroup(supporter, toMod);
}
+ private static final MailTemplate supportNotification = new MailTemplate(SupportedUser.class.getResource("SupportNotificationMail.templ"));
+
public void sendSupportNotification(String subject, Outputable message) {
try {
- StringWriter sw = new StringWriter();
- PrintWriter outMail = new PrintWriter(sw);
- outMail.print("Hi," + "\n\n");
- SprintfCommand.createSimple("supporter {0} triggered:", supporter.getPreferredName().toString()).output(outMail, Language.getInstance(Locale.ENGLISH), new HashMap<String, Object>());
- outMail.print("\n\n");
- message.output(outMail, Language.getInstance(Locale.ENGLISH), new HashMap<String, Object>());
- outMail.print("\n\n");
- outMail.print("RA DB");
- outMail.close();
+ HashMap<String, Object> vars = new HashMap<>();
+ vars.put("supporter", supporter.getPreferredName().toString());
+ vars.put("action", message);
+ vars.put("ticket", this.getTicket());
+ vars.put("subject", subject);
+
String supportemailaddress = "support@" + ServerConstants.getWwwHostName().replaceFirst("^www\\.", "");
- SendMail.getInstance().sendMail(supportemailaddress, "[" + this.getTicket() + "] RA DB " + subject, sw.toString(), supportemailaddress, null, null, null, null, false);
+ supportNotification.sendMail(Language.getInstance(Locale.ENGLISH), vars, supportemailaddress);
} catch (IOException e) {
e.printStackTrace();
}
package org.cacert.gigi.email;
import java.io.IOException;
+import java.util.HashMap;
import org.cacert.gigi.localisation.Language;
+import org.cacert.gigi.output.template.MailTemplate;
import org.cacert.gigi.util.ServerConstants;
public class MailProbe {
+ private static final MailTemplate mailProbe = new MailTemplate(MailProbe.class.getResource("MailProbe.templ"));
+
public static void sendMailProbe(Language l, String type, int id, String hash, String address) throws IOException {
- StringBuffer body = new StringBuffer();
- body.append(l.getTranslation("Thanks for signing up with SomeCA.org, below is the link you need to open to verify your account. Once your account is verified you will be able to start issuing certificates till your hearts' content!"));
- body.append("\n\nhttps://");
- body.append(ServerConstants.getWwwHostNamePortSecure());
- body.append("/verify?type=");
- body.append(type);
- body.append("&id=");
- body.append(id);
- body.append("&hash=");
- body.append(hash);
- body.append("\n\n");
- body.append(l.getTranslation("Best regards"));
- body.append("\n");
- body.append(l.getTranslation("SomeCA.org Support!"));
- EmailProvider.getInstance().sendMail(address, "[SomeCA.org] " + l.getTranslation("Mail Probe"), body.toString(), "support@cacert.org", null, null, null, null, false);
+ HashMap<String, Object> vars = new HashMap<>();
+ vars.put("link", "https://" + ServerConstants.getWwwHostNamePortSecure() + "/verify?type=" + type + "&id=" + id + "&hash=" + hash);
+ mailProbe.sendMail(l, vars, address);
}
}
--- /dev/null
+Subject: <?=_Mail Probe?>
+
+<?=_Thanks for signing up with SomeCA.org, below is the link you need to open to verify your account. Once your account is verified you will be able to start issuing certificates till your hearts' content!?>
+
+<?=$link?>
+
+<?=_Best regards?>
+
+<?=_SomeCA.org Support!?>
--- /dev/null
+Subject: <?=$subject?>
+
+<?=_Hi?>,
+
+<?=$method?>
+
+<?=$link?>
+
+<?=_This process will expire in ${hour_max} hours.?>
+
+<?=_Best regards?>
+<?=_SomeCA.org Support?>
import java.io.IOException;
import java.io.PrintWriter;
-import java.io.StringWriter;
import java.net.URLEncoder;
import java.util.HashMap;
import java.util.Map;
import org.cacert.gigi.GigiApiException;
import org.cacert.gigi.database.GigiPreparedStatement;
import org.cacert.gigi.dbObjects.User;
-import org.cacert.gigi.email.SendMail;
import org.cacert.gigi.localisation.Language;
import org.cacert.gigi.output.template.Form;
-import org.cacert.gigi.output.template.SprintfCommand;
+import org.cacert.gigi.output.template.MailTemplate;
import org.cacert.gigi.output.template.Template;
import org.cacert.gigi.util.AuthorizationContext;
import org.cacert.gigi.util.RandomToken;
return true;
}
+ private static final MailTemplate passwordResetMail = new MailTemplate(PasswordResetPage.class.getResource("PasswordResetMail.templ"));
+
public static void initPasswordResetProcess(PrintWriter out, User targetUser, HttpServletRequest req, String aword, Language l, String method, String subject) {
String ptok = RandomToken.generateToken(32);
int id = targetUser.generatePasswordResetTicket(Page.getUser(req), ptok, aword);
try {
- StringWriter sw = new StringWriter();
- PrintWriter outMail = new PrintWriter(sw);
- outMail.print(l.getTranslation("Hi,") + "\n\n");
- outMail.print(method);
- outMail.print("\n\nhttps://");
- outMail.print(ServerConstants.getWwwHostNamePortSecure() + PasswordResetPage.PATH);
- outMail.print("?id=");
- outMail.print(id);
- outMail.print("&token=");
- outMail.print(URLEncoder.encode(ptok, "UTF-8"));
- outMail.print("\n");
- outMail.print("\n");
- SprintfCommand.createSimple("This process will expire in {0} hours.", Integer.toString(HOUR_MAX)).output(outMail, l, new HashMap<String, Object>());
- outMail.print("\n");
- outMail.print("\n");
- outMail.print(l.getTranslation("Best regards"));
- outMail.print("\n");
- outMail.print(l.getTranslation("SomeCA.org Support!"));
- outMail.close();
- SendMail.getInstance().sendMail(Page.getUser(req).getEmail(), "[SomeCA.org] " + subject, sw.toString(), "support@cacert.org", null, null, null, null, false);
+ HashMap<String, Object> vars = new HashMap<>();
+ vars.put("subject", subject);
+ vars.put("method", method);
+ vars.put("link", "https://" + ServerConstants.getWwwHostNamePortSecure() + PasswordResetPage.PATH //
+ + "?id=" + id + "&token=" + URLEncoder.encode(ptok, "UTF-8"));
+ vars.put("hour_max", HOUR_MAX);
+
+ passwordResetMail.sendMail(l, vars, Page.getUser(req).getEmail());
out.println(Page.getLanguage(req).getTranslation("Password reset successful."));
} catch (IOException e) {
e.printStackTrace();