]> WPIA git - gigi.git/blobdiff - src/club/wpia/gigi/ping/EmailPinger.java
upd: rename package name and all references to it
[gigi.git] / src / club / wpia / gigi / ping / EmailPinger.java
diff --git a/src/club/wpia/gigi/ping/EmailPinger.java b/src/club/wpia/gigi/ping/EmailPinger.java
new file mode 100644 (file)
index 0000000..454ba81
--- /dev/null
@@ -0,0 +1,33 @@
+package club.wpia.gigi.ping;
+
+import java.io.IOException;
+import java.util.Locale;
+
+import club.wpia.gigi.dbObjects.CertificateOwner;
+import club.wpia.gigi.dbObjects.Domain;
+import club.wpia.gigi.dbObjects.User;
+import club.wpia.gigi.email.MailProbe;
+import club.wpia.gigi.localisation.Language;
+import club.wpia.gigi.util.RandomToken;
+
+public class EmailPinger extends DomainPinger {
+
+    @Override
+    public void ping(Domain domain, String configuration, CertificateOwner u, int confId) {
+        String mail = configuration + "@" + domain.getSuffix();
+        String token = RandomToken.generateToken(16);
+        try {
+            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();
+            updatePingResult(confId, "error", "Mail connection interrupted", token);
+        }
+    }
+
+}