]> WPIA git - gigi.git/blobdiff - src/org/cacert/gigi/ping/EmailPinger.java
Merge "Suggestions to enhance the SQL call pattern."
[gigi.git] / src / org / cacert / gigi / ping / EmailPinger.java
index 449af0aa2c8e8e1ec8b17252358c414d061e76cd..dfb2b74a54017fc1fb70190ec8f56e750189067b 100644 (file)
@@ -1,25 +1,33 @@
 package org.cacert.gigi.ping;
 
 import java.io.IOException;
+import java.util.Locale;
 
+import org.cacert.gigi.dbObjects.CertificateOwner;
 import org.cacert.gigi.dbObjects.Domain;
 import org.cacert.gigi.dbObjects.User;
 import org.cacert.gigi.email.MailProbe;
 import org.cacert.gigi.localisation.Language;
+import org.cacert.gigi.util.RandomToken;
 
 public class EmailPinger extends DomainPinger {
 
     @Override
-    public String ping(Domain domain, String configuration, User u) {
-        String[] parts = configuration.split(":", 2);
-        String mail = parts[0] + "@" + domain.getSuffix();
+    public void ping(Domain domain, String configuration, CertificateOwner u, int confId) {
+        String mail = configuration + "@" + domain.getSuffix();
+        String token = RandomToken.generateToken(16);
         try {
-            MailProbe.sendMailProbe(Language.getInstance(u.getPreferredLocale()), "domain", domain.getId(), parts[1], mail);
+            enterPingResult(confId, PING_STILL_PENDING, "", token);
+            Locale l = Locale.ENGLISH;
+            if (u instanceof User) {
+                l = ((User) u).getPreferredLocale();
+                // TODO what to do with orgs?
+            }
+            MailProbe.sendMailProbe(Language.getInstance(l), "domain", domain.getId(), token, mail);
         } catch (IOException e) {
             e.printStackTrace();
-            return "Mail connection interrupted";
+            updatePingResult(confId, "error", "Mail connection interrupted", token);
         }
-        return PING_STILL_PENDING;
     }
 
 }