Skip to main content
Question

Sending Emails via JSS

  • October 16, 2014
  • 11 replies
  • 61 views

Forum|alt.badge.img+7

Im curious is there away to put variables in a email. For example. I want to say something like this.

Records show you have %computername%. If you still have this computer please plug it into the network so it can get updates.

11 replies

emily
Forum|alt.badge.img+26
  • Hall of Fame
  • October 16, 2014

Computer name is one of the default variables in the JSS. So it would just be $2.

I have a policy in our Self Service app that helps a user auto-generate a help desk ticket by opening their default mail client. The subject is:

"Hello, my username is $3 and my computer's name is $2. I need help with ... "


Forum|alt.badge.img+10
  • Valued Contributor
  • October 16, 2014

@emilykausalik how did you do that?


emily
Forum|alt.badge.img+26
  • Hall of Fame
  • October 16, 2014

I created a Self Service policy that runs this script:

#!/bin/sh

#  SendHelpDeskRequest.sh
#  Opens user's default mail client to send an email to the HelpDesk. Hooray automation!
#
#  Created by Emily Kausalik on 10/3/14.
#  

# getting user information
# default parameters from the JSS
computername=$2
username=$3

# set email information
subject="Request Subject"
body="Hello, my username is $3 and my computer's name is $2. I need help with ... "

# send email through default mail client
open "mailto:helpdesk@awesomecompany.com?subject=$subject&body=$body"

All is does is create a draft email in the default client on the machine. It gets the ball rolling.


Forum|alt.badge.img+7
  • Author
  • Contributor
  • October 16, 2014

Thank you for that information. That works if you are using a script to do that. However, I am using the GUI version to send the email via JSS. For example. Do a search for a criteria, click Actions - > Click Send Email -> Right email with variables.


mm2270
Forum|alt.badge.img+24
  • Legendary Contributor
  • October 16, 2014

Don't think there's a way to do it by using the GUI method from the JSS. I think that simply sends out a statically messaged email to the user who is defined in the Location setting for the Mac.

Just curious, but if you're locating these Macs via search, you could also build a quick Smart Group using the same criteria and add them to a one time policy that uses a scripted method. Or better yet, if its something that you want automated, set up a once per computer policy, so when a Mac falls into that group, they get sent an email. That would make more sense to me on the surface. Is there a requirement to do a manual search and email blast?


Forum|alt.badge.img+7
  • Author
  • Contributor
  • October 17, 2014

Thank you guys, looks like I will have to go the script route. I was just hoping the GUI part worked, that way I don't have to always write a different script everytime my comm. dept wants to send out some email to our mac users. So I was just going to give them access via the GUI to do it.


mm2270
Forum|alt.badge.img+24
  • Legendary Contributor
  • October 17, 2014

You might want to look at the thread on this older Feature Request.
https://jamfnation.jamfsoftware.com/featureRequest.html?id=611
Some ideas are tossed around on how to get the client to email themselves (but appear as if coming from something else) when they become part of a Smart Group. It might help.


Forum|alt.badge.img+4
  • Contributor
  • March 25, 2019

@emily this script is exactly what I am looking for but I am not able to get it to open Outlook. I already have Outlook.app set as the default handler for email. Any suggestions? Is there a simple way for me to modify what you have there to tell it to Open Outlook before applying the automated template message?


Forum|alt.badge.img+4
  • Contributor
  • December 13, 2019

@JMenacker and @emily did you ever figure out how to use Outlook? Or to force the script to use Outlook instead of the default Mail app?


Forum|alt.badge.img+4
  • Contributor
  • December 13, 2019

@sanbornc this is what I've been using for now until I can take the time to find something better looking:

#!/bin/sh

/usr/bin/osascript <<EOF
tell application "Microsoft Outlook"
    activate
    set sendToAddress to "youremailaddresshere@yourcompany.com"
    set theMessage to make new outgoing message with properties {subject:"Request for Help via Self Service"}
    make new recipient at theMessage with properties {email address:{address:sendToAddress}}
    open theMessage
end tell
EOF

It works how we need it and have not had any complaints from customers. Hope this helps!


Forum|alt.badge.img+4
  • Contributor
  • December 13, 2019

@JMenacker @emily Thanks for that. That works, but I would be interested in having the email pre-populate the computer name and username that Emily was alluding to in her script up above. She mentioned "Default Parameters" from the JSS as the source for the $2 and $3. How do I pass that information through to the Outlook email and where do I go to find out that those "Default Parameters" are?