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

Posted on 2009-05-14
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/ 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/ 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/
-rw-r--r-- 1 root             root               58194 May 17  2008 /etc/mail/
-rw-r--r-- 1 root             root                7209 Mar 14  2007 /etc/mail/
-r--r--r-- 1 root             root               41275 Mar 14  2007 /etc/mail/
-rw-r--r-- 1 root             root                 940 Mar 14  2007 /etc/mail/
-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/
Question by:darlingm2
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
LVL 14

Accepted Solution

cjl7 earned 500 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/

Does that work?

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


Author Comment

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.

Featured Post

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.

Question has a verified solution.

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

1. Introduction As many people are interested in Linux but not as many are interested or knowledgeable (enough) to install Linux on their system, here is a safe way to try out Linux on your existing (Windows) system. The idea is that you insta…
It’s 2016. Password authentication should be dead — or at least close to dying. But, unfortunately, it has not traversed Quagga stage yet. Using password authentication is like laundering hotel guest linens with a washboard — it’s Passé.
This demo shows you how to set up the containerized NetScaler CPX with NetScaler Management and Analytics System in a non-routable Mesos/Marathon environment for use with Micro-Services applications.
How to Install VMware Tools in Red Hat Enterprise Linux 6.4 (RHEL 6.4) Step-by-Step Tutorial
Suggested Courses

752 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