List of usage examples for org.springframework.mail SimpleMailMessage SimpleMailMessage
public SimpleMailMessage()
From source file:org.jasig.schedassist.impl.events.EmailNotificationApplicationListener.java
/** * /* w w w . j a v a 2 s . c om*/ * @param owner * @param visitor * @param event */ protected void sendEmail(final IScheduleOwner owner, final IScheduleVisitor visitor, final VEvent event, final String messageBody) { if (null != mailSender) { SimpleMailMessage message = new SimpleMailMessage(); if (!isEmailAddressValid(owner.getCalendarAccount().getEmailAddress())) { message.setFrom(noReplyFromAddress); message.setTo(new String[] { visitor.getCalendarAccount().getEmailAddress() }); } else { message.setFrom(owner.getCalendarAccount().getEmailAddress()); message.setTo(new String[] { owner.getCalendarAccount().getEmailAddress(), visitor.getCalendarAccount().getEmailAddress() }); } Summary summary = event.getSummary(); if (summary != null) { message.setSubject(summary.getValue()); } else { LOG.warn("event missing summary" + event); message.setSubject("Appointment"); } message.setText(messageBody); LOG.debug("sending message: " + message.toString()); mailSender.send(message); LOG.debug("message successfully sent"); } else { LOG.debug("no mailSender set, ignoring sendEmail call"); } }
From source file:jp.xet.uncommons.wicket.utils.ErrorReportRequestCycleListener.java
@Override public IRequestHandler onException(RequestCycle cycle, Exception ex) { if (ex instanceof PageExpiredException || ex instanceof StalePageException) { return null; }/*from w w w .j a v a 2 s . c o m*/ if (ex instanceof WicketRuntimeException) { Throwable rootCause = getRootCause(ex); if (rootCause == null) { rootCause = ex; } String environment = loadEnvironment(); if (enabledEnvironments == null || environment == null || ObjectUtils.containsElement(enabledEnvironments, environment)) { String type = rootCause.getClass().getSimpleName(); String message = rootCause.getMessage(); String subject = MessageFormat.format(subjectPattern, environment, type, message); SimpleMailMessage mailMessage = new SimpleMailMessage(); mailMessage.setFrom(from); mailMessage.setTo(to); mailMessage.setSubject(subject); mailMessage.setText(getStackTrace(ex)); try { logger.debug("sending exception report mail..."); mailSender.send(mailMessage); logger.debug("success to send exception report mail"); } catch (MailException e) { logger.error("failed to send exception report mail", e); } } else { logger.debug( "exception report mail was not sent, " + "because enabledEnvironments{} does not contain environment[{}]", new Object[] { Arrays.toString(enabledEnvironments), environment }); } } return null; }
From source file:net.triptech.metahive.service.OpenIdAuthenticationFailureHandler.java
/** * Send a notification email.// ww w .ja va2s .c om * * @param newPerson the new person */ private void sendNotificationEmail(final Person newPerson) { SimpleMailMessage message = new SimpleMailMessage(); message.setTo("paintbuoy@gmail.com"); message.setFrom("david.harrison@stress-free.co.nz"); StringBuilder subject = new StringBuilder(); subject.append("Metahive: New user '"); subject.append(newPerson.getFormattedName()); subject.append("' ("); subject.append(newPerson.getEmailAddress()); subject.append(") registered"); StringBuilder body = new StringBuilder(); body.append(newPerson.getFormattedName()); body.append(" ("); body.append(newPerson.getEmailAddress()); body.append(") just registered at the Metahive.\n\n"); body.append("Have a nice day.\n"); message.setSubject(subject.toString()); message.setText(body.toString()); try { emailSenderService.send(message, null); } catch (ServiceException se) { logger.error("Error sending notification email: " + se.getMessage()); } }
From source file:net.solarnetwork.central.dras.biz.alert.SimpleAlertBiz.java
private boolean handleAlert(final User user, final Alert alert, final String subject, final String message, final Long creatorId) { List<UserContact> contacts = user.getContactInfo(); if (contacts == null) { return false; }// w w w . j a va 2 s. co m // get the user's preferred contact method UserContact contact = null; for (UserContact aContact : contacts) { if (aContact.getPriority() == null) { continue; } if (contact == null || (aContact.getPriority() < contact.getPriority())) { contact = aContact; } } if (contact == null) { log.debug("User {} has no preferred contact method, not sending alert {}", user.getUsername(), alert.getAlertType()); return false; } // send the user an alert... only email supported currently SimpleMailMessage msg = new SimpleMailMessage(); msg.setTo(contact.getContact()); msg.setText(message); switch (contact.getKind()) { case MOBILE: // treat as an email to their mobile number // TODO: extract out mobile SMS handling to configurable service msg.setTo(contact.getContact().replaceAll("\\D", "") + "@isms.net.nz"); msg.setFrom("escalation@econz.co.nz"); break; case EMAIL: msg.setSubject(subject); msg.setFrom("solar-adr@solarnetwork.net"); break; default: log.debug("User {} contact type {} not supported in alerts", user.getUsername(), contact.getKind()); return false; } sendMailMessage(msg, creatorId); return true; }
From source file:com.edgenius.wiki.service.impl.FriendServiceImpl.java
public void makeFriendsWithSpaceGroups(String spaceUname, List<String> roleNameList) { if (roleNameList == null || roleNameList.size() == 0) { log.info("No new role updated in given input."); return;/*ww w .ja va 2 s . c o m*/ } //skip all non-space role, such as system role for (Iterator<String> iter = roleNameList.iterator(); iter.hasNext();) { String roleName = iter.next(); if (!roleName.startsWith(Role.SPACE_ROLE_PREFIX)) iter.remove(); } if (roleNameList.size() == 0) { log.info("All roles is system role, no need continue to check friendship."); return; } //get all available roles(type must be ROLE.TYPE_SPACE) for this space currently. List<String> availRoleList = new ArrayList<String>(); Resource res = resourceDAO.getByName(spaceUname); Set<Permission> perms = res.getPermissions(); if (perms != null) { for (Permission perm : perms) { Set<Role> roles = perm.getRoles(); if (roles != null) { for (Role role : roles) { if (role.getType() != Role.TYPE_SPACE) continue; availRoleList.add(role.getName()); } } } } //filter out which role is new added List<String> newRoleList = new ArrayList<String>(); for (String name : roleNameList) { boolean found = false; for (String exist : availRoleList) { if (StringUtils.equalsIgnoreCase(exist, name)) { found = true; break; } } if (!found) { newRoleList.add(name); } } if (newRoleList.size() == 0) { log.info("Given new role list does not contain any new added role for space " + spaceUname); } else { //OK, find new added role for this space. check if it is in friends list already int prefixLen = Role.SPACE_ROLE_PREFIX.length(); for (String newSpace : newRoleList) { //get space name from newSpace = newSpace.substring(prefixLen); Friend frd = friendDAO.getFriendship(Friend.PREFIX_SPACE + spaceUname, Friend.PREFIX_SPACE + newSpace); if (frd != null && frd.isConfirmed()) { continue; } if (frd == null) { //CREATE Pending friendship frd = new Friend(); frd.setSender(Friend.PREFIX_SPACE + spaceUname); frd.setReceiver(Friend.PREFIX_SPACE + newSpace); WikiUtil.setTouchedInfo(userReadingService, frd); frd.setStatus(Friend.STATUS_PENDING); friendDAO.saveOrUpdate(frd); //send message String text = "Space " + spaceUname + " adds your space " + newSpace + " on its friend list."; // "{action:id="+rejectFriendship+ "|title=reject|confirmMessage=Do you want to reject this request?|" + // "sender="+spaceUname+"|receiver="+newSpace // +"} or {action:id="+acceptFriendship+"|title=accept|confirmMessage=Do you want to accept this request?|" + // "sender="+spaceUname+"|receiver="+newSpace+"}"; notificationService.sendMessage(text, SharedConstants.MSG_TARGET_SPACE_ADMIN_ONLY, newSpace, NotificationService.SEND_MAIL_ONLY_HAS_RECEIVERS); //send request email Set<String> userMails = userReadingService.getSpaceAdminMailList(newSpace); for (String mail : userMails) { try { SimpleMailMessage msg = new SimpleMailMessage(); msg.setFrom(Global.DefaultNotifyMail); Map<String, Object> map = new HashMap<String, Object>(); map.put("sender", spaceUname); map.put("receiver", newSpace); map.put(WikiConstants.ATTR_PAGE_LINK, WebUtil.getHostAppURL() + "invite!friendship.do?sender=" + URLEncoder.encode(spaceUname, Constants.UTF8) + "&receiver=" + URLEncoder.encode(newSpace, Constants.UTF8)); msg.setTo(mail); mailService.sendPlainMail(msg, WikiConstants.MAIL_TEMPL_FRIENDSHIP, map); } catch (Exception e) { log.error("Failed send friendship email:" + mail, e); } } } //reject,pending do nothing } } }
From source file:csns.web.controller.SubmissionController.java
private void emailGrade(Submission submission) { if (!StringUtils.hasText(submission.getGrade()) || submission.isGradeMailed()) return;/*from w w w. ja v a 2 s. co m*/ User instructor = SecurityUtils.getUser(); User student = submission.getStudent(); SimpleMailMessage message = new SimpleMailMessage(); message.setFrom(instructor.getEmail()); message.setTo(student.getEmail()); String subject = submission.getAssignment().getSection().getCourse().getCode() + " " + submission.getAssignment().getName() + " Grade"; message.setSubject(subject); Map<String, Object> vModels = new HashMap<String, Object>(); vModels.put("grade", submission.getGrade()); String comments = submission.getComments(); vModels.put("comments", comments != null ? comments : ""); String text = VelocityEngineUtils.mergeTemplateIntoString(velocityEngine, "email.submission.grade.vm", appEncoding, vModels); message.setText(text); try { mailSender.send(message); submission.setGradeMailed(true); submissionDao.saveSubmission(submission); logger.info(instructor.getUsername() + " sent grade to " + student.getEmail()); } catch (MailException e) { logger.warn(instructor.getUsername() + " failed to send grade to " + student.getEmail()); logger.debug(e.getMessage()); } }
From source file:org.jasig.schedassist.impl.reminder.DefaultReminderServiceImpl.java
/** * Send an email message for this {@link IReminder}. * // ww w . j a v a 2 s . co m * @param reminder */ protected void sendEmail(IReminder reminder) { if (shouldSend(reminder)) { final IScheduleOwner owner = reminder.getScheduleOwner(); final ICalendarAccount recipient = reminder.getRecipient(); final VEvent event = reminder.getEvent(); Reminders reminderPrefs = owner.getRemindersPreference(); final boolean includeOwner = reminderPrefs.isIncludeOwner(); SimpleMailMessage message = new SimpleMailMessage(); final boolean canSendToOwner = emailAddressValidator.canSendToEmailAddress(owner.getCalendarAccount()); if (canSendToOwner) { message.setFrom(owner.getCalendarAccount().getEmailAddress()); } else { message.setFrom(noReplyFromAddress); } if (includeOwner && canSendToOwner) { message.setTo( new String[] { owner.getCalendarAccount().getEmailAddress(), recipient.getEmailAddress() }); } else { message.setTo(new String[] { recipient.getEmailAddress() }); } message.setSubject("Reminder: " + event.getSummary().getValue()); final String messageBody = createMessageBody(event, owner); message.setText(messageBody); LOG.debug("sending message: " + message.toString()); try { mailSender.send(message); LOG.debug("message successfully sent"); } catch (MailSendException e) { LOG.error("caught MailSendException for " + owner + ", " + recipient + ", " + reminder, e); } } else { LOG.debug("skipping sendEmail for reminder that should not be sent: " + reminder); } }
From source file:com.edgenius.wiki.gwt.server.SecurityControllerImpl.java
/** * New user Sign up // ww w . j a v a 2 s . c o m */ public UserModel createUser(UserModel model, boolean login) { if (!WikiUtil.captchaValid(captchaService, model)) return null; User user = new User(); UserUtil.copyModelToUser(model, user); String plainPassword = user.getPassword(); if (Global.EncryptPassword) { String algorithm = Global.PasswordEncodingAlgorithm; if (algorithm == null) { // should only happen for test case if (log.isDebugEnabled()) { log.debug("assuming testcase, setting algorithm to 'MD5'"); } algorithm = "MD5"; } user.setPassword(CodecUtil.encodePassword(user.getPassword(), algorithm)); } //now, only signup and approval 2 method, here treat signup method is as default method. //So only Global.registerMethod=="approval", the enable is false, otherwise, user always be enabled. boolean enable = !REGISTER_METHOD.approval.name().equals(Global.registerMethod); user.setEnabled(enable); // Set the default user role on this new user user.setRoles(roleService.getDefaultRole()); user.setCreatedDate(new Date()); try { userService.saveUser(user); //for compatible, not directly use Global.registerMethod(if it is null, treat as signup) activityLog.logUserSignup(user, enable ? REGISTER_METHOD.signup : REGISTER_METHOD.approval); //set back user uid model.setUid(user.getUid()); if (login && enable) { //login flag use for admin: if admin add user, then need not do login and send account email securityService.login(user.getUsername(), model.getPassword()); } try { // Send create account email SimpleMailMessage msg = new SimpleMailMessage(); msg.setFrom(Global.DefaultNotifyMail); msg.setTo(user.getContact().getEmail()); Map<String, Object> map = new HashMap<String, Object>(); map.put(WikiConstants.ATTR_USER, user); map.put(WikiConstants.ATTR_PAGE_LINK, WebUtil.getHostAppURL()); if (login) { if (enable) { mailService.sendPlainMail(msg, WikiConstants.MAIL_TEMPL_SIGNUP_NOTIFICATION, map); } else { //if user needs approval, then send waiting approval email UserSetting setting = user.getSetting(); setting.setRequireSignupApproval(true); settingService.saveOrUpdateUserSetting(user, setting); mailService.sendPlainMail(msg, WikiConstants.MAIL_TEMPL_SIGNUP_WAIT_APPROVAL_USER, map); mailService.sendPlainToSystemAdmins(WikiConstants.MAIL_TEMPL_SIGNUP_WAIT_APPROVAL_ADMIN, map); //redirect - if user signup from popup dialog, this "force" will cause page redirect to approval page, //otherwise, it only try to refresh current page URL by GwtClientUtil.reload(); model.setForceRedirerct(true); model.setRedirUrl("signupwaitapproval.do"); } } else { //this is admin add new user, send user name and password as well. map.put(WikiConstants.ATTR_PASSWORD, plainPassword); mailService.sendPlainMail(msg, WikiConstants.MAIL_TEMPL_USER_ADDED_NOTIFICATION, map); } log.info("Email sent to " + user.getFullname() + " for signup notify."); } catch (Exception e) { log.error("Failed to send sign-up email:" + user.getContact().getEmail(), e); } } catch (UserExistsException e) { log.warn(e.getMessage()); // redisplay the unencrypted passwords user.setPassword(user.getConfirmPassword()); model.errorCode = ErrorCode.USER_ALREADY_EXIST_ERR; } catch (UserSignUpDiabledException e) { log.warn(e.getMessage()); model.errorCode = ErrorCode.USER_SIGNUP_DISABLED; } catch (UserOverLimitedException e) { log.error("User is over license limitation.", e); model.errorCode = ErrorCode.USER_OVER_LIMITED; } return model; }
From source file:com.edgenius.wiki.service.impl.NotifyMQConsumer.java
/** * @param msg/*from w ww. ja v a 2s.com*/ * @param bccList * @param model */ private void sendMail(String templName, Collection<String> bccList, Map<String, Object> model) { SimpleMailMessage msg = new SimpleMailMessage(); //So far don't user setBcc(bccList) to all user since if one of them mail address is bad, it may cause //al emails can not be send. for (String bcc : bccList) { //because message "TO" user can not be blank, so here just add default mail address but add //the really recipient on BCC in order to hide user private email info. msg.setTo(bcc); msg.setFrom(Global.DefaultNotifyMail); try { //whatever error happen, go on to next user mailEngine.sendPlainMail(msg, templName, model); } catch (Throwable e) { log.error("Send Page Notify mail failed to " + bcc + ". ", e); } } log.info("Email sent to " + bccList.size() + " users."); }
From source file:com.edgenius.wiki.service.impl.NotificationServiceImpl.java
/** * @param message//from w w w . j a va 2 s. c o m */ private void sendMailToUser(Notification message, String receiveAddr) { try { User sender = message.getCreator(); SimpleMailMessage msg = new SimpleMailMessage(); msg.setFrom(Global.DefaultNotifyMail); Map<String, Object> map = new HashMap<String, Object>(); map.put(WikiConstants.ATTR_USER, sender); map.put(WikiConstants.ATTR_PAGE_TITLE, messageService.getMessage("new.message.notify.mail.subject")); map.put("message", message.getMessage()); map.put(WikiConstants.ATTR_PAGE_LINK, WebUtil.getHostAppURL()); msg.setTo(receiveAddr); mailService.sendPlainMail(msg, WikiConstants.MAIL_TEMPL_MESSAGE, map); } catch (Exception e) { log.error("Failed send notification email:" + receiveAddr, e); } }