c#根据规则自动处理电子邮件

时间:2016-03-09 11:07:12

标签: c# rule-engine email-processing

我需要一种处理传入电子邮件的模式。

我目前的伪代码是这样的:

if sender is a@a.com and messageBody contains "aaa" then
   extract the content according the aaa function
   save it to database
   move the message to the archive
else if messageBody contains "bbb" then
   extract the content according to bbb function
   save it to database
   inform sender
   move the message to archive
else if messageBody NOT contains "ccc" and from "sender@ccc.com" and then
   leave message in the inbox so the it will be manually processed
else if ...
   ...

所以,我最终得到了数千行的猪功能。

我怎样才能使这件事更简单?

提前致谢

1 个答案:

答案 0 :(得分:0)

解决这个问题需要一个非常好的架构,机器学习是解决这类问题的最佳解决方案之一。但是仍然有一些你可以照顾的事情,以使其更简单。

  1. 不是为10个电子邮件ID添加10个ifs,而是创建不受欢迎的用户列表(将使用垃圾邮件)
  2. 创建不受欢迎的主题列表
  3. 创建时间间隔组并相应处理电子邮件;早上的电子邮件,中午的电子邮件,晚间电子邮件等
  4. 创建有附件检查
  5. 没有主题检查
  6. 没有身体检查
  7. 朋友发送电子邮件列表
  8. 相同的域名email-id 发件人检查

    感谢。 :)