1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
|
.\" $OpenBSD: forward.5,v 1.9 2015/03/13 22:41:54 eric Exp $
.\"
.\" Copyright (c) 2012 Gilles Chehade <gilles@poolp.org>
.\"
.\" Permission to use, copy, modify, and distribute this software for any
.\" purpose with or without fee is hereby granted, provided that the above
.\" copyright notice and this permission notice appear in all copies.
.\"
.\" THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES
.\" WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF
.\" MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR
.\" ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES
.\" WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN
.\" ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF
.\" OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
.\"
.Dd $Mdocdate: March 13 2015 $
.Dt FORWARD 5
.Os
.Sh NAME
.Nm forward
.Nd email forwarding information file
.Sh DESCRIPTION
Users may put a
.Nm .forward
file in their home directory.
If this file exists,
.Xr smtpd 8
forwards email to the destinations specified therein.
.Pp
A
.Nm .forward
file contains a list of expansion values, as described in
.Xr aliases 5 .
Each expansion value should be on a line by itself.
However, the
.Nm .forward
mechanism differs from the aliases mechanism in that it disallows
file inclusion
.Pq :include:
and it performs expansion under the user ID of the
.Nm .forward
file owner.
.Pp
Permissions on the
.Nm .forward
file are very strict and expansion is rejected if the file is
group or world-writable;
if the home directory is group writeable;
or if the file is not owned by the user.
.Pp
Users should avoid editing directly the
.Nm .forward
file to prevent delivery failures from occurring if a message
arrives while the file is not fully written.
The best option is to use a temporary file and use the
.Xr mv 1
command to atomically overwrite the former
.Nm .forward .
Alternatively, setting the
.Xr sticky 8
bit on the home directory will cause the
.Nm .forward
lookup to return a temporary failure, causing mails to be deferred.
.Sh FILES
.Bl -tag -width "~/.forwardXXX" -compact
.It Pa ~/.forward
Email forwarding information.
.El
.Sh EXAMPLES
The following file forwards mail to
.Dq user@example.com ,
and pipes the same mail to
.Dq examplemda .
.Bd -literal -offset indent
# empty lines are ignored
user@example.com # anything after # is ignored
"|/path/to/examplemda"
.Ed
.Sh SEE ALSO
.Xr aliases 5 ,
.Xr smtpd 8
|