Paul Martin
2016-04-16 eecaad8b8e2c447429c31a01d49260ddd6b4ee03
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;