From f97a9d4028195b328b7ff4267b7b4d893eee8995 Mon Sep 17 00:00:00 2001 From: =?utf8?q?Felix=20D=C3=B6rre?= Date: Fri, 5 Aug 2016 01:20:50 +0200 Subject: [PATCH] upd: make email sender address fixed. Change-Id: I02f4f2707f989c7bf6c721baee04dcee6d280a37 --- src/org/cacert/gigi/api/FindAgent.java | 2 +- src/org/cacert/gigi/email/EmailProvider.java | 2 +- src/org/cacert/gigi/email/SendMail.java | 12 +++++------- .../gigi/output/template/MailTemplate.java | 2 +- tests/org/cacert/gigi/email/TestSendmail.java | 2 +- .../org/cacert/gigi/testUtils/BusinessTest.java | 4 ++-- .../cacert/gigi/testUtils/TestEmailReceiver.java | 16 ++++------------ .../gigi/email/CommandlineEmailProvider.java | 3 +-- .../cacert/gigi/email/DelegateMailProvider.java | 4 ++-- .../org/cacert/gigi/email/TestEmailProvider.java | 5 ++--- util-testing/org/cacert/gigi/pages/Manager.java | 4 ++-- 11 files changed, 22 insertions(+), 34 deletions(-) diff --git a/src/org/cacert/gigi/api/FindAgent.java b/src/org/cacert/gigi/api/FindAgent.java index bca3a127..e64326b3 100644 --- a/src/org/cacert/gigi/api/FindAgent.java +++ b/src/org/cacert/gigi/api/FindAgent.java @@ -99,7 +99,7 @@ public class FindAgent extends APIPoint { return; } - EmailProvider.getInstance().sendMail(to.getEmail(), "[Find Agent] " + subject, body, to.getEmail(), null, null, null, null, false); + EmailProvider.getInstance().sendMail(to.getEmail(), "[Find Agent] " + subject, body, null, null, null, null, false); } } } diff --git a/src/org/cacert/gigi/email/EmailProvider.java b/src/org/cacert/gigi/email/EmailProvider.java index ed61aeca..ea6679cd 100644 --- a/src/org/cacert/gigi/email/EmailProvider.java +++ b/src/org/cacert/gigi/email/EmailProvider.java @@ -25,7 +25,7 @@ import org.cacert.gigi.util.DNSUtil; public abstract class EmailProvider { - public abstract void sendMail(String to, String subject, String message, String from, String replyto, String toname, String fromname, String errorsto, boolean extra) throws IOException; + public abstract void sendMail(String to, String subject, String message, String replyto, String toname, String fromname, String errorsto, boolean extra) throws IOException; private static EmailProvider instance; diff --git a/src/org/cacert/gigi/email/SendMail.java b/src/org/cacert/gigi/email/SendMail.java index 43c07e8a..d7343fbe 100644 --- a/src/org/cacert/gigi/email/SendMail.java +++ b/src/org/cacert/gigi/email/SendMail.java @@ -31,19 +31,17 @@ public class SendMail extends EmailProvider { private static final Pattern NON_ASCII = Pattern.compile("[^a-zA-Z0-9 .-\\[\\]!_@]"); @Override - public void sendMail(String to, String subject, String message, String from, String replyto, String toname, String fromname, String errorsto, boolean extra) throws IOException { - - String[] bits = from.split(","); - + public void sendMail(String to, String subject, String message, String replyto, String toname, String fromname, String errorsto, boolean extra) throws IOException { + String from = "support@" + ServerConstants.getWwwHostName().replaceAll("^www.", ""); try (Socket smtp = new Socket(targetHost, targetPort); PrintWriter out = new PrintWriter(new OutputStreamWriter(smtp.getOutputStream(), "UTF-8")); BufferedReader in = new BufferedReader(new InputStreamReader(smtp.getInputStream(), "UTF-8"));) { readSMTPResponse(in, 220); out.print("HELO www.cacert.org\r\n"); out.flush(); readSMTPResponse(in, 250); - out.print("MAIL FROM:\r\n"); + out.print("MAIL FROM: <" + from + ">\r\n"); out.flush(); readSMTPResponse(in, 250); - bits = to.split(","); + String[] bits = to.split(","); for (String user : bits) { out.print("RCPT TO:<" + user.trim() + ">\r\n"); out.flush(); @@ -68,7 +66,7 @@ public class SendMail extends EmailProvider { } else { out.print("Reply-To: " + from + "\r\n"); } - out.print("From: support@" + ServerConstants.getWwwHostName().replaceAll("^www.", "") + "\r\n"); + out.print("From: " + from + "\r\n"); out.print("To: " + to + "\r\n"); if (NON_ASCII.matcher(subject).matches()) { diff --git a/src/org/cacert/gigi/output/template/MailTemplate.java b/src/org/cacert/gigi/output/template/MailTemplate.java index 7f1a87d0..45f8594a 100644 --- a/src/org/cacert/gigi/output/template/MailTemplate.java +++ b/src/org/cacert/gigi/output/template/MailTemplate.java @@ -65,7 +65,7 @@ public class MailTemplate extends Template { String body = runTemplate(this, l, vars); String subject = runTemplate(subjectBlock, l, vars); - SendMail.getInstance().sendMail(to, SUBJECT_TAG + subject, body, "support@cacert.org", null, null, null, null, false); + SendMail.getInstance().sendMail(to, SUBJECT_TAG + subject, body, null, null, null, null, false); } private static String runTemplate(Outputable toRun, Language l, Map vars) { diff --git a/tests/org/cacert/gigi/email/TestSendmail.java b/tests/org/cacert/gigi/email/TestSendmail.java index 5ddd7508..aa0e8a35 100644 --- a/tests/org/cacert/gigi/email/TestSendmail.java +++ b/tests/org/cacert/gigi/email/TestSendmail.java @@ -55,7 +55,7 @@ public class TestSendmail extends ConfiguredTest { String subj = "subj-" + createUniqueName(); String msg = "msg-" + createUniqueName(); - EmailProvider.getInstance().sendMail(succmail, subj, msg, "system@cacert.org", "system@cacert.org", "Testtarget", "Testsender", null, false); + EmailProvider.getInstance().sendMail(succmail, subj, msg, "system@cacert.org", "Testtarget", "Testsender", null, false); try (Socket s = SSLSocketFactory.getDefault().createSocket(imap, 993);// PrintWriter pw = new PrintWriter(new OutputStreamWriter(s.getOutputStream(), "UTF-8"), true);// diff --git a/tests/org/cacert/gigi/testUtils/BusinessTest.java b/tests/org/cacert/gigi/testUtils/BusinessTest.java index 8de7a586..b78b3726 100644 --- a/tests/org/cacert/gigi/testUtils/BusinessTest.java +++ b/tests/org/cacert/gigi/testUtils/BusinessTest.java @@ -39,8 +39,8 @@ public abstract class BusinessTest extends ConfiguredTest { } @Override - public void sendMail(String to, String subject, String message, String from, String replyto, String toname, String fromname, String errorsto, boolean extra) throws IOException { - TestMail tm = new TestEmailReceiver.TestMail(to, subject, message, fromname, replyto) { + public void sendMail(String to, String subject, String message, String replyto, String toname, String fromname, String errorsto, boolean extra) throws IOException { + TestMail tm = new TestEmailReceiver.TestMail(to, subject, message, replyto) { @Override public void verify() throws IOException { diff --git a/tests/org/cacert/gigi/testUtils/TestEmailReceiver.java b/tests/org/cacert/gigi/testUtils/TestEmailReceiver.java index 27b166f9..155539c7 100644 --- a/tests/org/cacert/gigi/testUtils/TestEmailReceiver.java +++ b/tests/org/cacert/gigi/testUtils/TestEmailReceiver.java @@ -34,15 +34,12 @@ public final class TestEmailReceiver extends EmailProvider implements Runnable, String message; - String from; - String replyto; - public TestMail(String to, String subject, String message, String from, String replyto) { + public TestMail(String to, String subject, String message, String replyto) { this.to = to; this.subject = subject; this.message = message; - this.from = from; this.replyto = replyto; } @@ -58,10 +55,6 @@ public final class TestEmailReceiver extends EmailProvider implements Runnable, return message; } - public String getFrom() { - return from; - } - public String getReplyto() { return replyto; } @@ -174,9 +167,8 @@ public final class TestEmailReceiver extends EmailProvider implements Runnable, String to = dis.readUTF(); String subject = dis.readUTF(); String message = dis.readUTF(); - String from = dis.readUTF(); String replyto = dis.readUTF(); - mails.add(new TestMail(to, subject, message, from, replyto)); + mails.add(new TestMail(to, subject, message, replyto)); } else if (type.equals("challengeAddrBox")) { String email = dis.readUTF(); dos.writeUTF(quickEmailCheck(email)); @@ -273,8 +265,8 @@ public final class TestEmailReceiver extends EmailProvider implements Runnable, } @Override - public void sendMail(String to, String subject, String message, String from, String replyto, String toname, String fromname, String errorsto, boolean extra) throws IOException { - mails.add(new TestMail(to, subject, message, from, replyto)); + public void sendMail(String to, String subject, String message, String replyto, String toname, String fromname, String errorsto, boolean extra) throws IOException { + mails.add(new TestMail(to, subject, message, replyto)); } } diff --git a/util-testing/org/cacert/gigi/email/CommandlineEmailProvider.java b/util-testing/org/cacert/gigi/email/CommandlineEmailProvider.java index e23f4758..263b4c49 100644 --- a/util-testing/org/cacert/gigi/email/CommandlineEmailProvider.java +++ b/util-testing/org/cacert/gigi/email/CommandlineEmailProvider.java @@ -8,12 +8,11 @@ public class CommandlineEmailProvider extends EmailProvider { public CommandlineEmailProvider(Properties p) {} @Override - public void sendMail(String to, String subject, String message, String from, String replyto, String toname, String fromname, String errorsto, boolean extra) throws IOException { + public void sendMail(String to, String subject, String message, String replyto, String toname, String fromname, String errorsto, boolean extra) throws IOException { synchronized (System.out) { System.out.println("== MAIL =="); System.out.println("To: " + to); System.out.println("Subject: " + subject); - System.out.println("From: " + from); System.out.println("Errors-To: " + errorsto); System.out.println("Extra: " + extra); System.out.println(message); diff --git a/util-testing/org/cacert/gigi/email/DelegateMailProvider.java b/util-testing/org/cacert/gigi/email/DelegateMailProvider.java index c0143ebe..109aae8d 100644 --- a/util-testing/org/cacert/gigi/email/DelegateMailProvider.java +++ b/util-testing/org/cacert/gigi/email/DelegateMailProvider.java @@ -25,9 +25,9 @@ public abstract class DelegateMailProvider extends EmailProvider { } @Override - public void sendMail(String to, String subject, String message, String from, String replyto, String toname, String fromname, String errorsto, boolean extra) throws IOException { + public void sendMail(String to, String subject, String message, String replyto, String toname, String fromname, String errorsto, boolean extra) throws IOException { if (target != null) { - target.sendMail(to, subject, message, from, replyto, toname, fromname, errorsto, extra); + target.sendMail(to, subject, message, replyto, toname, fromname, errorsto, extra); } } diff --git a/util-testing/org/cacert/gigi/email/TestEmailProvider.java b/util-testing/org/cacert/gigi/email/TestEmailProvider.java index 91c04405..eb5eb820 100644 --- a/util-testing/org/cacert/gigi/email/TestEmailProvider.java +++ b/util-testing/org/cacert/gigi/email/TestEmailProvider.java @@ -33,10 +33,10 @@ public class TestEmailProvider extends DelegateMailProvider { } @Override - public synchronized void sendMail(String to, String subject, String message, String from, String replyto, String toname, String fromname, String errorsto, boolean extra) throws IOException { + public synchronized void sendMail(String to, String subject, String message, String replyto, String toname, String fromname, String errorsto, boolean extra) throws IOException { while (true) { if ( !ensureLocalConnection() && getTarget() != null) { - super.sendMail(to, subject, message, from, replyto, toname, fromname, errorsto, extra); + super.sendMail(to, subject, message, replyto, toname, fromname, errorsto, extra); return; } try { @@ -47,7 +47,6 @@ public class TestEmailProvider extends DelegateMailProvider { write(to); write(subject); write(message); - write(from); write(replyto); out.flush(); return; diff --git a/util-testing/org/cacert/gigi/pages/Manager.java b/util-testing/org/cacert/gigi/pages/Manager.java index 8600785b..0cf8e12d 100644 --- a/util-testing/org/cacert/gigi/pages/Manager.java +++ b/util-testing/org/cacert/gigi/pages/Manager.java @@ -164,7 +164,7 @@ public class Manager extends Page { } @Override - public synchronized void sendMail(String to, String subject, String message, String from, String replyto, String toname, String fromname, String errorsto, boolean extra) throws IOException { + public synchronized void sendMail(String to, String subject, String message, String replyto, String toname, String fromname, String errorsto, boolean extra) throws IOException { HashMap> mails = Manager.getInstance().emails; LinkedList hismails = mails.get(to); if (hismails == null) { @@ -173,7 +173,7 @@ public class Manager extends Page { hismails.addFirst(subject + "\n" + message); for (int i = 0; i < toForward.length; i++) { if (toForward[i].matcher(to).matches()) { - super.sendMail(to, subject, message, from, replyto, toname, fromname, errorsto, extra); + super.sendMail(to, subject, message, replyto, toname, fromname, errorsto, extra); return; } } -- 2.39.2