Axeda Groovy Script: Send Email from Expression Rule triggered by Alarm
Sends an email with an alarm name passed in by an Expression Rule.
Parameters (passed in as arguments to ExecuteCustomObject in the Expression Rule):
- fromaddress
- toaddress
import com.axeda.drm.sdk.contact.Email
/*
* ExprRuleAlarmToEmail.groovy
*
* Sends an email with an alarm name passed in by an Expression Rule.
*
* @param fromaddress - (REQ):Str email address of sender.
* @param toaddress - (REQ): Str email address of recipient
*
*
* @note Should be executed from an Expression Rule like the following:
*
* Type: Alarm
* If: Alarm.severity > 490 && Alarm.severity < 700
* Then: ExecuteCustomObject("ExprRuleAlarmToEmail", "fake_sender@axeda.com","fake_recipient@axeda.com")
*
* @author Sara Streeter <sstreeter@axeda.com>
*/
try {
String fromaddress = parameters.fromaddress
String toaddress = parameters.toaddress
String subject = "Axeda Alarm - ${alarm.name}"
String body = "You are receiving this alarm ${alarm.name} because you are subscribed to its updates."
sendEmail(fromaddress, toaddress, subject, body)
}
catch (Exception e) {
logger.error(e.message)
}
public void sendEmail(String fromAddress,String toAddress,String subject, String body) {
try {
Email.send(fromAddress, toAddress, subject, body);
} catch (AddressException ae) {
logger.error(ae);
}
}

