{
  "classLoaderSharing" : "workflow",
  "script" : "import javax.mail.Message;\nimport javax.mail.Session;\nimport javax.mail.Transport;\nimport javax.mail.internet.MimeMessage;\nimport javax.mail.internet.InternetAddress;\n\nif (subject == void) {\n\tsubject = \"No subject\";\n}\nif (body == void) {\n\tthrow new Exception(\"No body specified for message\");\n}\n\nProperties mailProps = System.getProperties();\nif (smtpserver != void) {\n\tmailProps.put(\"mail.smtp.host\", smtpserver);\n}\n\nSession session = Session.getDefaultInstance(mailProps, null);\nMimeMessage message = new MimeMessage(session);\nmessage.setFrom(new InternetAddress(from));\nmessage.addRecipient(Message.RecipientType.TO, new InternetAddress(to));\nmessage.setSubject(subject);\nmessage.setText(body);\nTransport.send(message);\n",
  "localworkerName" : "org.embl.ebi.escience.scuflworkers.java.SendEmail",
  "inputPorts" : [ {
    "name" : "to",
    "depth" : 0,
    "type" : "String"
  }, {
    "name" : "from",
    "depth" : 0,
    "type" : "String"
  }, {
    "name" : "subject",
    "depth" : 0,
    "type" : "String"
  }, {
    "name" : "body",
    "depth" : 0,
    "type" : "String"
  }, {
    "name" : "smtpserver",
    "depth" : 0,
    "type" : "String"
  } ],
  "isAltered" : false
}