public EmailMessageInfo ReadMessageStream(Stream stm, string attachmentDir) { SharpMessage sm = new SharpMessage(stm); EmailMessageInfo emi = new EmailMessageInfo(); emi.From = sm.FromAddress; emi.Subject = sm.Subject; emi.BodyPlainText = sm.Body; List<string> lst = new List<string>(); foreach (SharpMimeAddress addr in sm.To) { lst.Add(addr.ToString()); } emi.To = lst.ToArray(); lst = new List<string>(); foreach (SharpMimeAddress addr in sm.Cc) lst.Add(addr.ToString()); emi.Cc = lst.ToArray(); emi.BodyText = sm.Body; foreach (SharpAttachment att in sm.Attachments) { if (!Directory.Exists(attachmentDir)) Directory.CreateDirectory(attachmentDir); AttachmentInfo ai = new AttachmentInfo(); ai.Name = att.Name; string saveFile = Path.Combine(attachmentDir, att.Name); att.Save(saveFile, true); ai.FileName = saveFile; emi.Attachments.Add(ai); } foreach (object hdr in sm.Headers) { } return emi; }
public void HandleEmail(EmailMessageInfo emi) { IDictionary<string, object> vars = new Dictionary<string,object>(); vars["Message"] = emi; IQuackFu v = new QuackWrapper(vars); _rulez.EvaluateRules(RulesFile, v, Context); }
public override void Initialize() { Message = (EmailMessageInfo)this.Variables.QuackGet("Message", null); MessageBus = (IMessageBus)Context.QuackGet("MessageBus", null); base.Initialize(); }