FreeBSD - Tutorials, Security
Home   Archives   Sitemap   About   Contact

How to change Environment Variable $MAIL on FreeBSD box

Home NEW! Unix Forum News 100 Tips and Tricks Website Development Server Operating Systems Databases
 Ivorde.ROarrow Server Operating Systems arrowAdministration GuidesarrowHow to change Environment Variable $MAIL on FreeBSD box 

Article Sections

    Hello, Guest !
User name:
Password:
 
Google

 SSD VPS Hosting - Vpsie.com
 Mo.nitor.me
 Ivorde forum
 FreeBSD Tutorials
 Linux LVM Commands
 Free Shell Accounts
 FreeBSD Project
 FreeBSD Handbook
 Advanced Bash-Scripting Guide
 The OpenBSD Project
 Distrowatch
 FreeBSD Handbook


Apache Webserver Home Page

Posted on: 17 Oct 2007
Author: real_mc
Section: Server Operating Systems | Administration Guides
Views: 871
Comments: 0 (Add)

How to change Environment Variable $MAIL on FreeBSD box
Tired of "You have new mail in /var/mail/root (or other user)" messages on your FreeBSD box's shell prompt ?? Well this is how to change your environment variable $MAIL.

 



Environment variables are a set of values on which the way of your system's processes and well functioning depend on. They are stored in the shell’s environment space and they are used by processes to know binaries paths, application paths, values of variables that they will use, etc. This space can be used by any program invoked by the shell, and thus contains a lot of program configuration. FreeBSD (and Linux/AIX/HP-UX/Solaris/UNIX) process use environment variable for different purposes (SAP, Oracle, cron, etc). Running processes can access the values of environment variables for configuration purposes.
Here are some examples:

$ echo $PATH
/sbin:/bin:/usr/sbin:/usr/bin:/usr/games:/usr/local/sbin:/usr/local/bin:/usr/X11R6/bin:/root/bin
$ echo $MAIL
/var/mail/root
$ echo $SHELL
/usr/local/bin/bash

Or you can just type set at the shell prompt and you will see all environment variables and all variables that you have set for your user.

Some environment variables are stored in /etc/profile, others in your ~/.profile file (overwrites /etc/profile), others in /etc/login.conf file.

In this case we will discuss how to change your $MAIL variable from /var/mail/root to what_ever@you_want.com or how you can change it for some other user (in case you are root).

I wanted to change my FreeBSD box's root's email which is the variable $MAIL, held in /etc/login.conf file. First thing to do is to check the login class for user root (of course, it's not set and it is default one, cat /etc/passwd|grep root | awk -F":" '{print $5}' = "")

[apophis:root:~]# pw user show root
root:*:0:0::0:0:host &:/root:/usr/local/bin/bash

The login class for root is the default one (5th field is empty). Next we open /etc/login.conf (which contains various attributes and capabilities for users and login classes ) with your favourite editor (my case, vim ) and see that for default: class we have:

default:
:passwd_format=md5:
:copyright=/etc/COPYRIGHT:
:welcome=/etc/motd:
:setenv=MAIL=/var/mail/$,BLOCKSIZE=K,FTP_PASSIVE_MODE=YES: #THIS IS WHAT IS INTERESTING FOR US
:path=/sbin /bin /usr/sbin /usr/bin /usr/games /usr/local/sbin /usr/local/bin /usr/X11R6/bin
~/bin:
:nologin=/var/run/nologin:
:cputime=unlimited:
:datasize=unlimited:
:stacksize=unlimited:
:memorylocked=unlimited:
:memoryuse=unlimited:
:filesize=unlimited:
:coredumpsize=unlimited:
:openfiles=unlimited:
:maxproc=unlimited:
:sbsize=unlimited:
:vmemoryuse=unlimited:
:priority=0:
:ignoretime@:
:umask=022:

MAIL=/var/mail/$ means that for default login class, all users that have this login class set have their mail set to /var/mail/user uneless otherwise specified (as below). Next we go to root: section and modify it to be similar to this:

root:
:ignorenologin:
:setenv=MAIL=something@anything.com,BLOCKSIZE=K,FTP_PASSIVE_MODE=YES: ###We modify this line
:tc=default:

Basically we modifed :setenv=MAIL=/var/mail/$ to :setenv=MAIL=something@anything.com. Exit your editor and save your changes (:x for vi/vim).

Now, at the shell prompt type the following command to create /etc/login.conf.db from /etc/login.conf:

$ cap_mkdb /etc/login.conf

Now you can logout and log back in and issue again the command echo $MAIL and you will see the change.

Hope this helped. Comments are welcome.
Also see Take advantage of Unix Environment Variables when performing backups or restore points

Bookmarks: Echo "How to change Environment Variable $MAIL on FreeBSD box" around:
del.icio.usdiggFurlYahooMyWebGoogleBookmarksFaceBookTechnocratti
-------------------advertising-----------------

Other articles in Server Operating Systems / Administration Guides
» Take advantage of Unix Environment Variables when performing backups or restore points
» How to fix "ksh: scp: not found. lost connection" error on AIX
» Secure Unix shell account with auto-logout after seconds of inactivity - Idle TMOUT
» Set the timezone in FreeBSD OS - How To
» Change user shell on FreeBSD Linux and AIX




Contact webmaster regarding this article
Register or Login to post your article
Hello, Guest ! You can Login or Register to www.ivorde.ro!

 Post comment:

Name:
Title:
Comment:
Please type the word you see in the image (anti-spam verification). Refresh the page if you don't understand the word.
Allowed HTML Tags for comments:<p><strong><em><u><h1><h2><h3><h4><h5><h6><img><li>
<ol><ul><span><div><br><ins><del>

0 comment(s) to How to change Environment Variable $MAIL on FreeBSD box:

   Latest topics on the forum:
 
   Most viewed articles:
How to copy a mysql database using mysqldump - 10087 views
How to change a user's password in AIX with the output from ECHO command - 9286 views
FreeBSD: Add/remove an additional IP alias - 6453 views
Qmail relay to smarthost: How to route all mail to a smarthost - 4364 views
Change user shell on FreeBSD Linux and AIX - 3118 views

   Latest 10 articles:
Qmail relay to smarthost: How to route all mail to a smarthost - 03 Feb 2009
EXIM 4 relay to smarthost: How to route all mail except local domain - 03 Feb 2009
Windows XP: print LISTEN ports and network connections using netstat - 30 Jan 2009
How to cut out first last n characters from each file name, from a filelist - 04 Nov 2008
Mozilla Firefox3 is now released - 18 Jun 2008
How to switch lower case to upper case and upper case to lower case in a string - 17 Jun 2008
How to rename files/directories to uppercase/lowercase character names - 17 Jun 2008
How to convert lower case to upper case letters in a shell script/command - 17 Jun 2008
Unix,Linux,FreeBSD - How to rename a list of files, replacing spaces inside their names - 12 Jun 2008
How to change a user's password in AIX with the output from ECHO command - 21 May 2008


Archives
» 2007  |  June  |  October  |  November  |  December
» 2008  |  January  |  February  |  March  |  April  |  May  |  June  |  November
» 2009  |  January  |  February



Home | Archives | Sitemap | About | Contact

Designed and developed by Andrei Manescu. Optimized for Mozilla Firefox.  
Copyright 2007 Andrei Manescu
All trademarks and copyrights on this page are owned by their respective owners. Comments are owned by those who posted them.
Valid W3 Document Valid XHTML 1.0 Transitional Valid CSS! The FreeBSD Project Viewable With Any Browser