private IList <string> GetFileAttachmentList(Job job, IMailActionSettings settings) { var attachmentList = new List <string>(); if (!DropboxShareLinksAreUsed(job, settings)) { attachmentList.AddRange(job.OutputFiles); attachmentList.AddRange(settings.AdditionalAttachments); } return(attachmentList); }
public void ReplaceTokensInMailSettings(Job job, IMailActionSettings mailActionSettings) { mailActionSettings.Subject = job.TokenReplacer.ReplaceTokens(mailActionSettings.Subject); mailActionSettings.Content = job.TokenReplacer.ReplaceTokens(mailActionSettings.Content); mailActionSettings.Recipients = job.TokenReplacer.ReplaceTokens(mailActionSettings.Recipients) .Replace(';', ','); mailActionSettings.RecipientsCc = job.TokenReplacer.ReplaceTokens(mailActionSettings.RecipientsCc) .Replace(';', ','); mailActionSettings.RecipientsBcc = job.TokenReplacer.ReplaceTokens(mailActionSettings.RecipientsBcc) .Replace(';', ','); mailActionSettings.AdditionalAttachments = mailActionSettings.AdditionalAttachments .Select(aA => job.TokenReplacer.ReplaceTokens(aA)) .ToList(); }
private string BuildBody(IMailActionSettings mailSettings) { var body = mailSettings.Content; if (mailSettings.AddSignature) { var signature = _mailSignatureHelper.ComposeMailSignature(); if (mailSettings.Html) { signature = signature.Replace(Environment.NewLine, "<br>"); } body += signature; } return(body); }
public MailInfo CreateMailInfo(Job job, IMailActionSettings mailSettings) { _logger.Trace("Create MailInfo for " + mailSettings.GetType().Name.Replace("Settings", " Action.")); var mailInfo = new MailInfo { Subject = mailSettings.Subject, Body = BuildBody(mailSettings), Recipients = mailSettings.Recipients.Replace(';', ','), RecipientsCc = mailSettings.RecipientsCc.Replace(';', ','), RecipientsBcc = mailSettings.RecipientsBcc.Replace(';', ','), IsHtml = mailSettings.Html, Attachments = GetFileAttachmentList(job, mailSettings) }; return(mailInfo); }
private bool DropboxShareLinksAreUsed(Job job, IMailActionSettings mailSettings) { if (job.Profile.DropboxSettings.Enabled == false || job.Profile.DropboxSettings.CreateShareLink == false) { return(false); } if (mailSettings.Content.IndexOf("<Dropbox", StringComparison.InvariantCultureIgnoreCase) < 0) { return(false); } var mailTypeName = mailSettings.GetType().Name; if (!_actionOrderHelper.IsFirstActionBeforeSecond(job.Profile, nameof(DropboxSettings), mailTypeName)) { _logger.Warn("To use the share links instead of mail attachments, the Dropbox action must be executed before the mail action."); return(false); } return(true); }