public void SetUp() { const string mlName = "1ban"; var domainList = new List<string>{ "example.com" }; //var tsDir = new TsDir(); var kernel = new Kernel(); var logger = new Logger(); var manageDir = TestUtil.GetTmpDir("TestDir"); _tsMailSave = new TsMailSave();//MailSaveのモックオブジェクト var memberList = new Dat(new[] { CtrlType.TextBox, CtrlType.TextBox, CtrlType.CheckBox, CtrlType.CheckBox, CtrlType.CheckBox, CtrlType.TextBox }); memberList.Add(true, string.Format("{0}\t{1}\t{2}\t{3}\t{4}\t{5}", "USER1", "*****@*****.**", false, true, true, "")); //一般・読者・投稿 memberList.Add(true, string.Format("{0}\t{1}\t{2}\t{3}\t{4}\t{5}", "USER2", "*****@*****.**", false, true, false, ""));//一般・読者・× memberList.Add(true, string.Format("{0}\t{1}\t{2}\t{3}\t{4}\t{5}", "USER3", "*****@*****.**", false, false, true, ""));//一般・×・投稿 memberList.Add(true, string.Format("{0}\t{1}\t{2}\t{3}\t{4}\t{5}", "ADMIN", "*****@*****.**", true, false, true, "123"));//管理者・×・投稿 memberList.Add(true, string.Format("{0}\t{1}\t{2}\t{3}\t{4}\t{5}", "ADMIN2", "*****@*****.**", true, true, true, "456"));//管理者・読者・投稿 var docs = (from object o in Enum.GetValues(typeof(MlDocKind)) select "").ToList(); const int maxSummary = 10; const int getMax = 10; const bool autoRegistration = true; const int titleKind = 5; var mlOption = new MlOption(maxSummary, getMax, autoRegistration, titleKind, docs, manageDir, memberList); _ml = new Ml(kernel, logger, _tsMailSave, mlOption, mlName, domainList); }
public Ml(Kernel kernel, Logger logger, MailSave mailSave, MlOption mlOption,string mlName,List<string>domainList) { Status = false; _kernel = kernel; _logger = logger; _mlName = mlName; //_mlOption = mlOption; _mlMailDb = new MlMailDb(logger, mlOption.ManageDir, mlName); if (!_mlMailDb.Status) { return;//初期化中断 } _mlAddr = new MlAddr(mlName, domainList); _mlUserList = new MlUserList(mlOption.MemberList); _mlSender = new MlSender(mailSave, logger); var mlSubject = new MlSubject(mlOption.TitleKind, mlName); _mlDevivery = new MlDelivery(mailSave, logger,_mlUserList, _mlAddr, _mlMailDb, mlSubject, mlOption.Docs,mlOption.MaxGet); _mlCreator2 = new MlCreator(_mlAddr,mlOption.Docs); _autoRegistration = mlOption.AutoRegistration; const double effectiveMsec = 120 * 1000; //有効時間120秒 _mlSubscribeDb = new MlSubscribeDb(mlOption.ManageDir, mlName, effectiveMsec);//confirm文字列データベース if (!_mlMailDb.Status) { return;//初期化中断 } Status = true;//ステータス }
public Ml(Kernel kernel, Logger logger, MailSave mailSave, MlOption mlOption, string mlName, List <string> domainList) { Status = false; _kernel = kernel; _logger = logger; _mlName = mlName; //_mlOption = mlOption; _mlMailDb = new MlMailDb(logger, mlOption.ManageDir, mlName); if (!_mlMailDb.Status) { return;//初期化中断 } _mlAddr = new MlAddr(mlName, domainList); _mlUserList = new MlUserList(mlOption.MemberList); _mlSender = new MlSender(mailSave, logger); var mlSubject = new MlSubject(mlOption.TitleKind, mlName); _mlDevivery = new MlDelivery(mailSave, logger, _mlUserList, _mlAddr, _mlMailDb, mlSubject, mlOption.Docs, mlOption.MaxGet); _mlCreator2 = new MlCreator(_mlAddr, mlOption.Docs); _autoRegistration = mlOption.AutoRegistration; const double effectiveMsec = 120 * 1000; //有効時間120秒 _mlSubscribeDb = new MlSubscribeDb(mlOption.ManageDir, mlName, effectiveMsec); //confirm文字列データベース if (!_mlMailDb.Status) { return; //初期化中断 } Status = true; //ステータス }
public MlList(Kernel kernel, Server server, MailSave mailSave, List <string> domainList) { var optionMl = kernel.ListOption.Get("Ml"); //メーリングストの一覧を取得する var dat = (Dat)optionMl.GetValue("mlList"); if (dat != null) { foreach (var o2 in dat) { if (!o2.Enable) { continue; } //メーリングリスト名の読込 var mlName = o2.StrList[0]; var op = kernel.ListOption.Get("Ml-" + mlName); var logger = kernel.CreateLogger(mlName, (bool)op.GetValue("useDetailsLog"), server); var mlOption = new MlOption(kernel, op); //無効なメンバ指定の確認と警告 foreach (var d in mlOption.MemberList) { var mailAddress = new MailAddress(d.StrList[1]); //メールアドレス if (mailAddress.User != "" && mailAddress.Domain != "") { continue; } if (logger != null) { logger.Set(LogKind.Error, null, 53, string.Format("{0}", d.StrList[1])); } } if (mlOption.MemberList.Count == 0) { logger.Set(LogKind.Error, null, 57, string.Format("{0}", mlName)); continue; } var ml = new Ml(kernel, logger, mailSave, mlOption, mlName, domainList); //MLの管理領域の初期化に失敗している場合は、追加しない if (!ml.Status) { continue; } _ar.Add(ml); if (logger != null) { logger.Set(LogKind.Normal, null, 44, mlName); } } } }
public MlList(Kernel kernel,Server server,MailSave mailSave, List<string> domainList) { var optionMl = kernel.ListOption.Get("Ml"); //メーリングストの一覧を取得する var dat = (Dat) optionMl.GetValue("mlList"); if (dat != null){ foreach (var o2 in dat){ if (!o2.Enable) continue; //メーリングリスト名の読込 var mlName = o2.StrList[0]; var op = kernel.ListOption.Get("Ml-" + mlName); var logger = kernel.CreateLogger(mlName, (bool) op.GetValue("useDetailsLog"), server); var mlOption = new MlOption(kernel,op); //無効なメンバ指定の確認と警告 foreach (var d in mlOption.MemberList){ var mailAddress = new MailAddress(d.StrList[1]); //メールアドレス if (mailAddress.User != "" && mailAddress.Domain != "") continue; if (logger != null){ logger.Set(LogKind.Error, null, 53, string.Format("{0}", d.StrList[1])); } } if (mlOption.MemberList.Count == 0){ logger.Set(LogKind.Error, null, 57, string.Format("{0}", mlName)); continue; } var ml = new Ml(kernel, logger, mailSave, mlOption, mlName, domainList); //MLの管理領域の初期化に失敗している場合は、追加しない if (!ml.Status) continue; _ar.Add(ml); if (logger != null) logger.Set(LogKind.Normal, null, 44, mlName); } } }
public void SetUp() { var tsDir = new TsDir(); _tsOption = new TsOption(tsDir); _tsOption.Set("FOLDER", "MailBox", "dir", string.Format("{0}\\MailBox", tsDir.Src)); //user1,user2,user3 _tsOption.Set("DAT", "MailBox", "user", "user1\tpass\buser2\tpass\buser3\tpass"); var kernel = new Kernel(null, null, null, null); var logger = new Logger(kernel, "LOG", false, null); var manageDir = tsDir.Src + "\\TestDir"; //MailQueue _mailQueue = new MailQueue(tsDir.Src + "\\MailQueue"); var oneOption = kernel.ListOption.Get("MailBox"); _mailBox = new MailBox(kernel, oneOption); var mailSave = new MailSave(kernel, _mailBox, logger, _mailQueue, "", _domainList);//モック var memberList = new Dat(); memberList.Add(true, string.Format("{0}\t{1}\t{2}\t{3}\t{4}\t{5}", "USER1", "*****@*****.**", false, true, true, "")); //一般・読者・投稿 memberList.Add(true, string.Format("{0}\t{1}\t{2}\t{3}\t{4}\t{5}", "USER2", "*****@*****.**", false, true, false, ""));//一般・読者・× memberList.Add(true, string.Format("{0}\t{1}\t{2}\t{3}\t{4}\t{5}", "USER3", "*****@*****.**", false, false, true, ""));//一般・×・投稿 //memberList.Add(false, string.Format("{0}\t{1}\t{2}\t{3}\t{4}\t{5}", "USER6" , "*****@*****.**" , false, false, true, ""));//一般・×・投稿 (Disable) //memberList.Add(true, string.Format("{0}\t{1}\t{2}\t{3}\t{4}\t{5}", "ADMIN" , "*****@*****.**" , true, false, true, "123"));//管理者・×・投稿 //memberList.Add(true, string.Format("{0}\t{1}\t{2}\t{3}\t{4}\t{5}", "ADMIN2", "*****@*****.**", true, true, true, "456"));//管理者・読者・投稿 //memberList.Add(false, string.Format("{0}\t{1}\t{2}\t{3}\t{4}\t{5}", "ADMIN3", "*****@*****.**", true, true, true, "789"));//管理者・読者・投稿 (Disable) var docs = (from object o in Enum.GetValues(typeof(MLDocKind)) select "").ToList(); const int maxSummary = 10; const int getMax = 10; const bool autoRegistration = true; const int titleKind = 1; var mlOption = new MlOption(maxSummary, getMax, autoRegistration, titleKind, docs, manageDir, memberList); _ml = new Ml(kernel, logger, mailSave, mlOption, _mlName, _domainList); }