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

 SATELLITE INTERNET
 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

Blog, intrebari si raspunsuri despre Leasing

Posted on: 17 Oct 2007
Author: real_mc
Section: Server Operating Systems | Administration Guides
Views: 277
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
» Set up HTTP PROXY via command line in Linux/FreeBSD




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.
Verification code
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:
Nginx + php-fpm setting php upload_max_filesize and other php values per vhost
Mysql> how to store select Zulu / UTC timestamp in database
Quagga ospf neighbour stuck in ExStart/DROther state
How to disable anonymous access in samba 3
"checking for libnet_build_ip in -lnet... no"+"ERROR! Libnet library not found"
CentOS Install Nemesis packet crafting tool + Libnet
Using curl to get the HTTP response from an HTTP server
Mdadm - Linux software RAID
Linux - Unable to login (and authentication succeeds) - File size limit exceeded
Linux/FreeBSD how to check ntp time synchronization
 
   Most viewed articles:
How to remove first/last character from a string using SED - 6818 views
How to clear/reset DNS cache on Windows XP / Linux - 4477 views
Reloading /etc/profile - how to reload Unix /etc/profile - 4447 views
How to calculate difference in days between two dates in MySQL - 4405 views
Set up HTTP PROXY via command line in Linux/FreeBSD - 3685 views

   Latest 10 articles:
FreeBSD - Collect installed hard disk drive information - 19 Mar 2009
Set up FTP PROXY via command line in Linux/FreeBSD - 19 Mar 2009
Set up HTTP PROXY via command line in Linux/FreeBSD - 19 Mar 2009
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
qmail qmail-scanner/clamav qmail-inject: fatal: qq temporary problem / clamdscan: corrupt or unknown clamd scanner error or memory/resource/perms problem - exit status 512/2 - 05 Dec 2008
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


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



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