?
Solved

Problem with piping email into script on CentOS using /etc/aliases or .forward

Posted on 2009-05-14
2
Medium Priority
?
921 Views
Last Modified: 2013-12-16
I need to use this functionality tomorrow, and am still having issues with it. </panic> </slapForehead> Any assistance would be much appreciated.

I added to /etc/aliases:
tp: "|/raid/home/mdarling/code/sms/sms > /raid/host/toadprinceillustrations.com/logs/tp.log 2>&1"

And, of course, ran newaliases after to regenerate aliases.db.

If I run "mail tp", with test as subject/body, it's like the email goes nowhere.


To try to diagnose the problem down, I:

* Recompiled the c plus plus (experts exchange wont let me use plus signs here for some reason) program sms so the only instruction is "cout << 10 / 0;", which when ran adds a line to dmesg like: "sms[12602] trap divide error . . ." to I can easily see if the program executes, without the possibility of a bug in my program causing it to appear like the email isn't going anywhere. If I "mail tp", a divide error isn't added to dmesg. (I've also tried the program as originally made without the divide by zero instruction -- which works correctly when executed normally not through an email pipe -- and it doesn't seem to execute either, just in case dmesg wouldn't log a divide by zero error for some reason through an email pipe.)

* Made sure there aren't any conflicting entries in /etc/mail/virtusertable, and ran make in that directory to regenerate virtusertable.db.

* Removed the tp line in /etc/aliases, and mailed tp. The email properly arrived in /etc/mail/tp, so I know there isn't a general configuration issue with the account or sendmail in general.

* Removed the tp line in /etc/aliases, and created ~tp/.forward with:
"|/raid/home/mdarling/code/sms/sms > /raid/host/toadprinceillustrations.com/logs/tp.log 2>&1"

which I'm not sure should work, but I saw some references to using .forward instead of /etc/aliases to pipe email. Had no effect here either.

I haven't changed any of the file permissions or ownerships, but ownershio/permission-checks so you can see them are:

[root@servo mail]# ls -la /etc/aliases* /etc/mail/* ~mdarling/code/smsCreditCard/smsCreditCard ~tp/.forward
-rw-r--r-- 1 root             root                1685 May 14 10:29 /etc/aliases
-rw-r----- 1 root             smmsp              12288 May 14 10:17 /etc/aliases.db
-rw-r--r-- 1 root             root                 595 Apr 21 23:42 /etc/mail/access
-rw-r----- 1 root             root               12288 Apr 22 16:00 /etc/mail/access.db
-rw-r--r-- 1 root             root                   0 Mar 14  2007 /etc/mail/domaintable
-rw-r----- 1 root             root               12288 May 17  2008 /etc/mail/domaintable.db
-rw-r--r-- 1 root             root                5521 Mar 14  2007 /etc/mail/helpfile
-rw-r--r-- 1 root             root                 243 Apr 21 23:45 /etc/mail/local-host-names
-rw-r--r-- 1 root             root                  64 Mar 14  2007 /etc/mail/local-host-names.sample
-rw-r--r-- 1 root             root                   0 Mar 14  2007 /etc/mail/mailertable
-rw-r----- 1 root             root               12288 May 17  2008 /etc/mail/mailertable.db
-rw-r--r-- 1 root             root                1048 Mar 14  2007 /etc/mail/Makefile
-rw-r--r-- 1 root             root               58195 May 20  2008 /etc/mail/sendmail.cf
-rw-r--r-- 1 root             root               58194 May 17  2008 /etc/mail/sendmail.cf.sample
-rw-r--r-- 1 root             root                7209 Mar 14  2007 /etc/mail/sendmail.mc
-r--r--r-- 1 root             root               41275 Mar 14  2007 /etc/mail/submit.cf
-rw-r--r-- 1 root             root                 940 Mar 14  2007 /etc/mail/submit.mc
-rw-r--r-- 1 root             root                 127 Mar 14  2007 /etc/mail/trusted-users
-rw-r--r-- 1 root             root                 851 May 14 10:10 /etc/mail/virtusertable
-rw-r--r-- 1 root             root                2204 May 20  2008 /etc/mail/virtusertable.backup
-rw-r--r-- 1 root             root                1044 May 14 10:10 /etc/mail/virtusertable.bak
-rw-r----- 1 root             root               12288 May 14 10:10 /etc/mail/virtusertable.db
-rwxrwxr-x 1 mdarling         mdarling         2597264 May 14 10:01 /raid/home/mdarling/code/sms/smsCredit
-rw-r--r-- 1 tp               tp                 56 May 14 09:57 /raid/host/toadprinceillustrations.com/users/tp/.forward
0
Comment
Question by:darlingm2
[X]
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
2 Comments
 
LVL 14

Accepted Solution

by:
cjl7 earned 2000 total points
ID: 24385704
Try removing the tp:... from /etc/aliases

do "mail tp" with the email you want

run the command manually
cat /email-msg | /raid/home/mdarling/code/sms/sms > /raid/host/toadprinceillustrations.com/logs/tp.log

Does that work?

if it does work, can the email user (the user running the email-daemon) execute ths sms-program?

//jonas
0
 

Author Comment

by:darlingm2
ID: 24386010
Thanks, you pointed me to the solution.  Switching to user tp, I couldn't execute /raid/home/mdarling/code/sms/sms, I got permission denied.  Had to chmod 755 ~mdarling, now it works.  By default, it was 700.  I'm the only person who has access to the server, so I'm fine with 755 permissions here.
0

Featured Post

Google Certified Professional - Cloud Architect

This course (1 of 3) is designed to help students who are interested in Google Cloud Platform (GCP) to become familiar with the platform, navigate the console and learn its capabilities. It will also prepare students for the Google Cloud Architect certification exam.

Question has a verified solution.

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

Setting up Secure Ubuntu server on VMware 1.      Insert the Ubuntu Server distribution CD or attach the ISO of the CD which is in the “Datastore”. Note that it is important to install the x64 edition on servers, not the X86 editions. 2.      Power on th…
The purpose of this article is to show how we can create Linux Mint virtual machine using Oracle Virtual Box. To install Linux Mint we have to download the ISO file from its website i.e. http://www.linuxmint.com. Once you open the link you will see …
Learn how to get help with Linux/Unix bash shell commands. Use help to read help documents for built in bash shell commands.: Use man to interface with the online reference manuals for shell commands.: Use man to search man pages for unknown command…
How to Install VMware Tools in Red Hat Enterprise Linux 6.4 (RHEL 6.4) Step-by-Step Tutorial
Suggested Courses

719 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