Email to Print

Email to Print allows users to print by emailing their documents to a special address. No client software or drivers are required, providing a simple way for your organisation to print from any device that can send an email.

Email to Print is part of a collection of solutions to manage mobile and BYOD printing. For more information see Chapter 21, Mobile & BYOD Printing.

How Does it Work?

  • Each printer has a unique email alias e.g.[email protected]

  • Users compose an email, attach printable document(s), and email to the printer's address.

  • PaperCut receives the email and prints the documents on behalf of the user.

Email to Print workflow

Figure 21.24. Email to Print workflow

Solution Summary

  • Easy to use, easy to set up.

  • Works with nearly any device (anything that can send an email with an attachment).

  • Supports PDF document attachments. Additionally supports Microsoft Office attachments when a Web Print Sandbox is configured.

  • All print options are locked to the OS print queue defaults.

Tip

It is possible to set up multiple OS print queues for the one printer with different default settings e.g. one for single-sided, one for double-sided.

Tip

Email to Print can be used in conjunction with Find Me Printing. Rather than one email address per printer, there can be a single address for multiple printers. Users could then release their jobs at the printer of their choice.

Tip

Email to Print can be used in conjunction with PaperCut Internal Users. This allows users without a domain account to register their own account with an email address. See the section called “Internal Users (users managed by PaperCut NG)” for details.

Email to Print can also be used to create a guest printing solution for visitors and guests with BYOD devices. See the section called “Anonymous Guest Printing” for details.

Before You Start: Aliases

When processing Email to Print jobs, PaperCut will connect to a single mailbox on a mail server. The mailbox will receive the emails of all printers, where each printer has its own email alias. This is achieved in one of three possible ways:

  1. Server-side aliases - The email address for each printer is an email alias of the mailbox e.g. [email protected] is an alias of [email protected]. This is the recommended approach as it allows each printer to have a "clean" and distinct address.

  2. Dynamic aliases - Many email servers support the dynamic alias "+ syntax" e.g. [email protected] gets delivered to the printing mailbox. This is the simplest option to set up and maintain. However, removing or renaming a dynamic alias doesn't stop emails for the now defunct printer name. Also, the email addresses are arguably not as nice to look at!

  3. Email forwarding - If options 1 and 2 are not possible with your email server, another option is to configure one mailbox per printer. Each mailbox could then forward all mail to the "main" mailbox e.g. [email protected] is a mailbox that forwards to [email protected].

Pick a strategy that suits your environment and you are ready to start.

Prepare the PaperCut Server

  1. Configure your SMTP server details in PaperCut at OptionsNotifications.

    This is required so PaperCut can respond to user emails e.g. to let them know their job has been received.

    Tip

    When configuring your SMTP settings, use a real, attended From address. Users may reply to this address to ask questions. They will have a better experience if they receive a reply.

  2. Configure a user facing server address at OptionsAdvancedServer AddressServer address presented to users.

    Email to Print sends emails to users that include links to the PaperCut server, so it needs to know the server's network address. If you would like to support Email to Print from the internet, this address will need to resolve both internally and externally to your network i.e. a fully qualified public DNS name.

    For more details see the section called “Server address presented to users”.

Setting up a Mailbox

  1. Set up a new mailbox on your email server. Email to Print supports mailboxes with either POP3 or IMAP protocols.

    This mailbox will receive all emails for Email to Print. Each email will be deleted from the email server after it has been processed, so the storage requirements should not be large.

    Tip

    If you are using Gmail to host your mailbox, there are default actions for emails deleted. These actions are based on the protocol being used. POP3 keeps a copy of the email in the Inbox, while IMAP archives it. If you prefer a different behavior, you can log into the Gmail account and change the following settings:

    SettingsForwarding and POP/IMAPPOP DownloadWhen messages are accessed with POP - Delete, Mark or Archive [your org's] copy

    SettingsForwarding and POP/IMAPIMAP AccessWhen a message is marked as deleted and expunged from the last visible IMAP folder - Archive, Move to the Bin or Delete forever

    Important

    Do not use your personal email address for testing, unless you want to print every PDF ever sent to you! One of our developers did this. It wasn't pretty.

  2. Navigate to OptionsMobile & BYODEmail to Print and check Enable Email to Print.

  3. Configure the section Receiving Email Account / Mailbox according to your mail server and newly created mailbox. Note that with some email servers, the Username may not be in the email address format.

The remaining settings are discussed later in this chapter. The default values will suffice for testing.

Email to Print configuration

Figure 21.25. Email to Print configuration

Testing Email to Print

  1. Navigate to PrintersPrinter List and choose a printer for Email to Print testing.

  2. In the Email to Print section, give the printer a unique and simple email alias.

  3. Depending on your chosen alias type, configure the email server to point the new email alias to the Email to Print mailbox (see the section called “Before You Start: Aliases”).

  4. Pick a test user account from the Users, tab and ensure it has an associated email address you can send an email from (the Primary email or Other emails fields). If you don't have a test email account, you can temporarily assign your own email address to the test user.

  5. From the test user's email address, compose a new email, attach a PDF, and send it to the printer's email address (the alias, not the mailbox).

  6. In a short time you should receive a verification email (discussed in the section called “Customization”). Click the link in this email. Your job should now print!

    Note: Jobs maybe held pending further action when features such as account selection or hold/release queues are in effect. You will need to address this as per a normal print job. See the section called “Interaction with other features” for details.

  7. Check your job printed successfully, and inspect the print log at PrintersJob Log.

If you want to support Microsoft Office document attachments in addition to PDF, please see the section called “Adding support for Microsoft Office Documents”.

Continue with the section called “Customization” below to tweak settings to your site's needs.

Customization

The following customization settings can be found at OptionsMobile & BYODEmail to Print.

Sender Verification

This option controls how PaperCut will respond when it receives an Email to Print job from a user.

The default setting, Verify sender. Users must click a verification link., will send an email with a link the user must click before their job is printed (or proceeds to the next stage, such as a hold/release queue). The purpose of this setting is to verify the sender of the email actually owns the email address, as it is often trivial to fake/forge/spoof the sender address. In the Email body for this setting, the special replacement marker %verify-link% is required.

If verification of the sender address is not important, the setting Do not verify sender. Respond to job with confirmation. may be used. When this setting is used, jobs are processed immediately, and the user receives an email to let them know their job was received. In the Email body for this setting, the special replacement marker %client-url% may be used as a link to the Mobile Client, which will show the job's status.

Anonymous/Guest Submission

This item enables the sending of Email to Print jobs from anonymous guest users. These jobs are sent to a special guest printer alias. Jobs will be logged to the specified user (default is guest-user.)

See the section called “Anonymous Setup” for more information.

Error Responses

These options allow the customizing of response emails sent to users when things go wrong.

Nothing to print (no valid attachments) - Used when an email is received but no valid attachments were found. The user might have forgotten to attach their document, or perhaps attached an unsupported document type.

Other - Used when any other problem occurs e.g. if the document was corrupt and couldn't be printed, or something went wrong with the print driver attempting to print.

See the section called “Self association for emails and email verification/validation” for additional customization settings that apply to both Email to Print and Google Cloud Print.

Interaction with other features

Pop-ups (account selection, confirmation, print scripts)

When users have pop-ups configured, jobs will hold until the pop-up is addressed e.g. for shared account selection the user must choose an account to allocate the job to, before it will be printed. When using Email to Print, pop-ups may be addressed using the Mobile Client. To make this easy, the default job response templates include links to the Mobile Client. If most or all of your users have pop-ups configured, you may like to tweak the templates to indicate they must follow the included link to progress their job.

For more information about the Mobile Client see the section called “Mobile Client”.

Hold/Release Queues

Hold/release queues allow jobs to be held in a queue and later released by a user. This can be used, for example, to require that users are physically at the device to collect their job ("secure print release").

Hold/release queues can be used with Email to Print in the same way as other job types. For more information on hold/release queues see Chapter 11, Hold/Release Queues & Print Release Stations.

Find Me Printing

Find Me Printing removes the need for a user to choose a printer when printing their job. Instead they print to a "virtual", sometimes called "global", queue. They then release their job at the device of their choosing. PaperCut handles routing of the job to the right printer.

Find Me Printing can be used with Email to Print in the same way as other job types. For more information see Chapter 12, Find Me Printing and Printer Load Balancing.

Internal Users

Internal Users are users that only exist in the PaperCut database, not in the organization's domain. They can be used to set up users for printing quickly (or have users set up their own account) without having to go through the normal process of creating full domain accounts.

Internal Users may be combined with Email to Print, allowing users to register their own account (and email address) to set themselves up for printing. The recommended approach is as follows:

  1. Enable internal user self-registration (see the section called “Internal Users (users managed by PaperCut NG)”. This adds a link to the login screen for users to create a new username, password and email.

  2. Enable email self-association (see the section called “Unknown emails and email self-association”). This allows jobs from unknown email addresses to be held until the email "becomes known". When the user sends their first job via Email to Print, they will receive a response email asking to verify their email address by logging in. This default template should be changed to say "If you do not have a username, please create one via the Register link on the login screen" or something similar.

After the user has verified their email address, their job will continue to print. Future jobs will print as per normal.

Adding support for Microsoft Office Documents

Email to Print will print PDF attachments by default. You can add support for Microsoft Office document attachments by configuring a Web Print Sandbox running Microsoft Office. The Web Print Sandbox functions as a document conversion service. Incoming Microsoft Office attachments are sent to the sandbox, and the associated Microsoft Office program automatically converts the source document to a PDF file. The PDF is then sent to the printer.

Please see the section called “Sandbox Mode Setup” for information on how to set up a Web Print Sandbox running Microsoft Office.

Rollout

The following is a list of considerations when moving from a test Email to Print environment that is working as desired, to a wider or organization-wide rollout.

  • Create and publish printer aliases for all printers available via Email to Print. This could involve:

    • Adding the printer's email to a sign on the printer

    • Publishing a web page with email addresses for all printers

    • Adding printer email addresses to a shared address book

  • Modify the procedure for creating new printers in PaperCut to optionally include an Email to Print alias.

Advanced Configuration

The following Email to Print settings are for advanced users or special cases, and should not normally need to change. They can be found in the PaperCut config editor. See the section called “Using the Config Editor” for more information on advanced configurations.

Config NameDescription

email-to-print.debug

This can be set to Y to enable detailed logging of Email to Print emails received, emails sent, and how PaperCut is connecting to the email server.

email-printing.service-freq-secs

By default, PaperCut will check (poll) for new emails every 20 seconds. This config item can change the polling frequency. Less than 20 seconds is not recommended so not to burden the email server. If this value is too large, users will find that sometimes jobs will take a long time to print. How long "too long" might be will vary between sites.

email-printing.imap-read-folder

By default, PaperCut will look at the 'Inbox' folder of the mailbox. This is usually the right setting for most mailboxes. When using IMAP as the protocol, emails can be from any folder on the mail server; so if you would like to read emails from a specific folder (e.g. setting a rule to forward emails with attachments to a pre-defined 'PrintQueue' folder) you can set the folder name here.

Table 21.4. Email to Print Advanced Configuration

FAQ

Q: Can multiple documents be printed at once?
Q: Can a job be printed on more than one printer at a time?
Q: Will you add support for HTML formatting in the reply emails?
Q: I encrypt/sign my emails, do you support PGP and similar features?
Q: I'd like to support Email to Print without assigning email addresses to users (and without requiring users to associate their own address with their account) i.e. to allow printing without user-level control. Will you add support for this?
Q: My email server supports SPF (Sender Policy Framework) header checking. Can you add functionality to send a confirmation response when it checks out, and a verification response when it doesn't?
Q:

Can multiple documents be printed at once?

A:

Yes, all attachments are printed (when the attachment type is supported).

Q:

Can a job be printed on more than one printer at a time?

A:

Yes, the job will be printed to each printer in the To or CC field of the email.

Q:

Will you add support for HTML formatting in the reply emails?

A:

Probably. Please email support to let us know you're interested!

Q:

I encrypt/sign my emails, do you support PGP and similar features?

A:

At this time we support plain emails. If you need support of other features, please email support to let us know you're interested!

Q:

I'd like to support Email to Print without assigning email addresses to users (and without requiring users to associate their own address with their account) i.e. to allow printing without user-level control. Will you add support for this?

A:

Probably. One possible solution would be to allocate all jobs from unknown emails to a special user account (e.g. guest). Please email support to let us know you're interested!

Q:

My email server supports SPF (Sender Policy Framework) header checking. Can you add functionality to send a confirmation response when it checks out, and a verification response when it doesn't?

A:

Maybe. Please email support to let us know you're interested!

Troubleshooting

Q: My users are having my Email to Print response emails flagged as spam. How can I prevent this?
Q: The links in my PaperCut response emails contain IPs. How can I use a DNS name?
Q: The Email to Print status in the admin interface says there is an error. What should I do?
Q: Email to Print jobs are not coming out of the printer, but the status in the admin interface says OK. What should I do?
Q:

My users are having my Email to Print response emails flagged as spam. How can I prevent this?

A:
  1. Ensure you have configured a public DNS name for your PaperCut server and have configured it at OptionsAdvancedServer AddressServer address presented to users, so your response emails do not contain (internal) IP addresses.

  2. Ensure you are using a valid SMTP 'From' address (OptionsNotificationsEmail OptionsFrom address). For best user experience we recommend using an attended email address.

Q:

The links in my PaperCut response emails contain IPs. How can I use a DNS name?

A:

Configure the public DNS name for your PaperCut server at OptionsAdvancedServer AddressServer address presented to users.

Q:

The Email to Print status in the admin interface says there is an error. What should I do?

A:
  1. Check the App. Log tab for any obvious errors.

  2. Check your Email to Print mail server configuration. Ensure the server name, username, password etc. are all correct.

  3. If there is no obvious cause, contact support for assistance.

Q:

Email to Print jobs are not coming out of the printer, but the status in the admin interface says OK. What should I do?

A:
  1. Check the App. Log tab for any obvious errors.

  2. Check the Realtime Activity section on the Dashboard tab. This contains a lot of information about the state of print jobs. Try sending a new Email to Print job while watching this status area. Look for messages about the job being held in a hold/release queue, etc.

  3. Is the job:

    • canceled, because the email address was unknown?

    • canceled due to filters or not enough credit?

    • awaiting the user to verify their email?

    • awaiting the user to click a job verification link? (is the email in the user's spam folder?)

    • awaiting account selection, job confirmation, or a print script pop-up? (try opening the Mobile Client)

    • held in a hold/release queue?

  4. If it's still a mystery, contact support for assistance.