email

Milestone: 1

Send email when an output is received. Alternatively, you may include or exclude the email output execution using conditionals.

Synopsis

This is what it might look like in your config file:
output {
  email {
    attachments => ... # array (optional), default: []
    body => ... # string (optional), default: ""
    cc => ... # string (optional)
    codec => ... # codec (optional), default: "plain"
    contenttype => ... # string (optional), default: "text/html; charset=UTF-8"
    from => ... # string (optional), default: "logstash.alert@nowhere.com"
    htmlbody => ... # string (optional), default: ""
    options => ... # hash (optional), default: {}
    replyto => ... # string (optional)
    subject => ... # string (optional), default: ""
    to => ... # string (required)
    via => ... # string (optional), default: "smtp"
    workers => ... # number (optional), default: 1
  }
}

Details

attachments

  • Value type is array
  • Default value is []

Attachments - specify the name(s) and location(s) of the files.

body

  • Value type is string
  • Default value is ""

Body for the email - plain text only.

cc

  • Value type is string
  • There is no default value for this setting.

The fully-qualified email address(es) to include as cc: address(es).

This field also accepts a comma-separated string of addresses, for example: “me@host.com, you@host.com”

codec

  • Value type is codec
  • Default value is "plain"

The codec used for output data. Output codecs are a convenient method for encoding your data before it leaves the output, without needing a separate filter in your Logstash pipeline.

contenttype

  • Value type is string
  • Default value is "text/html; charset=UTF-8"

contenttype : for multipart messages, set the content-type and/or charset of the HTML part. NOTE: this may not be functional (KH)

exclude_tags DEPRECATED

  • DEPRECATED WARNING: This config item is deprecated. It may be removed in a further version.
  • Value type is array
  • Default value is []

Only handle events without any of these tags. Note this check is additional to type and tags.

from

  • Value type is string
  • Default value is "logstash.alert@nowhere.com"

The fully-qualified email address for the From: field in the email.

htmlbody

  • Value type is string
  • Default value is ""

HTML Body for the email, which may contain HTML markup.

match DEPRECATED

  • DEPRECATED WARNING: This config item is deprecated. It may be removed in a further version.
  • Value type is hash
  • There is no default value for this setting.

This setting is deprecated in favor of Logstash’s “conditionals” feature If you were using this setting previously, please use conditionals instead.

If you need help converting your older ‘match’ setting to a conditional, I welcome you to join the #logstash irc channel on freenode or to email the logstash-users@googlegroups.com mailling list and ask for help! :)

options

  • Value type is hash
  • Default value is {}

Specify the options to use:

Via SMTP: smtpIporHost, port, domain, userName, password, authenticationType, starttls

Via sendmail: location, arguments

If you do not specify any options, you will get the following equivalent code set in every new mail object:

Mail.defaults do
  delivery_method :smtp, { :smtpIporHost         => "localhost",
                           :port                 => 25,
                           :domain               => 'localhost.localdomain',
                           :userName             => nil,
                           :password             => nil,
                           :authenticationType   => nil,(plain, login and cram_md5)
                           :starttls             => true  }

  retriever_method :pop3, { :address             => "localhost",
                            :port                => 995,
                            :user_name           => nil,
                            :password            => nil,
                            :enable_ssl          => true }

  Mail.delivery_method.new  #=> Mail::SMTP instance
  Mail.retriever_method.new #=> Mail::POP3 instance
end

Each mail object inherits the defaults set in Mail.delivery_method. However, on a per email basis, you can override the method:

mail.delivery_method :sendmail

Or you can override the method and pass in settings:

mail.delivery_method :sendmail, { :address => 'some.host' }

You can also just modify the settings:

mail.delivery_settings = { :address => 'some.host' }

The hash you supply is just merged against the defaults with “merge!” and the result assigned to the mail object. For instance, the above example will change only the :address value of the global smtp_settings to be ‘some.host’, retaining all other values.

replyto

  • Value type is string
  • There is no default value for this setting.

The fully qualified email address for the Reply-To: field.

subject

  • Value type is string
  • Default value is ""

Subject: for the email.

tags DEPRECATED

  • DEPRECATED WARNING: This config item is deprecated. It may be removed in a further version.
  • Value type is array
  • Default value is []

Only handle events with all of these tags. Note that if you specify a type, the event must also match that type. Optional.

to (required setting)

  • Value type is string
  • There is no default value for this setting.

The fully-qualified email address to send the email to.

This field also accepts a comma-separated string of addresses, for example: “me@host.com, you@host.com”

You can also use dynamic fields from the event with the %{fieldname} syntax.

type DEPRECATED

  • DEPRECATED WARNING: This config item is deprecated. It may be removed in a further version.
  • Value type is string
  • Default value is ""

The type to act on. If a type is given, then this output will only act on messages with the same type. See any input plugin’s “type” attribute for more. Optional.

via

  • Value type is string
  • Default value is "smtp"

How Logstash should send the email, either via SMTP or by invoking sendmail.

workers

  • Value type is number
  • Default value is 1

The number of workers to use for this output. Note that this setting may not be useful for all outputs.


This is documentation from lib/logstash/outputs/email.rb