Set sender name in mail function

The option -a populates the header.

quick command:

mail -a FROM:[email protected] [email protected]

long command

mail --append="FROM:[email protected]" [email protected]

 Usage: mail [OPTION...] [address...]

  -a, --append=HEADER: VALUE     append given header to 
                                 the message being sent

  -A, --attach=FILE              attach FILE
      --content-type=TYPE        set content type for 
                                 subsequent --attach options

  -e, --exist                    return true if mail exists
      --encoding=NAME            set encoding for subsequent 
                                 --attach options

  -E, --exec=COMMAND             execute COMMAND

  -F, --byname                   save messages according to sender

  -H, --headers                  write a header summary and exit

  -i, --ignore                   ignore interrupts

  -n, --norc                     do not read the system mailrc file

  -N, --nosum                    do not display initial header summary

  -p, --print, --read            print all mail to standard output

  -q, --quit                     cause interrupts to terminate program

  -r, --return-address=ADDRESS   use address as the return address 
                                 when sending mail

  -s, --subject=SUBJ             send a message with the given SUBJECT

  -t, --to                       precede message by a list of addresses

  -u, --user=USER                operate on USER's mailbox

Common options

  --config-file=FILE, --rcfile=FILE
                         load this configuration file

  --config-help          show configuration file summary

  --config-lint, --rcfile-lint
                         check configuration file syntax and exit

  --config-verbose, --rcfile-verbose
                         verbosely log parsing of the configuration files

  --no-site-config, --no-site-rcfile
                         do not load site configuration file

  --no-user-config, --no-user-rcfile
                         do not load user configuration file

  --set=PARAM=VALUE      set configuration parameter

  --show-config-options  show compilation options

Global debugging settings

--debug-level=LEVEL    set Mailutils debugging level

--debug-line-info      show source info with debugging messages

-?, --help             give this help list
    --usage            give a short usage message

-V, --version          print program version

Mandatory or optional arguments to long options are also mandatory or optional for any corresponding short options.


Try this:

mail -s 'Some Subject' -r 'First Last <[email protected]>' [email protected]

This sets both From: and the envelope sender.


That depends which mail client you are using. Some Linux distributions link to mailx where you can use the -r from-addr parameter.

If you have mutt you should be able to use mutt -e "set from='name <name@somewhere>'>.

Other distributions which have the mail command should be able to use echo "test"|mail -s "subject" [email protected] -- -f from@address.