public void setConfig(string key) { //ToDo Binding erzeugen, am Besten direkt mit der Config ServerSchema bool frontend = (bool)Application.Current.Resources["FRONTEND"]; if (frontend) { ServerStatus serverStatus = GetCorrectServer(key); ServerConfig serverConfig = GetCorrectServerConfig(key); //resToMailPanel1.lb serverConfig.MailTo = serverStatus.Server.MailTo; serverConfig.MailFrom = serverStatus.Server.MailFrom; if (Uri.CheckHostName(serverStatus.Server.Host) == UriHostNameType.IPv4 || Uri.CheckHostName(serverStatus.Server.Host) == UriHostNameType.IPv6) { serverConfig.SmartHost = IPAddress.Parse(serverStatus.Server.Host); } else { serverConfig.Host = serverStatus.Server.Host; } serverConfig.Port = Int32.Parse(serverStatus.Server.Port); serverConfig.User = serverStatus.Server.User; serverConfig.Pwd = serverStatus.Server.Pwd; serverConfig.Dirs = serverStatus.Server.MailDir; char[] seps = new char[2]; seps[0] = ','; seps[1] = ';'; string[] filtersArr = serverStatus.Server.Filter.Split(seps); serverConfig.Filters = new System.Collections.ObjectModel.ObservableCollection <string>(filtersArr.ToList <String>()); serverConfig.Rounds = serverStatus.Server.Rounds; serverConfig.Connections = Int32.Parse(serverStatus.Server.Connections); serverConfig.EndlessSending = serverStatus.Server.EndlessSending; serverConfig.Recursive = serverStatus.Server.Recursive; if (serverStatus.Server.Header.Count > 0) { foreach (ServerSchemaHeader mySRVSchemaHeader in serverStatus.Server.Header) { MailAttributes.SHeader header = new MailAttributes.SHeader(); header.name = mySRVSchemaHeader.Name; header.value = mySRVSchemaHeader.Value; serverConfig.MailAttributes.Headers.Add(header); } //header } ServerSchemaSubject serverSchemaSubject = serverStatus.Server.Subject; MailAttributes.SSubject mySubject = new MailAttributes.SSubject(); mySubject.subjectstring = serverSchemaSubject.SubjectExtensionValue; if (serverSchemaSubject.SubjectExtentAtBegin) { mySubject.position = MailAttributes.HeaderPosition.begin; } else if (serverSchemaSubject.SubjectExtentAtEnd) { mySubject.position = MailAttributes.HeaderPosition.end; } else if (serverSchemaSubject.SubjectNone) { mySubject.position = MailAttributes.HeaderPosition.none; } serverConfig.MailAttributes.Subject = mySubject; serverConfig.Parsed = serverStatus.Server.Parsed; serverConfig.WaitBetweenMailsms = Int32.Parse(serverStatus.Server.WaitBetweenMailsms); serverConfig.SendOriginal = serverStatus.Server.SendOriginal; if (serverStatus.Server.NewMessageID || serverStatus.Server.DeleteMessageID) { serverConfig.NewMessageID = true; } else { serverConfig.NewMessageID = false; } //serverConfig.NewMessageID = serverStatus.Server.NewMessageID; serverConfig.FallBack = serverStatus.Server.FallBack; serverConfig.RecipientGroup = serverStatus.Server.RecipientGroup; serverConfig.RecipientGroupStart = Int32.Parse(serverStatus.Server.RecipientGroupStart); serverConfig.RecipientGroupEnd = Int32.Parse(serverStatus.Server.RecipientGroupEnd); serverConfig.RecipientGroupDomain = serverStatus.Server.RecipientGroupDomain; serverConfig.SubjectMailCount = serverStatus.Server.Subject.SubjectMailCount; } }
public ServerConfig setConfig(ServerStatus serverStatus, ServerConfig serverConfig) { //ToDo Binding erzeugen, am Besten direkt mit der Config ServerSchema bool frontend = (bool)Application.Current.Resources["FRONTEND"]; if (frontend) { //resToMailPanel1.lb serverConfig.MailTo = serverStatus.Server.MailTo; serverConfig.MailFrom = serverStatus.Server.MailFrom; if (Uri.CheckHostName(serverStatus.Server.SmartHost) == UriHostNameType.IPv4 || Uri.CheckHostName(serverStatus.Server.SmartHost) == UriHostNameType.IPv6) { serverConfig.SmartHost = IPAddress.Parse(serverStatus.Server.SmartHost); } else { serverConfig.Host = serverStatus.Server.SmartHost; } serverConfig.AnonymousAuth = serverStatus.Server.AnonymousAuth; serverConfig.BasicAuth = serverStatus.Server.BasicAuth; serverConfig.Port = Int32.Parse(serverStatus.Server.Port); serverConfig.User = serverStatus.Server.User; serverConfig.Pwd = serverStatus.Server.Pwd; serverConfig.Dirs = serverStatus.Server.MailDir; char[] seps = new char[2]; seps[0] = ','; seps[1] = ';'; string[] filtersArr = serverStatus.Server.Filter.Split(seps); serverConfig.Filters = new System.Collections.ObjectModel.ObservableCollection <string>(filtersArr.ToList <String>()); serverConfig.Rounds = serverStatus.Server.Rounds; serverConfig.CacheMailsUntilInByte = serverStatus.Server.CacheMailsUntilInByte; serverConfig.Connections = Int32.Parse(serverStatus.Server.Connections); serverConfig.EndlessSending = serverStatus.Server.EndlessSending; serverConfig.Recursive = serverStatus.Server.Recursive; serverConfig.MailAttributes = new MailAttributes(); if (serverStatus.Server.Header.Count > 0) { foreach (ServerSchemaHeader mySRVSchemaHeader in serverStatus.Server.Header) { MailAttributes.SHeader header = new MailAttributes.SHeader(); header.name = mySRVSchemaHeader.Name; header.value = mySRVSchemaHeader.Value; header.addHeaderOnce = MailAttributes.AttributeInsertMethod.change; serverConfig.MailAttributes.Headers.Add(header); } //header } ServerSchemaSubject serverSchemaSubject = serverStatus.Server.Subject; MailAttributes.SSubject mySubject = new MailAttributes.SSubject(); mySubject.subjectstring = serverSchemaSubject.SubjectExtensionValue; if (serverSchemaSubject.SubjectExtentAtBegin) { mySubject.position = MailAttributes.HeaderPosition.begin; } else if (serverSchemaSubject.SubjectExtentAtEnd) { mySubject.position = MailAttributes.HeaderPosition.end; } else if (serverSchemaSubject.SubjectNone) { mySubject.position = MailAttributes.HeaderPosition.none; } serverConfig.SubjectMailName = serverStatus.Server.Subject.SubjectMailName; if (serverConfig.SubjectMailName) { if (serverStatus.Server.Subject.SubjectMailNameBegin) { serverConfig.SubjectAddMailNamePosition = StringHelper.StringHelper.ESubjectAddMailNamePosition.Begin; } else if (serverStatus.Server.Subject.SubjectMailNameEnd) { serverConfig.SubjectAddMailNamePosition = StringHelper.StringHelper.ESubjectAddMailNamePosition.End; } else if (serverStatus.Server.Subject.SubjectMailNameReplace) { serverConfig.SubjectAddMailNamePosition = StringHelper.StringHelper.ESubjectAddMailNamePosition.Replace; } } else { serverConfig.SubjectAddMailNamePosition = StringHelper.StringHelper.ESubjectAddMailNamePosition.None; } serverConfig.MailAttributes.Subject = mySubject; serverConfig.Parsed = serverStatus.Server.Parsed; serverConfig.WaitBetweenMailsms = Int32.Parse(serverStatus.Server.WaitBetweenMailsms); serverConfig.SendOriginal = serverStatus.Server.SendOriginal; if (serverStatus.Server.NewMessageID || serverStatus.Server.DeleteMessageID) { serverConfig.NewMessageID = true; } else { serverConfig.NewMessageID = false; } //serverConfig.NewMessageID = serverStatus.Server.NewMessageID; serverConfig.FallBack = serverStatus.Server.FallBack; serverConfig.AddSenderToMail = serverStatus.Server.AddSenderToMail; serverConfig.AddRecipientToMail = serverStatus.Server.AddRecipientToMail; serverConfig.CodePageEnabled = serverStatus.Server.CodePageEnabled; serverConfig.CodePage = Int32.Parse(serverStatus.Server.CodePage); serverConfig.FallBack = serverStatus.Server.FallBack; //RecipientGroup serverConfig.RecipientGroup = serverStatus.Server.RecipientGroup; serverConfig.RecipientGroupStart = Int32.Parse(serverStatus.Server.RecipientGroupStart); serverConfig.RecipientGroupEnd = Int32.Parse(serverStatus.Server.RecipientGroupEnd); serverConfig.RecipientGroupDomain = serverStatus.Server.RecipientGroupDomain; serverConfig.UseRecipientGroup = serverStatus.Server.CHKUseRecipientGroup; serverConfig.SenderGroup = serverStatus.Server.SenderGroup; serverConfig.SenderGroupStart = Int32.Parse(serverStatus.Server.SenderGroupStart); serverConfig.SenderGroupEnd = Int32.Parse(serverStatus.Server.SenderGroupEnd); serverConfig.SenderGroupDomain = serverStatus.Server.SenderGroupDomain; serverConfig.UseSenderGroup = serverStatus.Server.CHKUseSenderGroup; serverConfig.SubjectMailCount = serverStatus.Server.Subject.SubjectMailCount; serverConfig.AddHeader = serverStatus.Server.AddHeader; serverConfig.UseNoneSSL = serverStatus.Server.NoSSL; serverConfig.UseTLS = serverStatus.Server.UseTLS; serverConfig.UseSMTPS = serverStatus.Server.UseSSLSecuredPort; serverConfig.IgnoreAllErrors = serverStatus.Server.IgnoreAllErrors; serverConfig.SendTimeout = Int32.Parse(serverStatus.Server.SendTimeout); serverConfig.ReceiveTimeout = Int32.Parse(serverStatus.Server.ReceiveTimeout); serverConfig.SendBuffer = Int32.Parse(serverStatus.Server.SendBuffer); serverConfig.ReceiveBuffer = Int32.Parse(serverStatus.Server.ReceiveBuffer); //KeyManager serverConfig.KeyManagerTest = serverStatus.Server.KeyManagerTest; serverConfig.KeyManagerUse = serverStatus.Server.KeyManagerUse; serverConfig.PrivateKeyType = serverStatus.Server.PrivateKeyType; serverConfig.PublicKeyType = serverStatus.Server.PublicKeyType; serverConfig.Get509CertificateRequest = serverStatus.Server.Get509CertificateRequest; serverConfig.GetAllPrivateKeysForEmailRequest = serverStatus.Server.GetAllPrivateKeysForEmailRequest; serverConfig.GetAllX509CertificatesForEmailRequest = serverStatus.Server.GetAllX509CertificatesForEmailRequest; serverConfig.GetOrCreatePrivateKeyAdvancedRequest = serverStatus.Server.GetOrCreatePrivateKeyAdvancedRequest; serverConfig.GetOrCreatePrivateKeyRequest = serverStatus.Server.GetOrCreatePrivateKeyRequest; serverConfig.GetPrivateKeyRequest = serverStatus.Server.GetPrivateKeyRequest; serverConfig.ImportX509CertificateRequest = serverStatus.Server.ImportX509CertificateRequest; serverConfig.Tenants = serverStatus.Server.Tenants; serverConfig.ImportFromTenant = serverStatus.Server.ImportFromTenant; serverConfig.MakeCyclicCertsForAllTenantsSame = serverStatus.Server.MakeCyclicCertsForAllTenantsSame; serverConfig.GetPrivateKeyFromEnvelopeRequest = serverStatus.Server.GetPrivateKeyFromEnvelopeRequest; serverConfig.GetX509CertificateForVerificationBySignedDataRequest = serverStatus.Server.GetX509CertificateForVerificationBySignedDataRequest; } return(serverConfig); }