[Webinar] Streamline your web hosting managementRegister Today

x
  • Status: Solved
  • Priority: Medium
  • Security: Public
  • Views: 148
  • Last Modified:

Finding out if "mail" function is availabe

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
celtician
Asked:
celtician
  • 6
  • 4
  • 3
  • +1
1 Solution
 
ozoCommented:
which mail
0
 
celticianAuthor Commented:
I get this when executing that:

machine:username:/home/username/data$ which mail
/usr/bin/mail
0
 
ozoCommented:
Then the "mail" function is available in /usr/bin
0
[Webinar] Kill tickets & tabs using PowerShell

Are you tired of cycling through the same browser tabs everyday to close the same repetitive tickets? In this webinar JumpCloud will show how you can leverage RESTful APIs to build your own PowerShell modules to kill tickets & tabs using the PowerShell command Invoke-RestMethod.

 
celticianAuthor Commented:
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
 
Dave BaldwinFixer of ProblemsCommented:
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
 
celticianAuthor Commented:
in this case i would like to send directly from machine2, not making the call from machine1
0
 
Dave BaldwinFixer of ProblemsCommented:
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
 
celticianAuthor Commented:
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
 
ozoCommented:
does
mail -v me@mycompany.com
report anything?
0
 
omarfaridCommented:
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
 
celticianAuthor Commented:
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
 
ozoCommented:
I don't see me@mycompany.com as one of the options
what does
man mail
say?
0
 
celticianAuthor Commented:
In the funcion above the mail is being sent using that function and being set as parameter as its written.
0
 
Dave BaldwinFixer of ProblemsCommented:
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: SSL Checker

Scans your site and returns information about your SSL implementation and certificate. Helpful for debugging and validating your SSL configuration.

One of a set of tools we are providing to everyone as a way of saying thank you for being a part of the community.

  • 6
  • 4
  • 3
  • +1
Tackle projects and never again get stuck behind a technical roadblock.
Join Now