---
name: "dmail"
section: "1"
platform: "linux"
package: "uw-mailutils"
version: "8:2007f~dfsg-7+b2"
release: "Debian 12 (Bookworm)"
platforms: ["linux"]
url: "https://new.carta.tech/dmail"
---

# dmail(1)

procmail Mail Delivery Module

## NAME

dmail - procmail Mail Delivery Module

## SYNOPSIS

**dmail** *\[-D\] \[-f from\_name\] \[-s\] \[-k keyword\_list\] \[user\]\[+folder\]*

## DESCRIPTION

*dmail* delivers mail to a user's INBOX or a designated folder. *dmail* may be configured as a drop-in replacement for *binmail*(1), [*mail.local*(1)](/mail.local/1.md) for use with a mail delivery filter such as [*procmail*(1)](/procmail/1.md)*.*

Because of security considerations (see below) *dmail* is not intended to be used for direct delivery by the mailer daemon; [*tmail*(1)](/tmail/1.md) is the preferred tool for this purpose.  If *dmail* is used for mailer daemon delivery, the mailer daemon must invoke *dmail* with the *dmail* process' user id set to the recipient's user id.

When *dmail* exits, it returns exit status values to enable [*procmail*(1)](/procmail/1.md) to determine whether a message was delivered successfully or had a temporary (requeue for later delivery) or permanent (return to sender) failure.

If the *user* name is present, it must be the same as the logged-in user name.

If the  *+folder* extension is included in the user argument (or appears by itself if there is no user argument),  *dmail* 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, *dmail* will create a new INBOX. *dmail* recognizes the format of an existing INBOX or folder, and appends the new message in that format.

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

The **-f** or **-r** flag is used to specify a Return-Path.  The header\
\
    Return-Path: \<*from\_name*\> \
 is prepended to the message before delivery.

The **-s** flag specifies that the message will be flagged as being "seen".

The **-k** flag is used to specify delivery keywords, which are set on the message at delivery time if and **only** if the keywords are already defined in the mailbox.  Multiple keywords can be specified by using a quoted string, e.g.,\
\
    dmail -k "$Junk Discard" +junkbox\

## RESTRICTIONS

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

## SECURITY CONSIDERATIONS

Unlike *tmail* you can use *dmail* to deliver to IMAP4 namespace names via *+folder* extensions.  This means that it is possible to deliver to [*mh*(1)](/mh/1.md) format mailboxes.

However, this can also include such namespaces as #shared, #public, and #ftp.  In most cases, it is undesirable to allow anybody sending mail to the user to deliver to these namespaces.  Consequently, there needs to be a rule in place in the configuration of either [*sendmail*(8)](/sendmail/8.md) or [*procmail*(1)](/procmail/1.md) to prevent such abuse.

## AUTHOR

Mark Crispin, MRC@CAC.Washington.EDU

## SEE ALSO

binmail(1)\
 [procmail(1)](/procmail/1.md)
