On 10/18/2012 6:38 PM, Phil Pennock wrote:
On 2012-10-18 at 06:55 -0700, Marc Perkel wrote:
I'll do bugzilla if I'm not crazy but thought I'd post it here first to
see if I'm nuts.


In the transports this works:

helo_data = SERVER_NAME.junkemailfilter.com

However this does not work:

helo_data = $acl_c_helo_data

The helo becomes an empty string. And I'm sure the variable is set
properly. It's as if acl variables don't work in the transport?
That's an $acl_c_<name>, "c" for "connection", persists for the lifetime
of the connection.  Transports are run afterwards, so you need an
$acl_m_<name> variable, to have the data persisted for the life of the
message.

See "$acl_c..." and "$acl_m..." in "11.9 Expansion variables" of the
documentation.

The server is behaving as documented, as expected, and consistently,
with a naming scheme that provides a decent affordance to how the
variable is handled.  I do not believe that this is a bug in Exim.

-Phil


Hi Phil,

I guess I'm just plain confused. Here's the definition:

$acl_c...

   Values can be placed in these variables by the set modifier in an
   ACL. They can be given any name that starts with $acl_c and is at
   least six characters long, but the sixth character must be either a
   digit or an underscore. For example: $acl_c5, $acl_c_mycount. The
   values of the $acl_c... variables persist throughout the lifetime of
   an SMTP connection. They can be used to pass information between
   ACLs and between different invocations of the same ACL. When a
   message is received, the values of these variables are saved with
   the message, and can be accessed by filters, routers, and
   *transports* during subsequent delivery.

I don't understand why the C variable would vanish during the transport.



--
## List details at https://lists.exim.org/mailman/listinfo/exim-users
## Exim details at http://www.exim.org/
## Please use the Wiki with this list - http://wiki.exim.org/

Reply via email to