Exemplo n.º 1
0
        protected override void _AddDkim(DkimRecordBase dkim_to_add)
        {
            var db_manager = new PostfixAdminDbManager(Server.Id, Server.ConnectionString);

            using (var db = db_manager.GetAdminDb())
            {
                var id_dkim = db.ExecuteScalar <int>(
                    new SqlQuery(DkimTable.name)
                    .Select(DkimTable.Columns.id)
                    .Where(DkimTable.Columns.domain_name, Name));

                if (id_dkim == 0)
                {
                    var insert_dkim = new SqlInsert(DkimTable.name)
                                      .InColumnValue(DkimTable.Columns.domain_name, Name)
                                      .InColumnValue(DkimTable.Columns.selector, dkim_to_add.Selector)
                                      .InColumnValue(DkimTable.Columns.private_key, dkim_to_add.PrivateKey)
                                      .InColumnValue(DkimTable.Columns.public_key, dkim_to_add.PublicKey);
                    db.ExecuteNonQuery(insert_dkim);
                }
                else
                {
                    var update_dkim = new SqlUpdate(DkimTable.name)
                                      .Where(DkimTable.Columns.id, id_dkim)
                                      .Set(DkimTable.Columns.selector, dkim_to_add.Selector)
                                      .Set(DkimTable.Columns.private_key, dkim_to_add.PrivateKey)
                                      .Set(DkimTable.Columns.public_key, dkim_to_add.PublicKey);
                    db.ExecuteNonQuery(update_dkim);
                }
            }
        }
Exemplo n.º 2
0
        public IDnsSettings AddDns(int dnsId, IMailServerFactory factory)
        {
            IDnsSettings dnsRecords;

            using (var dbContextWithTran = TeamlabDnsDal.CreateMailDbContext(true))
            {
                var dnsDto  = TeamlabDnsDal.LinkDnsToDomain(dnsId, Id, dbContextWithTran.DbManager);
                var txtName = Server.SetupInfo.DnsPresets.CurrentOrigin;

                dnsRecords = factory.CreateDnsSettings(dnsDto.id, dnsDto.tenant, dnsDto.user, Name, dnsDto.dkim_selector,
                                                       dnsDto.dkim_private_key, dnsDto.dkim_public_key, txtName,
                                                       dnsDto.domain_chek, txtName, dnsDto.spf,
                                                       Server.SetupInfo.DnsPresets.MxHost, Server.SetupInfo.DnsPresets.MxPriority, Server.Logger);

                var dkimBase = new DkimRecordBase(dnsRecords.DkimSelector, dnsRecords.DkimPrivateKey,
                                                  dnsRecords.DkimPublicKey);

                _AddDkim(dkimBase);

                dbContextWithTran.CommitTransaction();
            }

            return(dnsRecords);
        }
Exemplo n.º 3
0
 protected abstract void _AddDkim(DkimRecordBase dkimToAdd);
Exemplo n.º 4
0
 protected override void _AddDkim(DkimRecordBase dkim_to_add)
 {
     _dkim = dkim_to_add;
 }
Exemplo n.º 5
0
 protected override void _AddDkim(DkimRecordBase dkimToAdd)
 {
 }