Reporting

sendmail to multiple users based on table output

harryvdtol
Path Finder

Hello,


I want to send multiple mails, based on the data in the seearch results.
I have tried many posts, but i am still unable to get this working.

For each email address i want to send an email.
In my example i want to send 2 emails.

This is my query example

 

| makeresults
| eval kol1="line-1",kol2="line-1", email="j.doe@splunk.com"
| append [ | makeresults | eval kol1="line-2",kol2="line-2", email="j.doe@splunk.com" ]
| append [ | makeresults | eval kol1="line-3",kol2="line-3", email="j.doe@splunk.com" ]
| append [ | makeresults | eval kol1="line-1",kol2="line-1", email="p.doe@splunk.com" ]
| append [ | makeresults | eval kol1="line-2",kol2="line-2", email="p.doe@splunk.com" ]
| table kol1 kol2 email
| map search="|makeresults |sendemail to="$email$" from="me@sample.com" incline=true sendresults=true subject="test" message=$kol1$ $kol2$"

The result is, that i a getting 5 emails, with a content of only kol1 as message


I am thinking of alternatives, but that looks to complicated for now , like this...
https://community.splunk.com/t5/Splunk-Cloud-Platform/Send-email-to-multiple-users-with-respective-d...

Is it somehow possible to do get this working?

Regards,

Harry

Labels (2)
0 Karma
1 Solution

harryvdtol
Path Finder

I am going to do it in two steps
Make an outputlookup for the data.
And with another search inputlookup and this commanmd

| inputlookup mytempdata.csv
| stats values(email) as email
| mvexpand email
| map search="
    | inputlookup mytempdata.csv
    | where match(email, \"^$email$\")
    | sendemail
        to=\"$email$\"
        subject=\"My Subject\"
        message=\"My Message\"
        sendresults=true
        inline=true 
        format=table 
        sendpdf=false 
        sendcsv=false
    " maxsearches=100

View solution in original post

0 Karma

harryvdtol
Path Finder

And it works

0 Karma

harryvdtol
Path Finder

I am going to do it in two steps
Make an outputlookup for the data.
And with another search inputlookup and this commanmd

| inputlookup mytempdata.csv
| stats values(email) as email
| mvexpand email
| map search="
    | inputlookup mytempdata.csv
    | where match(email, \"^$email$\")
    | sendemail
        to=\"$email$\"
        subject=\"My Subject\"
        message=\"My Message\"
        sendresults=true
        inline=true 
        format=table 
        sendpdf=false 
        sendcsv=false
    " maxsearches=100
0 Karma
Get Updates on the Splunk Community!

Unlock Database Monitoring with Splunk Observability Cloud

In today’s fast-paced digital landscape, even minor database slowdowns can disrupt user experiences and stall ...

Print, Leak, Repeat: UEBA Insider Threats You Can't Ignore

Are you ready to uncover the threats hiding in plain sight? Join us for "Print, Leak, Repeat: UEBA Insider ...

Splunk MCP & Agentic AI: Machine Data Without Limits

  Discover how the Splunk Model Context Protocol (MCP) Server can revolutionize the way your organization ...