Showing posts with label Use CISCO EEM script to send email. Show all posts
Showing posts with label Use CISCO EEM script to send email. Show all posts

Friday, April 13, 2012

Use CISCO EEM script to send email

Send (authenticated) email from your router using EEM


event manager environment _email_to noc@isp.com
event manager environment _email_server usr:pwd@mail.isp.com
event manager environment _email_from usr@isp.com

action 1.0 mail server "$_email_server" to "$_email_to" from "$_email_from" subject "$_event_pub_time: Login via SSH" body "$_syslog_msg"

action 1.5 syslog msg priority 5 "Mail Sent"

Send email from your router using EEM


EEM Send e-mail after a router reload

For example, to execute an EEM applet that will send an e-mail twenty 
seconds after the router reload, you could use this configuration: 
 
hostname test
!
service timestamps debug uptime
service timestamps log uptime
!
event manager applet ReloadNotify 
 event timer countdown name Delay time 20
 action 1.0 info type routername
 action 1.1 mail server "mail.example.com" →
   to "ops@example.com" from "$_info_routername@example.com" →
   subject "Router reload: $_info_routername"
 action 1.2 syslog msg "E-mail was sent"

Ref: Send e-mail after a router reload


How To Send MIME Attachments Using EEM

::cisco::eem::register_event_none

namespace import ::cisco::eem::*
namespace import ::cisco::lib::*

# First, create the headers and body of your message
set email_body_pre "Mailservername: $_email_server
From: $_email_from
To: $_email_to
Cc:
Subject: Email from Router $_router_name
MIME-Version: 1.0
Content-type: multipart/mixed; boundary=\"EEM_email_boundary\"
\n--EEM_email_boundary\n
\n--EEM_email_boundary
Content-Type: application/octet-stream
Content-Transfer-Encoding: Base64
Content-Disposition: attachment; filename=\"test.log\"\n\n"

# Then, read in the data you wish to attach.
if [catch {open "flash:test.log"} result] {
    error $result $errorInfo
}
set fd $result
# Encode that data using the built-in base64 library.
set email_b64 [::base64::encode [read $fd]]
close $fd

# Construct the final message with the headers, body, and MIME parts.
set email_body_mime "\n--EEM_email_boundary--"

set email_body [format "%s%s%s" $email_body_pre $email_b64 $email_body_mime]

# Send the email.
if [catch {smtp_send_email $email_body} result] {
    error $result $errorInfo
}
 
Ref:How To Send MIME Attachments Using EEM