public static SEMessage Create(Guid eventID, GeneratedMessage message, StringDictionary stringDictionary, string body) { var mail = new SEMessage(); mail.HtmlBody = body; mail.EventID = eventID; foreach (string key in stringDictionary.Keys) { mail[key] = stringDictionary[key]; } if (message.Subject != null) { mail[SEMessage.SUBJECT] = message.Subject; } if (message.Body != null) { mail.HtmlBody = message.Body; } if (message.Replay != null) { mail[REPLYTO] = message.Replay; } if (message.From != null) { mail[FROM] = message.From; } return(mail); }
public static SEMessage Create(SPEmailMessage mail) { var res = new SEMessage(); res.inner = mail; foreach (var i in mail.Headers) { res.headers.Add(i.Name, i.Value); } res.PlainBody = mail.PlainTextBody; res.HtmlBody = mail.HtmlBody; res.Sender = mail.Sender; return(res); }
public int GetRelatedItemId(SEMessage mail) { var res = -1; var subject = mail.Subject ?? string.Empty; var matches = Regex.Matches(subject, @"\(([0-9]+)\)"); if (matches.Count > 0) { var value = matches[0].Groups[1].Value; subject = subject.Replace(value, ""); mail.Subject = subject; res = int.Parse(value); } return(res); }
internal IIncomingMessageProcessor CreateIncomingProcessor(SPList list, SEMessage message) { try { if (list.BaseTemplate == SPListTemplateType.DiscussionBoard) { return(new IncomingDiscussionBoardProcessor(list, message, Logger, new SubjectThreadStrategy(), new TextParserStrategy())); } else if (list.BaseTemplate == SPListTemplateType.DocumentLibrary) { return(new IncomingDiscussionBoardProcessor(list, message, Logger, new SubjectThreadStrategy(), new TextParserStrategy())); } } catch (Exception ex) { Logger.WriteTrace("Error during in processor creating", SeverityEnum.CriticalError); Logger.WriteTrace(ex, SeverityEnum.CriticalError); } return(null); }
public void Precess(SEMessage mail, SPAlertEventData ed) { m_strategy.OnMailSending(mail, ed.itemId); }
public void OnMailSending(SEMessage mail, int ItemId) { mail.Subject = mail.Subject + string.Format("({0})", ItemId); }