| | |
| | | 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;
|
| | |
| | | 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;
|
| | |
| | |
|
| | | private TableRowSorter<UserCertificateTableModel> defaultSorter;
|
| | |
|
| | | private MailExecutor mail;
|
| | | private MailService mail;
|
| | |
|
| | | private JButton certificateDefaultsButton;
|
| | |
|
| | |
| | | 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;
|
| | |
| | | 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;
|
| | |
| | | // 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;
|