Solved

Sendmail Auto print email using LPR not working

Posted on 2008-06-24
15
460 Views
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
0
Comment
Question by:ageoffron
  • 8
  • 7
15 Comments
 
LVL 28

Expert Comment

by:Jan Springer
Comment Utility
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
0
 

Author Comment

by:ageoffron
Comment Utility
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


0
 
LVL 28

Expert Comment

by:Jan Springer
Comment Utility
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.
0
 

Author Comment

by:ageoffron
Comment Utility
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
0
 
LVL 28

Expert Comment

by:Jan Springer
Comment Utility
You have these setup in sendmail aliases?

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

Author Comment

by:ageoffron
Comment Utility
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.
0
 
LVL 28

Expert Comment

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

Dumb question:  did you run newaliases?
0
Free book by J.Peter Bruzzese, Microsoft MVP

Are you using Office 365? Trying to set up email signatures but you’re struggling with transport rules and connectors? Let renowned Microsoft MVP J.Peter Bruzzese show you how in this exclusive e-book on Office 365 email signatures. Better yet, it’s free!

 

Author Comment

by:ageoffron
Comment Utility
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
0
 

Author Comment

by:ageoffron
Comment Utility
and yes I issue the command "newaliases" to rebuild the aliases db.
0
 

Author Comment

by:ageoffron
Comment Utility
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..
0
 
LVL 28

Expert Comment

by:Jan Springer
Comment Utility
Are you not using cups to configure the printing service and, if so, do you have lpd running?
0
 
LVL 28

Expert Comment

by:Jan Springer
Comment Utility
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).
0
 

Author Comment

by:ageoffron
Comment Utility
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:

FEATURE(`smrsh',`/usr/sbin/smrsh')dnl
A feature which restrict the binaires called through piping from sendmail.

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


0
 
LVL 28

Accepted Solution

by:
Jan Springer earned 500 total points
Comment Utility
And which was why I asked about smmsp.
0
 

Author Closing Comment

by:ageoffron
Comment Utility
Some directions were given which help me find the solultion.
0

Featured Post

Want to promote your upcoming event?

Attending an event? Speaking at a conference? Or exhibiting at a tradeshow? Easily inform your contacts by using a promotional banner in your email signature. This will ensure your organization’s most important contacts are in the know.

Join & Write a Comment

Resolve DNS query failed errors for Exchange
Local Continuous Replication is a cost effective and quick way of backing up Exchange server data. The following article describes the steps required to configure Local Continuous Replication. Also, the article tells you how to restore from a backup…
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 an email address policy 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 Mail Flow…

744 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

Need Help in Real-Time?

Connect with top rated Experts

18 Experts available now in Live!

Get 1:1 Help Now