# CustomTransportConfigurationType (Complex Type)

### Namespace: http://midpoint.evolveum.com/xml/ns/public/common/common-3

Supertype: GeneralTransportConfigurationType
Custom type transport that can be realized either as a Java class (e.g. using overlay mechanism) specified in `type` element or via `expression`. If both are used, the `type` element takes preference.

Item Summary
Name | Type | Multiplicity | Description
--- | --- | --- | ---
name | property string | [1,1] | Mandatory name of the transport - MUST be unique for each configured message transport.
redirectToFile | property string | [0,1] | All the messages are redirected into a specified file - useful for debugging.
logToFile | property string | [0,1] | In addition to sending message via this transport, writes it to a file.
blackList | property string | [0,-1] | Addresses that are on a "black list".
whiteList | property string | [0,-1] | Addresses that are on a "white list".
recipientFilterExpression | property ExpressionType | [0,1] | An expression that decides whether the recipient address is allowed to pass through or it should be blacklisted.
recipientAddressExpression | property ExpressionType | [0,1] | Optional expression for recipient address returned as a String.
debug | property boolean | [0,1] | Enables debugging specific for a given transport (if supported by it).
type | property string | [0,1] | Fully qualified class name of the transport implementation.
expression | property ExpressionType | [0,1] | Expression that processes incoming message, typically a script that sends the message.

- ### Items

  - #### name

    Flags: RAM,runtime

    Multiplicity: [1,1]

    Mandatory name of the transport - MUST be unique for each configured message transport.

  - #### redirectToFile

    Flags: RAM,runtime

    Multiplicity: [0,1]

    All the messages are redirected into a specified file - useful for debugging. Messages that are blacklisted are indicated so, but are still written to the file as well.

  - #### logToFile

    Flags: RAM,runtime

    Multiplicity: [0,1]

    In addition to sending message via this transport, writes it to a file. Useful for debugging.

  - #### blackList

    Flags: RAM,runtime

    Multiplicity: [0,-1]

    Addresses that are on a "black list". If a message contains one or more addresses that are blacklisted, it is stored into file specified in "redirectToFile" and either not sent at all (if no other addresses remain) or sent without blacklisted addresses. An address can contain "*" character, that matches any substring, e.g. "*@acme.org". At most one of "blackList", "whiteList" and "recipientFilterExpression" can be used.

  - #### whiteList

    Flags: RAM,runtime

    Multiplicity: [0,-1]

    Addresses that are on a "white list". If specified, then all addresses are blacklisted, except for those that match a white list entry. An address can contain "*" character, that matches any substring, e.g. "*@acme.org". At most one of "blackList", "whiteList" and "recipientFilterExpression" can be used.

  - #### recipientFilterExpression

    Flags: RAM,runtime

    Multiplicity: [0,1]

    An expression that decides whether the recipient address is allowed to pass through or it should be blacklisted. The expression expects input value in "recipientAddress" variable (usually a String), and should provide a boolean value: "true" means "pass through", "false" means "block". At most one of "blackList", "whiteList" and "recipientFilterExpression" can be used.

  - #### recipientAddressExpression

    Flags: RAM,runtime

    Multiplicity: [0,1]

    Optional expression for recipient address returned as a String. This is useful when the recipient is provided as a Focus object (e.g. from the notifier), this object is available as `recipient` input variable into the expression. This is not used if the recipient address was already resolved and is available only as a String instead of a Focus. If this expression is not specified, the default conversion provided by the method `getDefaultRecipientAddress(Focus)` in the `Transport` implementation will be used.

  - #### debug

    Flags: RAM,runtime

    Multiplicity: [0,1]

    Enables debugging specific for a given transport (if supported by it). For example, when used for mail transport it enables debugging of javamail - sending diagnostics to standard output (console).

  - #### type

    Flags: RAM,runtime

    Multiplicity: [0,1]

    Fully qualified class name of the transport implementation.

  - #### expression

    Flags: RAM,runtime

    Multiplicity: [0,1]

    Expression that processes incoming message, typically a script that sends the message. Inside the expression a single-valued `message` variable is available. For maximum flexibility, `event` (in case of notifications) or other contextual variable may be available too, but it is preferred to work only with the provided `message`. Should not return anything.