public static final String OK = "OK";
public static final String FAIL = "FAIL";
- private static final Pattern MAIL = Pattern
+ public static final Pattern MAIL = Pattern
.compile("^([a-zA-Z0-9])+([a-zA-Z0-9\\+\\._-])*@([a-zA-Z0-9_-])+([a-zA-Z0-9\\._-]+)+$");
public String checkEmailServer(int forUid, String address) throws IOException {
import javax.servlet.http.HttpServletRequest;
import org.cacert.gigi.Language;
+import org.cacert.gigi.email.EmailProvider;
import org.cacert.gigi.output.Form;
import org.cacert.gigi.output.template.Template;
public class MailAddForm extends Form {
private static Template t;
+ private String mail;
static {
t = new Template(ChangePasswordPage.class.getResource("MailAddForm.templ"));
}
@Override
public boolean submit(PrintWriter out, HttpServletRequest req) {
- return false;
+ String formMail = req.getParameter("newemail");
+ if (!EmailProvider.MAIL.matcher(formMail).matches()) {
+ // TODO Proper error output (css, maybe abstract)
+ out.println("<b>Error: Invalid address!</b>");
+ return false;
+ }
+ mail = formMail;
+ return true;
+ }
+
+ public String getMail() {
+ return mail;
}
@Override
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
+import org.cacert.gigi.EmailAddress;
import org.cacert.gigi.Language;
import org.cacert.gigi.User;
import org.cacert.gigi.database.DatabaseConnection;
+import org.cacert.gigi.output.Form;
import org.cacert.gigi.output.Outputable;
import org.cacert.gigi.pages.LoginPage;
import org.cacert.gigi.pages.Page;
+import org.cacert.gigi.util.RandomToken;
public class MailOverview extends Page {
public static final String DEFAULT_PATH = "/account/mails";
@Override
public void doPost(HttpServletRequest req, HttpServletResponse resp) throws IOException {
- System.out.println();
+ PrintWriter out = resp.getWriter();
+ User us = LoginPage.getUser(req);
+ if (req.getParameter("addmail") != null) {
+ MailAddForm f = Form.getForm(req, MailAddForm.class);
+ if (f.submit(out, req)) {
+ EmailAddress addr = new EmailAddress(f.getMail(), us, RandomToken.generateToken(16));
+ addr.insert();
+ }
+ } else if (req.getParameter("makedefault") != null || req.getParameter("delete") != null) {
+ System.out.println("MakeDefault/Delete");
+ MailManagementForm f = Form.getForm(req, MailManagementForm.class);
+ f.submit(out, req);
+ }
super.doPost(req, resp);
}