Advertisement

Mac Automation: Get remote screenshots via Mail

I've talked about getting your Mac to shutdown via an e-mail (or even take a picture from your iSight and e-mail it back to you), but I have received some comments and e-mails about using this script to send a snap of your computer screen when you want to "check up." So, in this Automator tutorial, I am going to show how to get a screenshot of your Mac no matter where you are -- via e-mail.

Continue reading to learn how to generate screenshots via Mail.

Creating the Automator workflow
Let's first create the Automator workflow; this will take the screenshot and e-mail it to you. To create this workflow, just place the following Automator actions together (in the same order):

  • Take Screenshot

  • New Mail Message

  • Send Outgoing Messages



Now let's tweak a couple of the settings in the Automator actions. For the "Take Screenshot" action, select the "Type" as "Full Screen." In the options section select "Main Monitor Only" if you have only one monitor hooked up to your system. Under the "Save To:" option, click the drop-down menu and select "New" then type in a file and choose a location and click save. In the "New Mail Message" action, type in all of the information that you would like, being sure not to type anything in the body of the message.

Saving the Automator workflow
Let's save the Automator workflow somewhere where you can find it later (for instance, you may want to create an "Automator" directory in your Documents directory). In Automator, click File > Save, select "Application" from the "Format" drop down box; type a file name, then click save.

Creating the AppleScript
This is going to be an extremely simple AppleScript, since we just need an AppleScript to launch our Automator application we just made. Open the Script Editor.app (found in /Applications/AppleScript/). Paste the following script into the editor (if you saved your Automator workflow as a different name, replace the "Mail Screenshot" to the name of your saved workflow).

tell application "Mail Screenshot" to launch

Now save the AppleScript by clicking File > Save in the Script Editor. Type in a file name and make sure the "File Format" is set to "Script" before clicking the save button.

Creating the mail rules
To link all the parts together, let's create the Mail rules. Open Mail.app's preferences (command + , ) then click Rules. Click the "Add Rule" button. Type a description and select "All" for the "If ALL of the following conditions are met."

Now let's add the conditions (you will have to click the plus sign to add more conditions):

  1. From ... Contains ... you@youremail.com

  2. Subject ... Is Equal To ... System&*Screenshot

  3. Message Content ... Contains ... Screenshot

Add these rules under "perform the following actions" :

  1. Set Color ... of Background ... Blue

  2. Run AppleScript ...

For the run AppleScript rule, click the choose button and find your AppleScript that you just made. Then click the "Choose File" button.

Running the Script
To run the script, all you need to do is send an e-mail from the account specified with "System&*Screenshot" in the subject line, and "Screenshot" in the body of your message.

Additional Information

  1. Please note that scripts such as these may be used against you by: co-workers, roommates, friends, crazy monkeys, and people on Digg

  2. By changing the subject line condition to be a "password," you will decrease the likeliness that #1 will happen

  3. You can include unusual characters for message content conditions (i.e. #, @, or ^) in order to avoid accidentally running a script that you didn't want (for example use: #shutdown# instead of just shutdown)

  4. It is also a good idea to have Mail.app check for new messages often for this to work well