从开源Mirthconnect阅读邮件

时间:2015-12-21 11:36:59

标签: email-attachments mirth

我正面临Mirthconnect的问题。 我在这个过程中遇到了麻烦。我喜欢从邮件中读取数据,是否有可能在开源mirthconnect中实现这一点?版本3.3.1,如果是这样可以从直接邮件中读取?除了欢乐邮件之类的商业版本。

1 个答案:

答案 0 :(得分:0)

我利用JAVA邮件库并将其插入到mirth connect的自定义库文件夹中,然后在欢乐的连接器部分使用以下代码。效果很好。

  //Fetchmail from Gmail
  var props = new Packages.java.util.Properties();
  props.setProperty("mail.store.protocol", "imaps");
  var session = new Packages.javax.mail.Session.getInstance(props, null);
  var store = session.getStore();
  store.connect("imap.gmail.com", "xxxxxxxx@gmail.com", "xxxxxxxxx");
  var inbox = store.getFolder("INBOX");
  inbox.open(Packages.javax.mail.Folder.READ_ONLY);
  var msgs = inbox.getMessage(inbox.getMessageCount());
  var currentMessage = inbox.getMessage(inbox.getMessageCount());
  var mp = currentMessage.getContent();
  var bp = mp.getBodyPart(0);
  var content = "" + bp.getContent();
  content = content.replace(/''/g, "");
  globalMap.put('gcon', content);
  logger.info("SENT DATE:" + msgs.getSentDate());
  logger.info("SUBJECT:" + msgs.getSubject());
  logger.info("CONTENT:" + content);
  //bp.getContent()  
  var receiveId = UUIDGenerator.getUUID(); 
  logger.info("incomingMailID : "+receiveId);
  //Database Connectivity
  var time= msgs.getSentDate();
  var con = bp.getContent();
  var sub = msgs.getSubject();
 //global variable declaration
  globalMap.put('glcontent',con);
  globalMap.put('glsubject',sub);
  globalMap.put('gltime',time);
  return sub;

然后你可以设置一个聆听者的轮询频率时间间隔,该韵律频道将在该特定时间间隔内轮询。