1 MAIL(1) User Commands MAIL(1) 2 3 4 5 NAME 6 mail, rmail - read mail or send mail to users 7 8 SYNOPSIS 9 Sending Mail 10 mail [-tw] [-m message_type] recipient... 11 12 13 rmail [-tw] [-m message_type] recipient... 14 15 16 Reading Mail 17 mail [-ehpPqr] [-f file] 18 19 20 Debugging 21 mail [-x debug_level] [other_mail_options] recipient... 22 23 24 DESCRIPTION 25 A recipient is usually a domain style address ("user@machine") or a 26 user name recognized by login(1). When recipients are named, mail 27 assumes a message is being sent. It reads from the standard input up to 28 an end-of-file (Control-d) or, if reading from a terminal device, until 29 it reads a line consisting of just a period. When either of those 30 indicators is received, mail adds the letter to the mailfile for each 31 recipient. 32 33 34 A letter is composed of some header lines followed by a blank line 35 followed by the message content. The header lines section of the letter 36 consists of one or more UNIX postmarks: 37 38 From sender date_and_time [remote from remote_system_name] 39 40 41 42 43 followed by one or more standardized message header lines of the form: 44 45 keyword-name: [printable text] 46 47 48 49 50 where keyword-name is comprised of any printable, non-whitespace 51 characters other than colon (`:'). A MIME-version: header line 52 indicates that the message is formatted as described in RFC 2045. A 53 Content-Length: header line, indicating the number of bytes in the 54 message content, is always present unless the letter consists of only 55 header lines with no message content. A Content-Type: header line that 56 describes the type of the message content (such as text/plain, 57 application/octet-stream, and so on) is also present, unless the letter 58 consists of only header lines with no message content. Header lines may 59 be continued on the following line if that line starts with white 60 space. 61 62 OPTIONS 63 Sending Mail 64 The following command-line arguments affect sending mail: 65 66 -m message_type 67 A Message-Type: line is added to the message header 68 with the value of message_type. 69 70 71 -t 72 A To: line is added to the message header for each 73 of the intended recipients. 74 75 76 -w 77 A letter is sent to a remote recipient without 78 waiting for the completion of the remote transfer 79 program. 80 81 82 83 If a letter is found to be undeliverable, it is returned to the sender 84 with diagnostics that indicate the location and nature of the failure. 85 If mail is interrupted during input, the message is saved in the file 86 dead.letter to allow editing and resending. dead.letter is always 87 appended to, thus preserving any previous contents. The initial attempt 88 to append to (or create) dead.letter is in the current directory. If 89 this fails, dead.letter is appended to (or created in) the user's login 90 directory. If the second attempt also fails, no dead.letter processing 91 is done. 92 93 94 rmail only permits the sending of mail; uucp(1C) uses rmail as a 95 security precaution. Any application programs that generate mail 96 messages should be sure to invoke rmail rather than mail for message 97 transport and/or delivery. 98 99 100 If the local system has the Basic Networking Utilities installed, mail 101 can be sent to a recipient on a remote system. There are numerous ways 102 to address mail to recipients on remote systems depending on the 103 transport mechanisms available to the local system. The two most 104 prevalent addressing schemes are Domain-style and UUCP-style. 105 106 Domain-style addressing 107 Remote recipients are specified by appending 108 an `@' and domain (and possibly sub-domain) 109 information to the recipient name (such as 110 user@sf.att.com). (The local system 111 administrator should be consulted for 112 details on which addressing conventions are 113 available on the local system.) 114 115 116 UUCP-style addressing 117 Remote recipients are specified by prefixing 118 the recipient name with the remote system 119 name and an exclamation point, such as 120 sysa!user. If csh(1) is the default shell, 121 sysa\!user should be used. A series of 122 system names separated by exclamation points 123 can be used to direct a letter through an 124 extended network (such as 125 sysa!sysb!sysc!user or 126 sysa\!sysb\!sysc\!user). 127 128 129 Reading Mail 130 The following command-line arguments affect reading mail: 131 132 -e 133 Test for the presence of mail. mail prints nothing. 134 135 An exit status of 0 is returned if the user has mail. 136 Otherwise, an exit status of 1 is returned. 137 138 139 -E 140 Similar to -e, but tests only for the presence of new mail. 141 142 An exit status of 0 is returned if the user has new 143 mail to read, an exit status of 1 is returned if the 144 user has no mail, or an exit status of 2 is returned 145 if the user has mail which has already been read. 146 147 148 -h 149 A window of headers are initially displayed rather than the 150 latest message. The display is followed by the ? prompt. 151 152 153 -p 154 All messages are printed without prompting for disposition. 155 156 157 -P 158 All messages are printed with all header lines displayed, 159 rather than the default selective header line display. 160 161 162 -q 163 mail terminates after interrupts. Normally an interrupt 164 causes only the termination of the message being printed. 165 166 167 -r 168 Messages are printed in first-in, first-out order. 169 170 171 -f file 172 mail uses file (such as mbox) instead of the default 173 mailfile. 174 175 176 177 mail, unless otherwise influenced by command-line arguments, prints a 178 user's mail messages in last-in, first-out order. The default mode for 179 printing messages is to display only those header lines of immediate 180 interest. These include, but are not limited to, the UNIX From and 181 >From postmarks, From:, Date:, Subject:, and Content-Length: header 182 lines, and any recipient header lines such as To:, Cc:, Bcc:, and so 183 forth. After the header lines have been displayed, mail displays the 184 contents (body) of the message only if it contains no unprintable 185 characters. Otherwise, mail issues a warning statement about the 186 message having binary content and not display the content. This can be 187 overridden by means of the p command. 188 189 190 For each message, the user is prompted with a ? and a line is read from 191 the standard input. The following commands are available to determine 192 the disposition of the message: 193 194 # 195 Print the number of the current message. 196 197 198 - 199 Print previous message. 200 201 202 <new-line>,+, or n 203 Print the next message. 204 205 206 !command 207 Escape to the shell to do command. 208 209 210 a 211 Print message that arrived during the mail 212 session. 213 214 215 d, or dp 216 Delete the current message and print the next 217 message. 218 219 220 d n 221 Delete message number n. Do not go on to next 222 message. 223 224 225 dq 226 Delete message and quit mail. 227 228 229 h 230 Display a window of headers around current 231 message. 232 233 234 hn 235 Display a window of headers around message number 236 n. 237 238 239 h a 240 Display headers of all messages in the user's 241 mailfile. 242 243 244 h d 245 Display headers of messages scheduled for 246 deletion. 247 248 249 m [ persons ] 250 Mail (and delete) the current message to the 251 named persons. 252 253 254 n 255 Print message number n. 256 257 258 p 259 Print current message again, overriding any 260 indications of binary (that is, unprintable) 261 content. 262 263 264 P 265 Override default brief mode and print current 266 message again, displaying all header lines. 267 268 269 q, or Control-d 270 Put undeleted mail back in the mailfile and quit 271 mail. 272 273 274 r [ users ] 275 Reply to the sender, and other users, then delete 276 the message. 277 278 279 s [ files ] 280 Save message in the named files (mbox is default) 281 and delete the message. 282 283 284 u [ n ] 285 Undelete message number n (default is last read). 286 287 288 w [ files ] 289 Save message contents, without any header lines, 290 in the named files (mbox is default) and delete 291 the message. 292 293 294 x 295 Put all mail back in the mailfile unchanged and 296 exit mail. 297 298 299 y [ files ] 300 Same as -w option. 301 302 303 ? 304 Print a command summary. 305 306 307 308 When a user logs in, the presence of mail, if any, is usually 309 indicated. Also, notification is made if new mail arrives while using 310 mail. 311 312 313 The permissions of mailfile can be manipulated using chmod(1) in two 314 ways to alter the function of mail. The other permissions of the file 315 can be read-write (0666), read-only (0664), or neither read nor write 316 (0660) to allow different levels of privacy. If changed to other than 317 the default (mode 0660), the file is preserved even when empty to 318 perpetuate the desired permissions. (The administrator can override 319 this file preservation using the DEL_EMPTY_MAILFILE option of 320 mailcnfg.) 321 322 323 The group ID of the mailfile must be mail to allow new messages to be 324 delivered, and the mailfile must be writable by group mail. 325 326 Debugging 327 The following command-line arguments cause mail to provide debugging 328 information: 329 330 -x debug_level 331 mail creates a trace file containing debugging 332 information. 333 334 335 336 The -x option causes mail to create a file named /tmp/MLDBGprocess_id 337 that contains debugging information relating to how mail processed the 338 current message. The absolute value of debug_level controls the 339 verboseness of the debug information. 0 implies no debugging. If 340 debug_level is greater than 0, the debug file is retained only if mail 341 encountered some problem while processing the message. If debug_level 342 is less than 0, the debug file is always be retained. The debug_level 343 specified via -x overrides any specification of DEBUG in 344 /etc/mail/mailcnfg. The information provided by the -x option is 345 esoteric and is probably only useful to system administrators. 346 347 Delivery Notification 348 Several forms of notification are available for mail by including one 349 of the following lines in the message header. 350 351 352 Transport-Options: [ /options ] 353 354 355 Default-Options: [ /options ] 356 357 358 >To: recipient [ /options ] 359 360 361 Where the "/options" can be one or more of the following: 362 363 /delivery 364 Inform the sender that the message was successfully 365 delivered to the recipient's mailbox. 366 367 368 /nodelivery 369 Do not inform the sender of successful deliveries. 370 371 372 /ignore 373 Do not inform the sender of failed deliveries. 374 375 376 /return 377 Inform the sender if mail delivery fails. Return the 378 failed message to the sender. 379 380 381 /report 382 Same as /return except that the original message is not 383 returned. 384 385 386 387 The default is /nodelivery/return. If contradictory options are used, 388 the first is recognized and later, conflicting, terms are ignored. 389 390 OPERANDS 391 The following operand is supported for sending mail: 392 393 recipient 394 A domain style address ("user@machine") or user login name 395 recognized by login(1). 396 397 398 USAGE 399 See largefile(5) for the description of the behavior of mail and rmail 400 when encountering files greater than or equal to 2 Gbyte ( 2^31 bytes). 401 402 ENVIRONMENT VARIABLES 403 See environ(5) for descriptions of the following environment variables 404 that affect the execution of mail: LC_CTYPE, LC_MESSAGES, and NLSPATH. 405 406 TZ 407 Determine the timezone used with date and time strings. 408 409 410 EXIT STATUS 411 The following exit values are returned: 412 413 0 414 Successful completion when the user had mail. 415 416 417 1 418 The user had no mail or an initialization error occurred. 419 420 421 >1 422 An error occurred after initialization. 423 424 425 FILES 426 dead.letter 427 unmailable text 428 429 430 /etc/passwd 431 to identify sender and locate recipients 432 433 434 $HOME/mbox 435 saved mail 436 437 438 $MAIL 439 variable containing path name of mailfile 440 441 442 /tmp/MLDBG* 443 debug trace file 444 445 446 /var/mail/*.lock 447 lock for mail directory 448 449 450 /var/mail/:saved 451 directory for holding temp files to prevent loss of 452 data in the event of a system crash 453 454 455 /var/mail/user 456 incoming mail for user; that is, the mailfile 457 458 459 /var/tmp/ma* 460 temporary file 461 462 463 SEE ALSO 464 chmod(1), csh(1), login(1), mailx(1), uucp(1C), uuencode(1C), 465 vacation(1), write(1), attributes(5), environ(5), largefile(5) 466 467 468 Solaris Advanced User's Guide 469 470 NOTES 471 The interpretation and resulting action taken because of the header 472 lines described in the Delivery Notifications section only occur if 473 this version of mail is installed on the system where the delivery (or 474 failure) happens. Earlier versions of mail might not support any types 475 of delivery notification. 476 477 478 Conditions sometimes result in a failure to remove a lock file. 479 480 481 After an interrupt, the next message might not be printed. Printing can 482 be forced by typing a p. 483 484 485 486 May 17, 2020 MAIL(1)