Sendmail Auto print email using LPR not working

Posted on 2008-06-24
Medium Priority
Last Modified: 2013-12-17
I'm trying to setup my Linux machine to forward email to a printer.
While I found some posts describing what to do, I'm still having an issue locally with the sendmail.

I setup the local LPD service on the linux machine with a default queue named myQueue
I modified the aliases file of my sendmail  with the following line:

printout@mydomain: "|/usr/bin/lpr myQueue"

and I rebuilt the aliases

when I send an email to printout@mydomain
I get :

Jun 24 19:36:27 myServer sendmail[23417]: m5P2aRuZ023416: to=|/usr/bin/lpr myQueue, ctladdr=<printout@mydomain> (8/0), delay=00:00:00, xdelay=00:00:00, mailer=prog, pri=36493, dsn=5.0.0, stat=Service unavailable
Jun 24 19:36:27 myServer sendmail[23417]: m5P2aRuZ023416: m5P2aRuZ023417: DSN: Service unavailable

Can you help, I beleive I'm missing simple on that one
Question by:ageoffron
Welcome to Experts Exchange

Add your voice to the tech community where 5M+ people just like you are talking about what matters.

  • Help others & share knowledge
  • Earn cash & points
  • Learn & ask questions
  • 8
  • 7
LVL 29

Expert Comment

by:Jan Springer
ID: 21867830
Is myQueue the name that you gave the printer in the printer configuration?

if so:

printout@mydomain: "|/usr/bin/lpr -p myQueue"

you can test the command manually first by:

cat filename.txt | /usr/bin/lpr -p myQueue

Author Comment

ID: 21867904
hi Jesper,

cat test.txt | /usr/bin/lpr -P myQueue
(Note Upper case P)
Does work from the command line, however I tried to modify the aliases and it still give sme the same error

Error: Jun 25 10:35:45 myServer sendmail[5928]: m5PHZjuZ005927: m5PHZjuZ005928: DSN: Service unavailable

LVL 29

Expert Comment

by:Jan Springer
ID: 21868124
Sorry, my bad on the typo and the recommendation.

Try this:

printout:           |/usr/bin/lpr - P myQueue

I don't know that the quotes are required once it hits the pipe.
Visualize your virtual and backup environments

Create well-organized and polished visualizations of your virtual and backup environments when planning VMware vSphere, Microsoft Hyper-V or Veeam deployments. It helps you to gain better visibility and valuable business insights.


Author Comment

ID: 21868201
I applied the change
printout@mydomain:  |/usr/bin/lpr - P myQueue

I also tried
printout@mydomain:  "|/usr/bin/lpr - P myQueue"
printout@mydomain:  "|/usr/bin/lpr - P myQueue
printout:  |/usr/bin/lpr - P myQueue

and no luck
Do I have anything to do to "allow" LPR with sendmail , like an option within the sendmail.mc file maybe? I looked but did not find anything...

For info,
I have other queues setup on that system which work... they are directed to a binary but the same principle apply.
helpdesk.xxx@mydomain: "|/etc/smrsh/cerberus-2.557.Linux-2.2.14-5.0 /etc/smrsh/config.xml F
ATAL /var/log/cerberus/cerberus.log

Still same error
LVL 29

Expert Comment

by:Jan Springer
ID: 21868320
You have these setup in sendmail aliases?

What are the permissions and ownership on the queues that work vs the one that doesn't?

Author Comment

ID: 21868399
Yes this the aliases from sendmail.

by permsission on the queue, I can only think of the persmission assign to the executables (LPR versus cerberus-2.557.Linux-2.2.14-5.0)
and they both are owned by root. So no difference at that level..

Let me know if you are refering to any other permissions.
LVL 29

Expert Comment

by:Jan Springer
ID: 21868503
If /usr/bin/lpr is chmod 755 or 711it should work.

Dumb question:  did you run newaliases?

Author Comment

ID: 21868571
Here is the permission details:

[root@myServer etc]# ls -al /usr/bin/lpr
lrwxrwxrwx    1 root     root           23 Apr  6  2004 /usr/bin/lpr -> /etc/alternatives/print
[root@myServer etc]# ls -al /etc/alternatives/print
lrwxrwxrwx    1 root     root           18 Apr  6  2004 /etc/alternatives/print -> /usr/bin/lpr.LPRng

[root@myServer etc]# ls -al /etc/smrsh/cerberus-2.557.Linux-2.2.14-5.0
-rwxr-xr-x    1 root     root      2614554 Apr  7  2004 /etc/smrsh/cerberus-2.557.Linux-2.2.14-5.0

Author Comment

ID: 21868579
and yes I issue the command "newaliases" to rebuild the aliases db.

Author Comment

ID: 21868633
I'm raising the point value of this question.
while the pb seems simple , there is something no so obvious going on wiht my sendmail..
LVL 29

Expert Comment

by:Jan Springer
ID: 21868743
Are you not using cups to configure the printing service and, if so, do you have lpd running?
LVL 29

Expert Comment

by:Jan Springer
ID: 21868797
What are the perms of /usr/bin/lpr.LPRng?
Are you using smmsp?

Have you tried to use the program /usr/bin/lpr.LPRng in the aliases file (tho this shouldn't matter).

Author Comment

ID: 21868886
LPD is running. we tested the LPR -P myQueue and it worked..
I'm not using CUPS. just LPD and sendmail locally

I finally found the issue, in my sendmail.mc I had:

A feature which restrict the binaires called through piping from sendmail.

I copied the LPR binary into that folder.. and voila it worked.

LVL 29

Accepted Solution

Jan Springer earned 1500 total points
ID: 21869021
And which was why I asked about smmsp.

Author Closing Comment

ID: 31470436
Some directions were given which help me find the solultion.

Featured Post

Technology Partners: We Want Your Opinion!

We value your feedback.

Take our survey and automatically be enter to win anyone of the following:
Yeti Cooler, Amazon eGift Card, and Movie eGift Card!

Question has a verified solution.

If you are experiencing a similar issue, please ask a related question

Import PST to Exchange using Power Shell new-mailboximportrequest command, you can simply import the PST file into Exchange mailbox or archived. To know How to import PST into Exchange  2013 read the complete article.
The new Gmail Phishing Scam going around is surprising even the savviest of users with its sophisticated techniques.
Familiarize people with the process of retrieving data from SQL Server using an Access pass-thru query. Microsoft Access is a very powerful client/server development tool. One of the ways that you can retrieve data from a SQL Server is by using a pa…
In this video we show how to create a Shared Mailbox in Exchange 2013. We show this process by using the Exchange Admin Center. Log into Exchange Admin Center.: First we need to log into the Exchange Admin Center. Navigate to the Recipients >> Sha…
Suggested Courses

800 members asked questions and received personalized solutions in the past 7 days.

Join the community of 500,000 technology professionals and ask your questions.

Join & Ask a Question