({{, (RefLink[$AllowExternalChannelFunctions, paclet:ref/$AllowExternalChannelFunctions]) 
specifies whether to allow uncertified external channel functions to be executed by (RefLink[ChannelListen, paclet:ref/ChannelListen]) and (RefLink[ChannelSend, paclet:ref/ChannelSend]).}})

OpenersNotesSection(Spacer1)Details

By default, (RefLink[$AllowExternalChannelFunctions, paclet:ref/$AllowExternalChannelFunctions]) is (RefLink[False, paclet:ref/False]) and has attribute (RefLink[Protected, paclet:ref/Protected]).

To reset (RefLink[$AllowExternalChannelFunctions, paclet:ref/$AllowExternalChannelFunctions]), use (RefLink[Unprotect, paclet:ref/Unprotect])[$AllowExternalChannelFunctions] then $AllowExternalChannelFunctions=(RefLink[True, paclet:ref/True]).

Using $AllowExternalChannelFunctions=(RefLink[True, paclet:ref/True]) can create a significant security risk, since it allows code specified by the creator of a channel to automatically be executed whenever you listen or send to that channel.

(RefLink[$AllowExternalChannelFunctions, paclet:ref/$AllowExternalChannelFunctions]) can also be reset from the Security tab in the Preferences dialog in the notebook interface.

OpenersPrimaryExamplesSection(Spacer1)Examples  (1)

OpenersExampleSection0(Spacer1)Basic Examples  (1)

Examine handler functions of a channel created by another user:

Options[ChannelObject["another@sample.com:send"],{HandlerFunctions,ChannelPreSendFunction,NotificationFunction,Initialization}]

Allow communication on other external channels:

Unprotect[$AllowExternalChannelFunctions]

$AllowExternalChannelFunctions=True

Send a message to another user:

Quiet[ChannelSend["another@sample.com:send","message"]]

Restore security settings:

$AllowExternalChannelFunctions=False

Protect[$AllowExternalChannelFunctions]

({{DocumentationFooterIconsRelatedFunction.png, ({{See Also}, {(RefLink[ChannelListen, paclet:ref/ChannelListen])  ▪  (RefLink[ChannelSend, paclet:ref/ChannelSend])}})}})