Send email when an output is received. Alternatively, you may include or exclude the email output execution using conditionals.
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
}
}
Attachments - specify the name(s) and location(s) of the files.
Body for the email - plain text only.
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”
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 : for multipart messages, set the content-type and/or charset of the HTML part. NOTE: this may not be functional (KH)
Only handle events without any of these tags. Note this check is additional to type and tags.
The fully-qualified email address for the From: field in the email.
HTML Body for the email, which may contain HTML markup.
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! :)
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.
The fully qualified email address for the Reply-To: field.
Subject: for the email.
Only handle events with all of these tags. Note that if you specify a type, the event must also match that type. Optional.
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.
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.
How Logstash should send the email, either via SMTP or by invoking sendmail.
The number of workers to use for this output. Note that this setting may not be useful for all outputs.