X-Git-Url: https://git.hcoop.net/hcoop/domtool2.git/blobdiff_plain/ed9fda3a0e2edcf4ed546e0eb9ac128865538276..aa56e112996b3650e8ac343831322d2a9ab0de54:/src/plugins/exim.sml diff --git a/src/plugins/exim.sml b/src/plugins/exim.sml index ee4cf80..0744fce 100644 --- a/src/plugins/exim.sml +++ b/src/plugins/exim.sml @@ -20,6 +20,14 @@ structure Exim :> EXIM = struct +open Ast + +val dl = ErrorMsg.dummyLoc + +val _ = Defaults.registerDefault ("MailNodes", + (TList (TBase "node", dl), dl), + (fn () => (EList (map (fn s => (EString s, dl)) Config.Exim.aliasTo), dl))) + val aliasesChanged = ref false val aliasesDefaultChanged = ref false val hostsChanged = ref false @@ -65,7 +73,14 @@ val () = Slave.registerPostHandler ())) -val () = Env.action_none "handleMail" - (fn () => TextIO.closeOut (Domain.domainFile "mail")) +val () = Env.actionV_none "handleMail" + (fn env => + let + val nodes = Env.env (Env.list Env.string) (env, "MailNodes") + in + app (fn node => TextIO.closeOut + (Domain.domainFile {node = node, + name = "mail"})) nodes + end) end