blob: 2c6c0ab5cee566c56c2d46ad4d12625eb99aab67 [file] [log] [blame]
/*
* Script for sending an email.
*
* Arguments:
* - toMail
* - subject
* - message
*
* Example Configuration:
*
* wrapper.filter.trigger.exception.mail=Exception
* wrapper.filter.script.exception.mail=scripts/sendMail.gv
* wrapper.filter.script.exception.mail.args=mailto@me.com, YAJSW exception, exception found in console output please check the log file
*/
import javax.mail.*
import javax.mail.internet.*
port = 25
mailHost='smtp.mailhost.net' // set your mail provider
mailFrom='me@mailhost.net' // set your mail from
mailUser=null // set your user if you require authentication
mailPassword=null // set your password if you require authentication
useSSL=false // set to true to use SSL
if (this.args == null || this.args.length != 3)
{
logger.info("error in script sendMail.gv missing arguments. check configuration")
return;
}
mailTo=this.args[0]
subject=this.args[1]
message=this.args[2]
logger.info("sending mail to " +mailTo)
try
{
props = new Properties()
props.put('mail.smtp.host', mailHost)
props.put('mail.smtp.port', port.toString())
if (mailPassword != null)
{
props.put('mail.smtp.user', mailUser);
props.put('mail.smtp.password', mailPassword)
props.put('mail.smtp.auth', 'true')
mailSession = Session.getDefaultInstance(props,
new javax.mail.Authenticator()
{ protected PasswordAuthentication getPasswordAuthentication()
{ return new PasswordAuthentication(mailUser, mailPassword);
}
})
}
else
mailSession = Session.getDefaultInstance(props, null)
// Construct the message
msg = new MimeMessage(mailSession)
msg.from = new InternetAddress(mailFrom)
msg.addRecipient(Message.RecipientType.TO, new InternetAddress(mailTo))
msg.subject = subject
msg.text = message
// Send the message
if (useSSL)
SMTPSSLTransport.send(msg)
else
Transport.send(msg)
logger.info("mail sent " +mailTo)
}
catch (Exception ex)
{
logger.throwing("sendMail.gv", "run", ex)
}