* Alpine failed to read an encrypted password file if too many
[alpine.git] / imap / src / dmail / dmail.1
blob92cd894f42a77a9220021c904c97508598a3a69e
1 .ig
2  * ========================================================================
3  * Copyright 1988-2007 University of Washington
4  *
5  * Licensed under the Apache License, Version 2.0 (the "License");
6  * you may not use this file except in compliance with the License.
7  * You may obtain a copy of the License at
8  *
9  *     http://www.apache.org/licenses/LICENSE-2.0
10  *
11  * 
12  * ========================================================================
14 .TH DMAIL 1 "June 18, 2007"
15 .SH NAME
16 dmail \- procmail Mail Delivery Module
17 .nh
18 .SH SYNOPSIS
19 .B dmail
20 .I [\-D] [\-f from_name] [-s] [-k keyword_list] [user][+folder]
21 .SH DESCRIPTION
22 .I dmail
23 delivers mail to a user's INBOX or a designated folder.
24 .I dmail
25 may be configured as a drop-in replacement for
26 .IR binmail (1),
27 .IR mail.local (1)
28 for use with a mail delivery filter such as
29 .IR procmail (1) .
30 .PP
31 Because of security considerations (see below)
32 .I dmail
33 is not intended to be used for direct delivery by the mailer daemon;
34 .IR tmail (1)
35 is the preferred tool for this purpose.  If
36 .I dmail
37 is used for mailer daemon delivery, the mailer daemon must invoke
38 .I dmail
39 with the
40 .I dmail
41 process' user id set to the recipient's user id.
42 .PP
43 When
44 .I dmail
45 exits, it returns exit status values to enable
46 .IR procmail (1)
47 to determine whether a message was delivered successfully or had a
48 temporary (requeue for later delivery) or permanent (return to sender)
49 failure.
50 .PP
51 If the
52 .I user
53 name is present, it must be the same as the logged-in user name.
54 .PP
55 If the 
56 .I +folder
57 extension is included in the user argument (or appears by itself if there
58 is no user argument), 
59 .I dmail
60 will attempt to deliver to the designated folder.  If the folder does not 
61 exist or the extension is not included, the message is delivered to the 
62 user's INBOX.
63 If delivery is to INBOX and no INBOX currently exists,
64 .I dmail
65 will create a new INBOX.
66 .I dmail
67 recognizes the format of an existing INBOX or folder, and appends the new
68 message in that format.
69 .PP
70 The \fB-D\fR flag specifies debugging; this enables additional message
71 telemetry.
72 .PP
73 The \fB-f\fR or \fB-r\fR flag is used to specify a Return-Path.  The header
74 .br
75    Return-Path: <\fIfrom_name\fR> 
76 .br 
77 is prepended to the message before delivery.
78 .PP
79 The
80 .B -s
81 flag specifies that the message will be flagged as being "seen".
82 .PP
83 The \fB-k\fR flag is used to specify delivery keywords, which are set on
84 the message at delivery time if and
85 .B only
86 if the keywords are already defined in the mailbox.  Multiple keywords can be
87 specified by using a quoted string, e.g.,
88 .br
89    dmail -k "$Junk Discard" +junkbox
90 .br 
91 .SH RESTRICTIONS
92 Absolute pathnames and 
93 .I ~user
94 specifications are not permitted in
95 .I +folder
96 extensions.
97 .SH SECURITY CONSIDERATIONS
98 Unlike
99 .I tmail
100 you can use
101 .I dmail
102 to deliver to IMAP4 namespace names via
103 .I +folder
104 extensions.  This means that it is possible to deliver to
105 .IR mh (1)
106 format mailboxes.
108 However, this can also include such namespaces as #shared, #public,
109 and #ftp.  In most cases, it is undesirable to allow anybody sending
110 mail to the user to deliver to these namespaces.  Consequently, there
111 needs to be a rule in place in the configuration of either
112 .IR sendmail (8)
114 .IR procmail (1)
115 to prevent such abuse.
116 .SH AUTHOR
117 Mark Crispin, MRC@CAC.Washington.EDU
118 .SH "SEE ALSO"
119 binmail(1)
121 procmail(1)