From a502d96a860456ec5e8c96761db70f7cabb74751 Mon Sep 17 00:00:00 2001
From: Paul Martin <paul@paulsputer.com>
Date: Sat, 30 Apr 2016 04:19:14 -0400
Subject: [PATCH] Merge pull request #1073 from gitblit/1062-DocEditorUpdates

---
 src/main/java/com/gitblit/authority/GitblitAuthority.java |   36 +++++++++++-------------------------
 1 files changed, 11 insertions(+), 25 deletions(-)

diff --git a/src/main/java/com/gitblit/authority/GitblitAuthority.java b/src/main/java/com/gitblit/authority/GitblitAuthority.java
index 37088ae..5f4a7e7 100644
--- a/src/main/java/com/gitblit/authority/GitblitAuthority.java
+++ b/src/main/java/com/gitblit/authority/GitblitAuthority.java
@@ -50,12 +50,7 @@
 import java.util.List;
 import java.util.Map;
 
-import javax.activation.DataHandler;
-import javax.activation.FileDataSource;
 import javax.mail.Message;
-import javax.mail.Multipart;
-import javax.mail.internet.MimeBodyPart;
-import javax.mail.internet.MimeMultipart;
 import javax.swing.ImageIcon;
 import javax.swing.InputVerifier;
 import javax.swing.JButton;
@@ -90,10 +85,11 @@
 import com.gitblit.IStoredSettings;
 import com.gitblit.IUserService;
 import com.gitblit.Keys;
-import com.gitblit.MailExecutor;
 import com.gitblit.client.HeaderPanel;
 import com.gitblit.client.Translation;
+import com.gitblit.models.Mailing;
 import com.gitblit.models.UserModel;
+import com.gitblit.service.MailService;
 import com.gitblit.utils.ArrayUtils;
 import com.gitblit.utils.FileUtils;
 import com.gitblit.utils.StringUtils;
@@ -131,7 +127,7 @@
 
 	private TableRowSorter<UserCertificateTableModel> defaultSorter;
 
-	private MailExecutor mail;
+	private MailService mail;
 
 	private JButton certificateDefaultsButton;
 
@@ -146,7 +142,7 @@
 				if (i + 1 == args.length) {
 					System.out.println("Invalid --baseFolder parameter!");
 					System.exit(-1);
-				} else if (args[i + 1] != ".") {
+				} else if (!".".equals(args[i + 1])) {
 					folder = args[i+1];
 				}
 				break;
@@ -258,7 +254,7 @@
 			return null;
 		}
 		gitblitSettings = new FileSettings(file.getAbsolutePath());
-		mail = new MailExecutor(gitblitSettings);
+		mail = new MailService(gitblitSettings);
 		String us = gitblitSettings.getString(Keys.realm.userService, "${baseFolder}/users.conf");
 		String ext = us.substring(us.lastIndexOf(".") + 1).toLowerCase();
 		IUserService service = null;
@@ -853,27 +849,17 @@
 		// send email
 		try {
 			if (mail.isReady()) {
-				Message message = mail.createMessage(user.emailAddress);
-				message.setSubject("Your Gitblit client certificate for " + metadata.serverHostname);
-
-				// body of email
+				Mailing mailing = Mailing.newPlain();
+				mailing.subject = "Your Gitblit client certificate for " + metadata.serverHostname;
+				mailing.setRecipients(user.emailAddress);
 				String body = X509Utils.processTemplate(new File(folder, X509Utils.CERTS + File.separator + "mail.tmpl"), metadata);
 				if (StringUtils.isEmpty(body)) {
 					body = MessageFormat.format("Hi {0}\n\nHere is your client certificate bundle.\nInside the zip file are installation instructions.", user.getDisplayName());
 				}
-				Multipart mp = new MimeMultipart();
-				MimeBodyPart messagePart = new MimeBodyPart();
-				messagePart.setText(body);
-				mp.addBodyPart(messagePart);
+				mailing.content = body;
+				mailing.addAttachment(zip);
 
-				// attach zip
-				MimeBodyPart filePart = new MimeBodyPart();
-				FileDataSource fds = new FileDataSource(zip);
-				filePart.setDataHandler(new DataHandler(fds));
-				filePart.setFileName(fds.getName());
-				mp.addBodyPart(filePart);
-
-				message.setContent(mp);
+				Message message = mail.createMessage(mailing);
 
 				mail.sendNow(message);
 				return true;

--
Gitblit v1.9.1