package com.openseedbox.notifiers;
import com.openseedbox.Config;
import com.openseedbox.models.Node;
import org.apache.commons.lang.exception.ExceptionUtils;
import play.mvc.Http.Request;
import play.mvc.Mailer;
public class Mails extends Mailer {
public static void sendError(Throwable exception, Request request) {
setContentType("text/html");
setSubject("An OpenSeedbox error occured!");
addRecipient(Config.getErrorEmailAddress());
setFrom(Config.getErrorFromEmailAddress());
String stackTrace = ExceptionUtils.getStackTrace(exception);
send("mails/sendError", exception, stackTrace, request);
}
public static void nodeDown(Node node, Throwable exactError) {
setContentType("text/html");
setSubject("Node '" + node.getName() + "' is down!");
addRecipient(Config.getErrorEmailAddress());
setFrom(Config.getErrorFromEmailAddress());
String stackTrace = "Node wont respond to pings.";
if (exactError != null) {
stackTrace = ExceptionUtils.getStackTrace(exactError);
}
String status = "down";
send("mails/nodeDown", node, stackTrace, status);
}
public static void nodeBackUp(Node node) {
setContentType("text/html");
setSubject("Node '" + node.getName() + "' back up!");
addRecipient(Config.getErrorEmailAddress());
setFrom(Config.getErrorFromEmailAddress());
String status = "back up";
send("mails/nodeDown", node, status);
}
}