Beispiel #1
0
        private void CreatePrintRecipientCountRule(hMailServer.Rules rules)
        {
            Rule oRule = rules.Add();
             oRule.Name = "Criteria test";
             oRule.Active = true;

             RuleCriteria oRuleCriteria = oRule.Criterias.Add();
             oRuleCriteria.UsePredefined = true;
             oRuleCriteria.PredefinedField = eRulePredefinedField.eFTMessageSize;
             oRuleCriteria.MatchType = eRuleMatchType.eMTGreaterThan;
             oRuleCriteria.MatchValue = "0";
             oRuleCriteria.Save();

             RuleAction oRuleAction = oRule.Actions.Add();
             oRuleAction.Type = eRuleActionType.eRARunScriptFunction;
             oRuleAction.ScriptFunction = "PrintRecipientCount";
             oRuleAction.Save();

             oRule.Save();

             File.WriteAllText(_settings.Scripting.CurrentScriptFile,
                           "Sub PrintRecipientCount(oMessage)" + Environment.NewLine +
                           " Call EventLog.Write(oMessage.Recipients.Count)" + Environment.NewLine +
                           "End Sub");

             _settings.Scripting.Reload();
        }
        private void CreateMoveRule(hMailServer.Rules ruleContainer, string foldername)
        {
            hMailServer.Rule oRule = ruleContainer.Add();
             oRule.Name = "Criteria test";
             oRule.Active = true;

             hMailServer.RuleCriteria oRuleCriteria = oRule.Criterias.Add();
             oRuleCriteria.UsePredefined = true;
             oRuleCriteria.PredefinedField = hMailServer.eRulePredefinedField.eFTMessageSize;
             oRuleCriteria.MatchType = hMailServer.eRuleMatchType.eMTGreaterThan;
             oRuleCriteria.MatchValue = "0";
             oRuleCriteria.Save();

             hMailServer.RuleAction oRuleAction = oRule.Actions.Add();
             oRuleAction.Type = hMailServer.eRuleActionType.eRAMoveToImapFolder;
             oRuleAction.IMAPFolder = foldername;
             oRuleAction.Save();

             oRule.Save();
        }
Beispiel #3
0
        public hMailServer.Domain AddDomain(hMailServer.Domains oDomains, string sName)
        {
            hMailServer.Domain oDomain = oDomains.Add();
             oDomain.Name = sName;
             oDomain.Active = true;
             oDomain.Save();

             return oDomain;
        }
        private void CreateMessageModificationRule(hMailServer.Rules ruleContainer)
        {
            hMailServer.Rule oRule = ruleContainer.Add();
             oRule.Name = "Criteria test";
             oRule.Active = true;

             hMailServer.RuleCriteria oRuleCriteria = oRule.Criterias.Add();
             oRuleCriteria.UsePredefined = true;
             oRuleCriteria.PredefinedField = hMailServer.eRulePredefinedField.eFTMessageSize;
             oRuleCriteria.MatchType = hMailServer.eRuleMatchType.eMTGreaterThan;
             oRuleCriteria.MatchValue = "0";
             oRuleCriteria.Save();

             hMailServer.RuleAction oRuleAction = oRule.Actions.Add();
             oRuleAction.Type = hMailServer.eRuleActionType.eRARunScriptFunction;
             oRuleAction.ScriptFunction = "ModifyMessage";
             oRuleAction.Save();

             oRule.Save();

             File.WriteAllText(_settings.Scripting.CurrentScriptFile, "Sub ModifyMessage(oMessage)" + Environment.NewLine +
                                                                     "oMessage.Subject = \"[Spam] \" + CStr(oMessage.Subject)" + Environment.NewLine +
                                                                     "oMessage.Save" + Environment.NewLine +
                                                                  "End Sub");

             _settings.Scripting.Reload();
        }
Beispiel #5
0
        public hMailServer.Account AddAccount(hMailServer.Accounts accounts, string sAddress, string sPassword)
        {
            hMailServer.Account oAccount = accounts.Add();
             oAccount.Address = sAddress;
             oAccount.Password = sPassword;
             oAccount.Active = true;
             oAccount.Save();

             return oAccount;
        }