Skip site navigation (1)Skip section navigation (2)

FreeBSD Manual Pages

  
 
  

home | help
TMAIL(1)		    General Commands Manual		      TMAIL(1)

NAME
       tmail - Mail Delivery Module

SYNOPSIS
       tmail   [-b   format]   [-D]   [-f   from_name]	 [-I  inbox_specifier]
       user[+folder] ...

DESCRIPTION
       tmail delivers mail to a	user's INBOX or	a  designated  folder.	 tmail
       may   be	  configured   as   a	drop-in	 replacement  for  binmail(1),
       mail.local(1) or	any program intended for use for mail  delivery	 by  a
       mail delivery program such as sendmail(8).

       tmail  is intended to be	used for direct	delivery by the	mailer daemon;
       dmail(1)	is the preferred tool  for  user  applications,	 e.g.  a  mail
       delivery	 filter	 such  as  procmail(1).	  If  tmail is used for	a user
       application, then the calling program must be aware of the restrictions
       noted below.

       When tmail exits, it returns exit status	 values	 to  enable  the  mail
       delivery	  program   to	determine  whether  a  message	was  delivered
       successfully or	had  a	temporary  (requeue  for  later	 delivery)  or
       permanent (return to sender) failure.

       If  the	+folder	extension is included in the user argument, tmail will
       attempt to deliver to the designated folder.  If	the  folder  does  not
       exist or	the extension is not included, the message is delivered	to the
       user's  INBOX.	If delivery is to INBOX	and no INBOX currently exists,
       tmail will create a new INBOX, using the	-I or -b  flag	if  specified.
       tmail recognizes	the format of an existing INBOX	or folder, and appends
       the new message in that format.

       The  -b	flag  specifies	 a  format  to	create INBOX if	INBOX does not
       already exist.  This flag requires privileges, and can not be used with
       -I.  The	argument is a format name such as mix, mbx, etc.

       The -D  flag  specifies	debugging;  this  enables  additional  message
       telemetry.

       The  -f	or  -r	flag is	used by	the mail delivery program to specify a
       Return-Path.  The header
	  Return-Path: <from_name>
       is prepended to the message before delivery.

       The -I flag is  used  by	 the  mail  delivery  program  to  specify  an
       alternative  INBOX name.	 This flag requires privileges,	and can	not be
       used with -b.  This affects the	location  and  format  of  INBOX.   If
       specified, it should be in one of three forms:

       The  first form of argument to -I is the	string "INBOX",	which means to
       write to	the system default inbox  using	 the  system  default  mailbox
       format.	These system defaults are defined when the c-client library is
       built.

       The  second  form  of  argument	to  -I	is  a  delivery	specification,
       consisting of "#driver.", a c-client mailbox format driver  name,  "/",
       and  a  file  name.   This  will	 write	to  the	 specified file	in the
       specified format.  For example, #driver.mbx/INBOX will  write  to  file
       "INBOX"	  in	the    home    directory    in	  mbx	 format;   and
       #driver.unix/mail/incoming will write to	file "incoming"	in the	user's
       "mail" subdirectory in unix (default UNIX) format.

       The  third  form	 of  argument to -I is any other name.	Normally, this
       will write to the specified file	on the user's home  directory  in  the
       specified format.  However, certain names are special.  These are:

	 value	     equivalant	to
	 -----	     -------------
	 INBOX.MTX   #driver.mtx/INBOX.MTX
	 mbox	     #driver.unix/mbox
	 mail.txt    #driver.tenex/mail.txt

       If -I is	not specified, the default action is -I	INBOX.

       If  multiple recipients are specified on	the command line, tmail	spawns
       one child process per recipient to perform actual delivery.   This  way
       of calling tmail	is not recommended; see	below under RESTRICTIONS.

INSTALLATION
       If  tmail  is  to  be  used  for	 mail  delivery	from the mail delivery
       program,	it must	be installed setuid root.

       If sendmail is  the  mail  delivery  program,  tmail  is	 invoked  from
       sendmail.cf.   Look for the "Mlocal" line, and substitute the path name
       for the tmail binary in place of	/bin/mail,  /usr/lib/mail.local,  etc.
       You  should also	add the	flag to	invoke tmail with CRLF style newlines;
       this is usually done with E=\r\n	in the Mlocal line.

       Here is an example of an	Mlocal line in sendmail	version	8:

       Mlocal, P=/usr/local/etc/tmail, F=lsDFMAw5:/|@qPrn+,
	 S=10/30, R=20/40, E=\r\n, T=DNS/RFC822/X-Unix,
	 A=tmail $u

       If tmail	is to be called	with the -I flag, it must be invoked with both
       real and	effective UID root.  Many sendmail configurations  invoke  the
       local  mailer  as  the sending user when	that user is local, which will
       prevent -b or -I	from working.

SECURITY CONSIDERATIONS
       If tmail	is invoked by an ordinary user,	the Received: header line will
       indicate	the name or UID	of the user that invoked it.

       Ordinary	users are not permitted	 to  use  the  -b  or  -I  flag	 since
       otherwise a user	could create any file on another user's	directory.

       tmail  can deliver mail to home directories.  In	addition, tmail	can be
       used to deliver mail to other mail folders in a home  directory	or  an
       inferior	directory of a home directory.

RESTRICTIONS
       The  calling  program should invoke tmail with CRLF newlines, otherwise
       tmail will complain in syslog.

       Absolute	pathnames  and	~user  specifications  are  not	 permitted  in
       +folder extensions.

       Ordinary	users are not permitted	to use the -I flag.

       IMAP4 namespace names are not yet supported in +folder extensions.

       It is not possible to use tmail to deliver to mh(1) format mailboxes.

       If  delivery  to	multiple users is specified and	delivery to any	single
       user fails, the entire delivery will be reported	as having failed, even
       though delivery to other	users may have succeeded.  If  tmail  is  used
       for  mail delivery from sendmail(8), a separate tmail invocation	should
       be done for each	user.  Otherwise a delivery failure for	a single  user
       in  a message going to multiple users will cause	multiple deliveries to
       all the other users every time sendmail(8), retries.

AUTHOR
       Mark Crispin, MRC@CAC.Washington.EDU

SEE ALSO
       binmail(1)
       sendmail(8)

			      September	27, 2007		      TMAIL(1)

Want to link to this manual page? Use this URL:
<https://man.freebsd.org/cgi/man.cgi?query=tmail&sektion=1&manpath=FreeBSD+Ports+14.3.quarterly>

home | help