Celebrate National IT Professionals Day with 3 months of free Premium Membership. Use Code ITDAY17

x
?
Solved

Finding out if "mail" function is availabe

Posted on 2015-01-11
14
Medium Priority
?
143 Views
Last Modified: 2015-01-14
How do i know if the "mail" funcion in unix is avialbe in some directory??

I have some script in a machine using mail function, when i execute it in machine1 i get the mail sent

however when i execute the same script in machine2 i dont get any error, however no mail is being sent....

how can i know if the mail function is actually enable or availabe in that machine/location???
0
Comment
Question by:celtician
[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
  • 6
  • 4
  • 3
  • +1
14 Comments
 
LVL 84

Expert Comment

by:ozo
ID: 40543679
which mail
0
 

Author Comment

by:celtician
ID: 40543688
I get this when executing that:

machine:username:/home/username/data$ which mail
/usr/bin/mail
0
 
LVL 84

Expert Comment

by:ozo
ID: 40543690
Then the "mail" function is available in /usr/bin
0
Industry Leaders: 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!

 

Author Comment

by:celtician
ID: 40543692
so, if i want to execute it from another location such as /usr/data/myscript.ksh, what do i need to do? do i need to declare it somehow in the script??
0
 
LVL 84

Expert Comment

by:Dave Baldwin
ID: 40543693
If the script on machine1 is sending thru a user that exists on machine1, the same user may not exist on machine2.  You may have to change the user that is sending the email on machine2.
0
 

Author Comment

by:celtician
ID: 40543694
in this case i would like to send directly from machine2, not making the call from machine1
0
 
LVL 84

Expert Comment

by:Dave Baldwin
ID: 40543699
Can you post your script that sends the email, at least that part of the script?  You can hide or obscure the email address you are using.
0
 

Author Comment

by:celtician
ID: 40543701
sure, it works perfectly on machine1, but not on machine2

#!/bin/ksh

MAIL_FILE="testfile.txt"

rm -f $MAIL_FILE



echo "From:ScriptTesol" > $MAIL_FILE
echo "To:Me LastName <mail@mycompany.com>" >> $MAIL_FILE
echo "Subject:Test eMail" >> $MAIL_FILE
echo "Content-Type: text/html" >> $MAIL_FILE
echo "<html>" >> $MAIL_FILE
echo "<body style='font-family:calibri;font-size:14px;'>" >> $MAIL_FILE
echo "<h2> Test email h2 </h2>" >> $MAIL_FILE


cat $MAIL_FILE|mail me@mycompany.com
0
 
LVL 84

Expert Comment

by:ozo
ID: 40543704
does
mail -v me@mycompany.com
report anything?
0
 
LVL 40

Accepted Solution

by:
omarfarid earned 2000 total points
ID: 40543705
You can always add the directories or folders that contain your commands files in PATH env variable, for example:

PATH=$PATH:/usr/bin ; export PATH

This will take care of it, or you can directly call the file by using its full path name in the script:

/usr/bin/mail
0
 

Author Comment

by:celtician
ID: 40543709
Whe doing mail -v me@mycompany.com i get:


mail: illegal option -- v
mail: Usage: [-ehpPqr] [-f file] [-x debuglevel]
or      [-tw] [-m message_type] [-T file] [-x debuglevel] persons
or      [-x debuglevel]
0
 
LVL 84

Expert Comment

by:ozo
ID: 40543712
I don't see me@mycompany.com as one of the options
what does
man mail
say?
0
 

Author Comment

by:celtician
ID: 40543720
In the funcion above the mail is being sent using that function and being set as parameter as its written.
0
 
LVL 84

Expert Comment

by:Dave Baldwin
ID: 40543726
I substituted 'sendmail' for 'mail'. Your script works perfectly sending to one email address and not at all sending to another one.  The mail server you are sending to or thru may make a difference also.
0

Featured Post

Free Tool: ZipGrep

ZipGrep is a utility that can list and search zip (.war, .ear, .jar, etc) archives for text patterns, without the need to extract the archive's contents.

One of a set of tools we're offering as a way to say thank you for being a part of the community.

Question has a verified solution.

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

Attention: This article will no longer be maintained. If you have any questions, please feel free to mail me. jgh@FreeBSD.org Please see http://www.freebsd.org/doc/en_US.ISO8859-1/articles/freebsd-update-server/ for the updated article. It is avail…
A metadevice consists of one or more devices (slices). It can be expanded by adding slices. Then, it can be grown to fill a larger space while the file system is in use. However, not all UNIX file systems (UFS) can be expanded this way. The conca…
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…
This video shows how to set up a shell script to accept a positional parameter when called, pass that to a SQL script, accept the output from the statement back and then manipulate it in the Shell.
Suggested Courses

730 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