About sending eMail using the print module
Even though this module can be used for printing, creating PDFs and sending an eMail, your question seems to only be about the sending eMails part of it.
Yes you're right: if you grant access to the eMail part of it to anonymous users, then that is a huge spam risk: any spammer can use it to enter any (repeat any ...) eMail ID ... to have "your site" send that eMail (and who knows what the content, from the spammer, might be) ... to the eMail Id "requested" by the spammer.
"The way to stop that" (spamming), as in your question, is to not grant that permission to use the eMail function of it to anonymous users.
If you do grant that permission to logged in (+ registered) users, then you have at least a trace which user used the eMail part of it.
Have a look at the Message Stack, these are the basic components and dependencies of it:
Some more details about the Message-related modules (=quotes are from the module's project page):
The Message module is the core of the message stack. It enables logging and displaying system events in a number of different use cases. Events that are recorded over time are sometimes call activity streams. Exportable messages subtypes can be created for different use cases with custom fields and display (view) modes.
This module provides a method for sending a message via a notifier plugin. Message Notify comes with plugins for email and SMS and may be extended to other transport mechanisms as required.
With this module, users who subscribe to content will be notified when events occur that involve that content. The module leverages the Flag module, which provides a subscribe functionality to users.
Quite a few popular Drupal distributions already adopted to this Message Stack, Open Atrium is one of them.
If you want to see it at work in an existing module (as an example), then checkout the 7.x-4.x version of the Answers module (disclosure: I'm a co-maintainer) and its Answers Notification sub-module. This sub-module allows logged in users (not anonymous users ...) to subscribe to selected nodes (such as "questions"), so that they receive notifications (using the Message Stack) when Questions receive Answers.