X-Git-Url: https://code.wpia.club/?a=blobdiff_plain;f=src%2Forg%2Fcacert%2Fgigi%2Femail%2FSendmail.java;h=78d5a0bade0f9dc52f93de4377f738a53bff3019;hb=2befeb9fa40cd353f3a4c8fef355d619e8fadf93;hp=486f3c4efeedaf767cb69d2eb699e4d1b46c35a4;hpb=aac731a4213533e5e9c3143f95e99af4b273b17a;p=gigi.git diff --git a/src/org/cacert/gigi/email/Sendmail.java b/src/org/cacert/gigi/email/Sendmail.java index 486f3c4e..78d5a0ba 100644 --- a/src/org/cacert/gigi/email/Sendmail.java +++ b/src/org/cacert/gigi/email/Sendmail.java @@ -14,11 +14,19 @@ import java.util.Locale; import java.util.Properties; import java.util.regex.Pattern; +import org.cacert.gigi.util.PEM; import org.cacert.gigi.util.ServerConstants; public class Sendmail extends EmailProvider { - protected Sendmail(Properties props) {} + private final String targetHost; + + private final int targetPort; + + protected Sendmail(Properties props) { + targetHost = props.getProperty("emailProvider.smtpHost", "localhost"); + targetPort = Integer.parseInt(props.getProperty("emailProvider.smtpPort", "25")); + } private static final Pattern NON_ASCII = Pattern.compile("[^a-zA-Z0-9 .-\\[\\]!_@]"); @@ -27,7 +35,7 @@ public class Sendmail extends EmailProvider { String[] bits = from.split(","); - try (Socket smtp = new Socket("localhost", 25); PrintWriter out = new PrintWriter(new OutputStreamWriter(smtp.getOutputStream(), "UTF-8")); BufferedReader in = new BufferedReader(new InputStreamReader(smtp.getInputStream(), "UTF-8"));) { + 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(); @@ -74,7 +82,7 @@ public class Sendmail extends EmailProvider { // out.print(chunk_split(base64_encode(recode("html..utf-8", // $message)))."\r\n.\r\n"); headers.append("\r\n"); - headers.append(Base64.getEncoder().encodeToString(message.getBytes("UTF-8")).replaceAll("(.{64})(?=.)", "$1\r\n")); + headers.append(PEM.formatBase64(message.getBytes("UTF-8"))); headers.append("\r\n"); try {