public static void setNonHtmlMessage(CommandSender sender, String[] args) { if (inProgress(sender.getName())) { switch (getCurrentEmail(sender.getName())) { case "simple": LogHelper.showWarning("emailNonHtmlNotAllowed", sender); return; case "multi": LogHelper.showWarning("emailNonHtmlNotAllowed", sender); return; case "html": break; default: LogHelper.showWarning("emailNotInProgressEdit", sender); return; } HtmlEmail email = htmlEmail.get(sender.getName()); try { email.setMsg(Utils.implode(args, " ")); } catch (EmailException e) { sendErrorMessage(sender, e); return; } LogHelper.showWarning("emailNonHtmlMessageSet", sender); htmlEmail.put(sender.getName(), email); } else { LogHelper.showWarning("emailNotInProgressEdit", sender); } }
@SuppressWarnings("unchecked") static String[] composeReadableRecipientList(HtmlEmail email) { String[] RRL = {"To: ", "Cc: ", "Bcc: "}; Iterator<String> toIT = email.getToAddresses().iterator(), ccIT = email.getCcAddresses().iterator(), bccIT = email.getBccAddresses().iterator(); while (toIT.hasNext()) { RRL[0] += toIT.next() + ", "; } while (ccIT.hasNext()) { RRL[1] += ccIT.next() + ", "; } while (bccIT.hasNext()) { RRL[2] += bccIT.next() + ", "; } return RRL; }
static void editRecipientHtml(CommandSender sender, String emailString, RecipientAction action) { HtmlEmail email = htmlEmail.get(sender.getName()); switch (action) { case ADD: try { email.addTo(emailString); } catch (EmailException e) { sendErrorMessage(sender, e); return; } LogHelper.showInfo("emailRecipientAdd", sender); return; case ADD_BCC: try { email.addBcc(emailString); } catch (EmailException e) { sendErrorMessage(sender, e); return; } LogHelper.showInfo("emailRecipientAdd", sender); return; case ADD_CC: try { email.addCc(emailString); } catch (EmailException e) { sendErrorMessage(sender, e); return; } LogHelper.showInfo("emailRecipientAdd", sender); return; case DELETE: try { email = removeRecipient(email, emailString); } catch (EmailException e) { sendErrorMessage(sender, e); return; } LogHelper.showInfo("emailRecipientDeleted", sender); return; case LIST: sender.sendMessage(composeReadableRecipientList(email)); default: } htmlEmail.put(sender.getName(), email); }
static HtmlEmail setAuthentication(HtmlEmail email) { if (!(CommandsEX.getConf().getString("Email.Username").isEmpty() && CommandsEX.getConf().getString("Email.Password").isEmpty())) { email.setAuthentication( CommandsEX.getConf().getString("Email.Username"), CommandsEX.getConf().getString("Email.Password")); } return email; }
public static void compose(CommandSender sender, String type) { if (inProgress(sender.getName())) { LogHelper.showWarning("emailAlreadyInProgress", sender); return; } if (type.equalsIgnoreCase("simple")) { SimpleEmail email = new SimpleEmail(); email.setHostName(CommandsEX.getConf().getString("Email.Host")); try { email.setFrom(CommandsEX.getConf().getString("Email.From")); } catch (EmailException e) { sendErrorMessage(sender, e); return; } email = setAuthentication(email); simpleEmail.put(sender.getName(), email); } else if (type.equalsIgnoreCase("attachment")) { MultiPartEmail email = new MultiPartEmail(); email.setHostName(CommandsEX.getConf().getString("Email.Host")); try { email.setFrom(CommandsEX.getConf().getString("Email.From")); } catch (EmailException e) { sendErrorMessage(sender, e); return; } email = setAuthentication(email); multiEmail.put(sender.getName(), email); } else if (type.equalsIgnoreCase("html")) { HtmlEmail email = new HtmlEmail(); email.setHostName(CommandsEX.getConf().getString("Email.Host")); try { email.setFrom(CommandsEX.getConf().getString("Email.From")); } catch (EmailException e) { sendErrorMessage(sender, e); return; } email = setAuthentication(email); htmlEmail.put(sender.getName(), email); } LogHelper.showInfo("emailCreated", sender); }
static HtmlEmail removeRecipient(HtmlEmail email, String emailToRemove) throws EmailException { List<String> to = Utils.noGenericTypeToStringType(email.getToAddresses()), cc = Utils.noGenericTypeToStringType(email.getCcAddresses()), bcc = Utils.noGenericTypeToStringType(email.getBccAddresses()); if (to.contains(emailToRemove)) { to.remove(emailToRemove); email.setTo(to); } else if (cc.contains(emailToRemove)) { cc.remove(emailToRemove); email.setCc(cc); } else if (bcc.contains(emailToRemove)) { bcc.remove(emailToRemove); email.setBcc(bcc); } return email; }
static void setBouncebackHtml(CommandSender sender, String bounceback) { HtmlEmail email = htmlEmail.get(sender.getName()); email.setBounceAddress(bounceback); LogHelper.showInfo("emailBouncebackSet", sender); htmlEmail.put(sender.getName(), email); }
static void editSubjectHTML(CommandSender sender, String[] args) { HtmlEmail email = htmlEmail.get(sender.getName()); email.setSubject(Utils.implode(args, " ")); LogHelper.showInfo("emailSubjectSet", sender); htmlEmail.put(sender.getName(), email); }