Example #1
0
        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;
            }
        }
Example #2
0
        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);
        }