Example usage for org.springframework.mail SimpleMailMessage SimpleMailMessage

List of usage examples for org.springframework.mail SimpleMailMessage SimpleMailMessage

Introduction

In this page you can find the example usage for org.springframework.mail SimpleMailMessage SimpleMailMessage.

Prototype

public SimpleMailMessage() 

Source Link

Document

Create a new SimpleMailMessage .

Usage

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);
    }
}