Sending Emails with Print Wizard
Currently Print Wizard has email support for the following email protocols. They all have their advantages, and may or may not be installed on your PC. You will want to play with them to see what works best for your Windows configuration.
All of these protocols require different items to successfully connect to an email server or gateway, and your email server or email gateway may not allow access from all of these variations.
Likewise, certain firewalls and routers, both on the local PC and on your network, may block some of these protocols.
Check out the Windows Vista notes below for current information on emailing through Print Wizard on Windows Vista.
Collaboration Data Objects are automation compatible object models that wrap MAPI for easier use. Whereas MAPI requires some configuration, CDO handles this for you and makes some assumption to simplify sending and receiving of email, faxes and calendar events. We have implemented the sending of email within the Print Wizard engine.
The Messaging Application Programming Interface comes in various flavors with support for many 3 rd party applications such as Outlook (MAPI), Outlook Express (Simple MAPI), Exchange (Extended MAPI), and others. Print Wizard implements standard MAPI with support for sending of email and the handling of Outlook profiles. MAPI is available on most all Windows platforms in some form or another, but it does assume user profiles and some initial setup have been performed.
For those users with Outlook installed, Outlook provides object level interfaces direct to the program. Print Wizard has implemented the basic calls for sending email directly into Outlook, obeying any rules, permissions and profiles that Outlook has defined.
The Simple Mail Transport Protocol is the standard Internet protocol for transporting email messages. The implementation of SMTP by Print Wizard assumes that your Windows machine has permissions to send email through your local email gateway (using the email gateway as a relay). This may not always be the case, but usually if any of the above methods work, this will.
There are two different ways of using CDO. The first uses MAPI and the second uses
SMTP calls wrapping around MAPI calls. They both go through the Windows standard routines to send email. Print Wizard implements CDO SMTP since it already has implemented MAPI elsewhere, and there really would be no difference (just in the call names).
Print Wizard CDO will take all files as attachments and email them over whatever default network protocol (usually TCP) that Windows recognizes. With this method you only need the Server name as the default port is set to the standard mail network port and authorization is assumed as anonymous.
- With anonymous and CDO, Outlook does not need to run to send email
- Email attachments may come back with "raw format" on some email readers
- Protocol failure occurs if a) “To” address is badly formatted or b) “From” address is badly formatted. This may include errors as a result of reverse DNS (domain name) lookups.
- Both Symantec and McAfee Internet Security (and especially the anti-virus portion) may see all attachments as viruses and you may have to "Yes" through several dialogs.
- Certain Internet Security Suites, such as Symantec and McAfee may return an error if it cannot resolve the “To” and “From” address through DNS and reverse DNS lookups.
CDO is probably the cleanest and most widely available email found on newer versions of Windows. If Outlook Express or Outlook has ever been installed, most likely this email method will exist.
MAPI is the standard set of calls used by Outlook, Outlook Express, Exchange and others. There are several levels of MAPI including Simple, Standard, Extended and Exchange Server versions.
Print Wizard implements basic MAPI calls which should work with Simple MAPI (Outlook Express), Standard and Extended.
Print Wizard MAPI sends all files as attachments. It also requires a specific Outlook Profile depending on the "transport" application. The default transport application is set
In the Windows Control Panel : Internet Options : Programs : E-Mail field. Default Profiles (not to be confused with Print Wizard print profiles) are set in the Control Panel : Mail : Show Profiles dialog. If you are using Outlook Express or Netscape Email, default settings for the profile are assumed and sometimes difficult to figure out (more on this later.)
When emailing via the MAPI protocol, you are dependent on 2 major items:
- Security software may prohibit or at least warn you before allowing a 3rd party program, such as Print Wizard, from sending email
- Outlook settings determine if and when the email gets sent. In typical setups, you have to bring up Outlook and tell it to Send/Receive before they actually leave the PC.
Other specifics about MAPI
- Profiles seem to be case-sensitive under certain circumstances
- Setting up a MAPI profile for faxing requires work
- Can't include leading or trailing spaces in attachment names (embedded are ok)
- Will not send if Outlook set to wait for user to do something ("Send/receive all") unlike Outlook which sends right away.
For those PCs with Outlook installed, Outlook allows 3 rd party programs access through a series of COM object calls directly into Outlook. While this works more smoothly than MAPI, it may also be restricted by Security software and user permissions. The advantage is that in a typical Outlook setup, the email is sent out immediately by the COM objects without waiting for user intervention.
Like MAPI this will require an Outlook profile be already set up. This also does not work if using Outlook Express or Netscape Mail.
Other specifics about Outlook
- Print Wizard may actually bypass asking for User Profile by doing a login session if allowed.
- While MAPI may wait for a user to force Send/Receive, this does not, it sends right away.
Print Wizard does have support for direct calls to a mail server over a network running simple Internet email. This is done through the SMTP setting where you do need the server name, the port to relay through, and you may also need a user name and password for authentication. This is typically the same as you would see from a UNIX/Linux host, accessing mail over IPOP, POP2, POP3, IMAP or some variation of remote email.
SMTP is straightforward but may not work in all environments, i.e. Microsoft Exchange servers may require the client be a MAPI or Outlook client, and Domino Notes and others may require their own variation of email, blocking SMTP relaying.
Also some personal firewalls may prevent SMTP from sending direct over port without adding Print Wizard to the "Acceptable Applications" list.
Emailing with the Print Wizard engine
You can use the Print Wizard engine directly to do emails by including a set of command line parameters. There are several command line parameters used for email (certain required items may be pulled from default email type):
/email=<to address> (use defaults in printwiz.ini)
/emailfrom=<from name> (required for all types)
/emailfromaddress=<from address> (optional for all types)
/emailpass=<password> (optional for smtp)
/emailport=<port #> (optional for smtp)
/emailprofile=<Outlook/MAPI profile> (required for MAPI, Outlook)
/emailserver=<server> (required for CDO, smtp)
/emailuser=<user> (optional for smtp)
/a<attachment or CSV list of attachments> (optional for all types)
/n<notes or note include file> (optional for all types)
/j<subject line> (optional for all types)
/t<to name> (optional "to" name for all types)
Emailing from a print profile
You can set up a print profile through the Print Wizard User Interface that emails as its target. In doing this you can
- always make it email to the same address
- set it such that it asks for email information
When set without any email-to information, and the Print Wizard engine does not run in quiet mode, the email-to information will be asked for. Refer to the Print Wizard documentation and other Knowledgebase articles for more information on print profiles.
Emailing from a drag/drop shortcut
You can easily setup a desktop shortcut that will take in whichever file name is dragged and dropped on the shortcut and will email it. As with emailing with the Print Wizard engine or emailing from a print profile, if necessary Print Wizard will ask for the "to" information.
You can set a desktop shortcut that does the emailing direct from the Print Wizard engine
or from a profile
Any dropped file name will then be appended and ran just as normal through the Print Wizard engine.
Emailing through a Print Wizard service or Windows Services for Print Wizard
Like the above approaches, you can set up a Print Wizard service that will receive a print job and email it out. You do this by setting up a print profile to do the emailing (as described above) and them point your service at that profile.
Due to security upgrades in Windows Vista, and some program changes as part of this, emailing is a bit more complicated.
- First, the User Access Control settings have a bearing on how emailing will behave. The UAC settings may prevent third-party applications from emailing, from accessing Internet ports and from doing any other outbound or inter-program traffic, such as with Outlook.
- Second, Vista does not support Outlook Express any more, it has been replaced by Windows Mail. The disappearance of Outlook Express means that "simple MAPI" is not supported and hence CDO, which is a wrapper for "simple MAPI", is also not available.
- Third, if you have Outlook or some Exchange client installed, you do have access to Extended MAPI. This means both the Outlook and the MAPI features do work. Permissions may be an issue in these two however. You may need to run the Print Wizard engine (printiwz.exe) with Administrator permissions.
- Fourth, unlike prior versions of Windows, Windows Vista blocks all outbound as well as inbound traffic. This means you may have to "allow" the Print Wizard engine to do outbound emailing, or otherwise allow your email program (Outlook) to do outbound emailing.
Here are some full examples of running Print Wizard manually, i.e. through a script with the Print Wizard engine, that do emailing.
This first example includes all the options and does all the configuration from the command line:
printwiz.exe /email@example.com /emailport=25 /emailuser=me /emailpass=xyz /emailfrom="my pc" /firstname.lastname@example.org /emailserver=mail.xyz.com /j"subject line" /n"body of message line 1|line 2|line 3" c:\test.txt /q /debug=off
If you set up the email default in the Print Wizard User Interface to be "smtp", with other defaults pre-set, you can get by with as little as
printwiz.exe /email@example.com /j"subject line" /n"body of message line 1|line2|line 3" c:\test.txt /q /debug=off
The above two examples, suppress any dialogs and errors so you may also want specify a log file to view any problems. On the other hand, if you want to show messages and see what may be happening, and for debugging purposes, take off the "quiet" flag and turn on debugging:
printwiz.exe /firstname.lastname@example.org /emailport=25 /emailuser=me /emailpass=xyz /emailfrom="my pc" /email@example.com /emailserver=mail.xyz.com /j"subject line" /n"body of message line 1|line 2|line 3" c:\test.txt /debug=on
The SMTP approach sends the email immediately and does not require user intervention. However, the program and/or the SMTP port in your firewall (port 25) will need to be allowed outbound access and your email server must accept emails for relaying from your PCs IP address.
Likewise, a full example of doing emails with Microsoft Outlook could be done as:
printwiz.exe /firstname.lastname@example.org /emailuser=me /emailpass=xyz /emailfrom="my pc" /email@example.com /emailprofile=Outlook /emailserver=mail.xyz.com /j"subject line" /n"body of message line 1|line 2|line 3" c:\test.txt /q /debug=off
This will use your default Microsoft Outlook profile (in this case called "Outlook") to send emails. This approach will NOT send the email until Outlook is brought up and permits it to send (though you can configure Outlook to continuously send/receive on some time interval).
Again, you can set Print Wizard to default to Outlook and avoid much of the detail:
printwiz.exe /firstname.lastname@example.org /j"subject line" /n"body of message line 1|line 2|line 3" c:\test.txt /q /debug=off
MAPI may be used instead of Outlook, with similar settings.
printwiz.exe /email@example.com /emailuser=me /emailpass=xyz /emailfrom="my pc" /firstname.lastname@example.org /emailprofile=Outlook /emailserver=mail.xyz.com /j"subject line" /n"body of message line 1|line 2|line 3" c:\test.txt /q /debug=off
MAPI is very similar to Outlook in that the Outlook engine is used. However, Outlook does not have to be brought up in order for the send to take place. If permissions permit, the email is sent immediately using the "Outlook" profile. If proper permissions are not granted, you may get a dialog requesting you to "ALLOW" a third-party program to send emails on your behalf.
So here are some concluding notes and comments.
It is easy to send a print job or file as an email through the Print Wizard engine. We support several methods and have many examples on how you can do emailing of print jobs through Print Wizard.
Some things to be aware and some assumptions Print Wizard makes before you begin.
- Your personal user security policies allows you to run the Print Wizard engine
- Your current security Internet Suite allows you or your email client to send outbound emails
- Your current email server can relay emails from your PC to out-of-domain email addresses
- If you are working in Windows Vista, you either properly have your User Access Controls set or you have turned off UAC options
- The Print Wizard engine, printwiz.exe, is in your internet security suite's "Allowed applications" list and that any PC firewall and corporate firewall allows traffic to go through
Along this same lines, there are some special considerations for Windows Vista. Here is a summary of your options and how they behave on Windows Vista:
- Fails on Windows Vista, is OK on Windows 2003 and XP only, and some Windows 2000 configurations (if updated Outlook or Exchange is installed).
- OK on Windows Vista and other versions of Windows as long as Microsoft Outlook is installed. It does require that the user brings up Outlook in order for email to finally send (Windows 2000 or later).
- OK on Windows Vista, but does require /emailprofile=<> to work. It does not require Outlook to come up, however security policies may prevent it from working or may require the users "allow" a third-party program to send the email (Windows 2000 or later).
OK on all versions of Windows 2000 or later. The only restriction is that your firewall needs to allow this type of traffic to go outbound and your email server needs to allow your PC to relay emails.
- Of course ALL of these methods require personal and corporate firewalls allow email traffic through. Check with your network administrator if you have any questions.
As with everything, we do provide a reasonable amount of free technical support. If you have problems or questions, you can always call us.