Search in sources :

Example 56 with MailBundle

use of org.olat.core.util.mail.MailBundle in project openolat by klemens.

the class BusinessGroupServiceImpl method deleteBusinessGroupWithMail.

@Override
public MailerResult deleteBusinessGroupWithMail(BusinessGroup businessGroupTodelete, String businessPath, Identity deletedBy, Locale locale) {
    List<Identity> users = businessGroupRelationDAO.getMembers(businessGroupTodelete, GroupRoles.coach.name(), GroupRoles.participant.name(), GroupRoles.waiting.name());
    // now delete the group first
    deleteBusinessGroup(businessGroupTodelete);
    dbInstance.commit();
    // finally send email
    MailTemplate mailTemplate = BGMailHelper.createDeleteGroupMailTemplate(businessGroupTodelete, deletedBy);
    if (mailTemplate != null) {
        String metaId = UUID.randomUUID().toString();
        MailContext context = new MailContextImpl(businessPath);
        MailerResult result = new MailerResult();
        MailBundle[] bundles = mailManager.makeMailBundles(context, users, mailTemplate, null, metaId, result);
        result.append(mailManager.sendMessage(bundles));
        return result;
    }
    return null;
}
Also used : MailContextImpl(org.olat.core.util.mail.MailContextImpl) MailContext(org.olat.core.util.mail.MailContext) MailerResult(org.olat.core.util.mail.MailerResult) MailTemplate(org.olat.core.util.mail.MailTemplate) Identity(org.olat.core.id.Identity) MailBundle(org.olat.core.util.mail.MailBundle)

Example 57 with MailBundle

use of org.olat.core.util.mail.MailBundle in project openolat by klemens.

the class ContactFormController method doSend.

private void doSend(UserRequest ureq) {
    MailerResult result;
    try {
        File[] attachments = cntctForm.getAttachments();
        MailContext context = new MailContextImpl(getWindowControl().getBusinessControl().getAsString());
        MailBundle bundle = new MailBundle();
        bundle.setContext(context);
        if (emailFrom == null) {
            // in case the user provides his own email in form
            bundle.setFrom(cntctForm.getEmailFrom());
        } else {
            bundle.setFromId(emailFrom);
        }
        bundle.setContactLists(cntctForm.getEmailToContactLists());
        bundle.setContent(cntctForm.getSubject(), cntctForm.getBody(), attachments);
        result = mailService.sendMessage(bundle);
        if (cntctForm.isTcpFrom()) {
            MailBundle ccBundle = new MailBundle();
            ccBundle.setContext(context);
            if (emailFrom == null) {
                // in case the user provides his own email in form
                ccBundle.setFrom(cntctForm.getEmailFrom());
                ccBundle.setTo(cntctForm.getEmailFrom());
            } else {
                ccBundle.setFromId(emailFrom);
                ccBundle.setCc(emailFrom);
            }
            ccBundle.setContent(cntctForm.getSubject(), cntctForm.getBody(), attachments);
            MailerResult ccResult = mailService.sendMessage(ccBundle);
            result.append(ccResult);
        }
        if (result != null) {
            if (result.isSuccessful()) {
                showInfo("msg.send.ok");
                // do logging
                ThreadLocalUserActivityLogger.log(MailLoggingAction.MAIL_SENT, getClass());
                fireEvent(ureq, Event.DONE_EVENT);
            } else {
                showError(ureq, result);
                fireEvent(ureq, Event.FAILED_EVENT);
            }
        }
    } catch (Exception e) {
        logError("", e);
        showWarning("error.msg.send.nok");
    }
    cntctForm.setDisplayOnly(true);
}
Also used : MailContextImpl(org.olat.core.util.mail.MailContextImpl) MailerResult(org.olat.core.util.mail.MailerResult) MailContext(org.olat.core.util.mail.MailContext) MailBundle(org.olat.core.util.mail.MailBundle) File(java.io.File)

Example 58 with MailBundle

use of org.olat.core.util.mail.MailBundle in project openolat by klemens.

the class LectureServiceImpl method sendReminder.

private void sendReminder(Identity teacher, LectureBlock lectureBlock) {
    RepositoryEntry entry = lectureBlock.getEntry();
    String language = teacher.getUser().getPreferences().getLanguage();
    Locale locale = i18nManager.getLocaleOrDefault(language);
    String startDate = Formatter.getInstance(locale).formatDate(lectureBlock.getStartDate());
    MailContext context = new MailContextImpl("[RepositoryEntry:" + entry.getKey() + "]");
    String url = Settings.getServerContextPathURI() + "/url/RepositoryEntry/" + entry.getKey() + "/LectureBlock/" + lectureBlock.getKey();
    String[] args = new String[] { // {0}
    lectureBlock.getTitle(), // {1}
    startDate, // {2}
    entry.getDisplayname(), // {3}
    url, // {4}
    userManager.getUserDisplayName(teacher) };
    Translator trans = Util.createPackageTranslator(LectureAdminController.class, locale);
    String subject = trans.translate("lecture.teacher.reminder.subject", args);
    String body = trans.translate("lecture.teacher.reminder.body", args);
    LectureReminderTemplate template = new LectureReminderTemplate(subject, body);
    MailerResult result = new MailerResult();
    MailBundle bundle = mailManager.makeMailBundle(context, teacher, template, null, null, result);
    MailerResult sendResult = mailManager.sendMessage(bundle);
    result.append(sendResult);
    String status;
    List<Identity> failedIdentities = result.getFailedIdentites();
    if (failedIdentities != null && failedIdentities.contains(teacher)) {
        status = "error";
    } else {
        status = "ok";
    }
    lectureBlockReminderDao.createReminder(lectureBlock, teacher, status);
}
Also used : Locale(java.util.Locale) MailContextImpl(org.olat.core.util.mail.MailContextImpl) MailContext(org.olat.core.util.mail.MailContext) Translator(org.olat.core.gui.translator.Translator) MailerResult(org.olat.core.util.mail.MailerResult) RepositoryEntry(org.olat.repository.RepositoryEntry) MailBundle(org.olat.core.util.mail.MailBundle) Identity(org.olat.core.id.Identity)

Example 59 with MailBundle

use of org.olat.core.util.mail.MailBundle in project openolat by klemens.

the class ExportManager method sendEMail.

private void sendEMail(String email, Locale locale, String emailI18nSubkey) {
    if (email == null || email.length() == 0) {
        return;
    }
    if (locale == null) {
        locale = I18nManager.getInstance().getCurrentThreadLocale();
    }
    Translator translator = Util.createPackageTranslator(ExportManager.class, locale);
    try {
        MailBundle bundle = new MailBundle();
        bundle.setFrom(WebappHelper.getMailConfig("mailReplyTo"));
        bundle.setTo(email);
        bundle.setContent(translator.translate(emailI18nSubkey + ".subject"), translator.translate(emailI18nSubkey + ".body"));
        CoreSpringFactory.getImpl(MailManager.class).sendMessage(bundle);
    } catch (Exception e) {
        log_.error("Error sending information email to user that file was saved successfully.", e);
    }
}
Also used : Translator(org.olat.core.gui.translator.Translator) MailManager(org.olat.core.util.mail.MailManager) MailBundle(org.olat.core.util.mail.MailBundle)

Example 60 with MailBundle

use of org.olat.core.util.mail.MailBundle in project openolat by klemens.

the class GTAParticipantController method doSubmissionEmail.

private void doSubmissionEmail() {
    String body = config.getStringValue(GTACourseNode.GTASK_SUBMISSION_TEXT);
    if (StringHelper.containsNonWhitespace(body)) {
        MailContext context = new MailContextImpl(getWindowControl().getBusinessControl().getAsString());
        List<Identity> recipientsTO;
        File submitDirectory;
        if (GTAType.group.name().equals(config.getStringValue(GTACourseNode.GTASK_TYPE))) {
            recipientsTO = businessGroupService.getMembers(assessedGroup, GroupRoles.participant.name());
            submitDirectory = gtaManager.getSubmitDirectory(courseEnv, gtaNode, assessedGroup);
        } else {
            recipientsTO = Collections.singletonList(assessedIdentity);
            submitDirectory = gtaManager.getSubmitDirectory(courseEnv, gtaNode, assessedIdentity);
        }
        String subject = translate("submission.mail.subject");
        File[] files = TaskHelper.getDocuments(submitDirectory);
        MailTemplate template = new GTAMailTemplate(subject, body, files, getIdentity(), getTranslator());
        MailerResult result = new MailerResult();
        MailBundle[] bundles = mailManager.makeMailBundles(context, recipientsTO, template, null, UUID.randomUUID().toString(), result);
        mailManager.sendMessage(bundles);
    }
}
Also used : MailContextImpl(org.olat.core.util.mail.MailContextImpl) MailContext(org.olat.core.util.mail.MailContext) MailerResult(org.olat.core.util.mail.MailerResult) MailTemplate(org.olat.core.util.mail.MailTemplate) Identity(org.olat.core.id.Identity) MailBundle(org.olat.core.util.mail.MailBundle) File(java.io.File)

Aggregations

MailBundle (org.olat.core.util.mail.MailBundle)126 MailerResult (org.olat.core.util.mail.MailerResult)100 Identity (org.olat.core.id.Identity)72 MailContextImpl (org.olat.core.util.mail.MailContextImpl)72 MailContext (org.olat.core.util.mail.MailContext)70 MailTemplate (org.olat.core.util.mail.MailTemplate)32 Translator (org.olat.core.gui.translator.Translator)28 ContactList (org.olat.core.util.mail.ContactList)28 Locale (java.util.Locale)20 File (java.io.File)18 Date (java.util.Date)16 Test (org.junit.Test)14 MailManager (org.olat.core.util.mail.MailManager)14 DBMailLight (org.olat.core.util.mail.model.DBMailLight)12 ArrayList (java.util.ArrayList)10 Property (org.olat.properties.Property)7 ContextEntry (org.olat.core.id.context.ContextEntry)6 AssertException (org.olat.core.logging.AssertException)6 TemporaryKey (org.olat.registration.TemporaryKey)6 UserManager (org.olat.user.UserManager)6