summaryrefslogtreecommitdiffstats
path: root/src/local
diff options
context:
space:
mode:
Diffstat (limited to 'src/local')
-rw-r--r--src/local/command.c5
-rw-r--r--src/local/local.c31
2 files changed, 22 insertions, 14 deletions
diff --git a/src/local/command.c b/src/local/command.c
index 4781daf..368307d 100644
--- a/src/local/command.c
+++ b/src/local/command.c
@@ -17,7 +17,8 @@
/* Duplicate commands for the same recipient are suppressed.
/* A limited amount of information is exported via the environment:
/* HOME, SHELL, LOGNAME, USER, EXTENSION, DOMAIN, RECIPIENT (entire
-/* address) LOCAL (just the local part) and SENDER. The exported
+/* address) LOCAL (just the local part), SENDER, and ENVID
+/* (see RFC 3461). The exported
/* information is censored with var_cmd_filter.
/*
/* Arguments:
@@ -169,6 +170,8 @@ int deliver_command(LOCAL_STATE state, USER_ATTR usr_attr, const char *comma
if (state.msg_attr.rcpt.orig_addr && state.msg_attr.rcpt.orig_addr[0])
argv_add(env, "ORIGINAL_RECIPIENT", state.msg_attr.rcpt.orig_addr,
ARGV_END);
+ if (state.request->dsn_envid[0])
+ argv_add(env, "ENVID", state.request->dsn_envid, ARGV_END);
#define EXPORT_REQUEST(name, value) \
if ((value)[0]) argv_add(env, (name), (value), ARGV_END);
diff --git a/src/local/local.c b/src/local/local.c
index 32bdea7..10b8082 100644
--- a/src/local/local.c
+++ b/src/local/local.c
@@ -207,27 +207,30 @@
/* is specified with the \fBcommand_expansion_filter\fR configuration
/* parameter.
/* .IP \fBSHELL\fR
-/* The recipient user's login shell.
+/* The envelope recipient user's login shell.
/* .IP \fBHOME\fR
-/* The recipient user's home directory.
+/* The envelope recipient user's home directory.
/* .IP \fBUSER\fR
-/* The bare recipient name.
+/* The bare envelope recipient name.
/* .IP \fBEXTENSION\fR
-/* The optional recipient address extension.
+/* The optional envelope recipient address extension.
/* .IP \fBDOMAIN\fR
-/* The recipient address domain part.
+/* The envelope recipient address domain part.
/* .IP \fBLOGNAME\fR
-/* The bare recipient name.
+/* The bare envelope recipient name.
/* .IP \fBLOCAL\fR
-/* The entire recipient address localpart (text to the left of the
-/* rightmost @ character).
+/* The entire envelope recipient address localpart (text to
+/* the left of the rightmost @ character).
/* .IP \fBORIGINAL_RECIPIENT\fR
-/* The entire recipient address, before any address rewriting
-/* or aliasing (Postfix 2.5 and later).
+/* The entire envelope recipient address, before any address
+/* rewriting or aliasing (Postfix 2.5 and later).
/* .IP \fBRECIPIENT\fR
-/* The entire recipient address.
+/* The entire envelope recipient address.
/* .IP \fBSENDER\fR
-/* The entire sender address.
+/* The entire envelope sender address.
+/* .IP \fBENVID\fR
+/* The optional RFC 3461 envelope ID. Available as of Postfix
+/* 3.9.
/* .PP
/* Additional remote client information is made available via
/* the following environment variables:
@@ -413,7 +416,9 @@
/* home_mailbox, mail_spool_directory, fallback_transport_maps,
/* fallback_transport, and luser_relay.
/* .IP "\fBalias_maps (see 'postconf -d' output)\fR"
-/* The alias databases that are used for \fBlocal\fR(8) delivery.
+/* Optional lookup tables with aliases that apply only to \fBlocal\fR(8)
+/* recipients; this is unlike virtual_alias_maps that apply to all
+/* recipients: \fBlocal\fR(8), virtual, and remote.
/* .IP "\fBforward_path (see 'postconf -d' output)\fR"
/* The \fBlocal\fR(8) delivery agent search list for finding a .forward
/* file with user-specified delivery methods.