| Any plugins must implement this interface
plugins may be used from multiple threads,
depending on your configuration.
You have to ensure thread safety
Methods are not marked synchronized
because trivial plugins may not need it.
Plugin format
Plugins are configured via the etc/plugin-config.xml file.
Each propertyset element is applied to the plugin
The plugin loader expects to find a plugin public method corresponding to the name attribute of the propertyset.
The name is case sensitive, (first letter uppercase, fo java conventions).
Example :
<ACLSetup name="Basic ACL" class="org.jsmtpd.plugins.acls.SimpleACL">
<propertyset name="RelayedHosts" value="127.0.0.1,localhost,172.16.0.20,172.16.0.23"></propertyset>
<propertyset name="ValidUsers" value="*@localhost,*@mail.taldius.ath.cx"></propertyset>
</ACLSetup>
Will load the class "org.jsmtpd.plugins.acls.SimpleACL" under the name "Basic ACL"
It will then invoque the method setRelayedHosts with the string parameter "127.0.0.1,localhost,172.16.0.20,172.16.0.23"
See Also: org.jsmtpd.plugins.acls.SimpleACL See Also: org.jsmtpd.config.PluginLoader author: Jean-Francois POUX |