public void ShouldSendMail()
        {
            var provider = new MailProvider(new MailClient(), _mailConnectionParametersProvider.Object);

            _mailConnectionParametersProvider
            .Setup(_ => _.Get())
            .Returns(new MailConnectionParameters
            {
                Host         = "mail.ptsecurity.com",
                IsSslEnabled = true,
                Mailbox      = "*****@*****.**",
                Password     = "******",
                Port         = 25,
                Username     = "******"
            });

            using (var sender = provider.BeginSend())
            {
                sender.Send(new Email
                {
                    Body    = "Hello, body",
                    Subject = "Halo, subject",
                    To      = new[] { "*****@*****.**" }
                });
            }
        }
示例#2
0
        //Crea y envía el correo de información de la firma creada
        private void SendEMail(string cc)
        {
            string body = string.Empty;

            body = string.Concat(body, "MyCTS le da la bienvenida, a continuación se anexan los datos de su firma:\n", "\n",
                                 "Status: ALTA \n", "\n",
                                 "Firma:  ", txtNumberFirm.Text, "\n",
                                 "Agent:  ", txtCodeAgent.Text, "\n",
                                 "Queue:  ", txtQueue.Text, "\n",
                                 "PCC:    ", txtPCC.Text, "\n",
                                 "TA:     ", txtTA.Text, "\n",
                                 "Contraseña:    tmp1234 (Al ingresar por primera vez, se te solicitara asignar una nueva contraseña)\n",
                                 "Nombre Sabre: ", txtInitial.Text, " ", txtLastName.Text, "\n",
                                 "Usuario:      ", txtName.Text.ToLower(), "\n",
                                 "Correo:       ", txtEmail.Text.ToLower(), "\n", "\n",
                                 "   **La contraseña debe contener un mínimo de 7 caracteres y un máximo 8.", "\n",
                                 "   Debe contener por lo menos 1 carácter alfabético y 1 numérico.", "\n",
                                 "   No se permiten las letras Q ni Z.", "\n",
                                 "   No se permiten usar las últimas 4 contraseñas de esta firma.", "\n",
                                 "   No se permite repetir más de 3 caracteres Ej. AAAA", "\n",
                                 "   No se permite usar nombres de ciudades Ej. DALLAS", "\n",
                                 "   La contraseña se debe cambiar cada 90 días", "\n",
                                 "   Después de 6 intentos la contraseña se bloqueará por 30 minutos.", "\n",
                                 "Para cualquier problema con la firma llamar el área de Mesa de Servicio", "\n", "\n",
                                 "Mesa de Servicio", "\n",
                                 "Corporate Travel Services", "\n",
                                 "Tel. 85252222 Ext. 9999");
            MailProvider ws = new MailProvider();

            ws.SendEmail2("*****@*****.**", "not", null,
                          txtEmail.Text.ToLower(), cc, "MyCTS Informa - Creación de Firma", body);
        }
        /// <summary>
        /// Update method implmentation
        /// </summary>
        public void Load(PSHost host)
        {
            ManagementService.Initialize(host, true);
            MFAConfig    cfg  = ManagementService.Config;
            MailProvider mail = cfg.MailProvider;

            IsDirty            = cfg.IsDirty;
            Enabled            = mail.Enabled;
            EnrollWizard       = mail.EnrollWizard;
            EnrollWizardStrict = mail.EnrollWizardStrict;
            From        = mail.From;
            UserName    = mail.UserName;
            Password    = mail.Password;
            Host        = mail.Host;
            Port        = mail.Port;
            UseSSL      = mail.UseSSL;
            Company     = mail.Company;
            PinRequired = mail.PinRequired;
            Anonymous   = mail.Anonymous;
            MailOTPContent.Clear();
            foreach (SendMailFileName itm in mail.MailOTPContent)
            {
                MailOTPContent.Add((FlatConfigMailFileName)itm);
            }
            MailAdminContent.Clear();
            foreach (SendMailFileName itm in mail.MailAdminContent)
            {
                MailAdminContent.Add((FlatConfigMailFileName)itm);
            }
            MailKeyContent.Clear();
            foreach (SendMailFileName itm in mail.MailKeyContent)
            {
                MailKeyContent.Add((FlatConfigMailFileName)itm);
            }
        }
示例#4
0
        /// <summary>
        /// Show info about selected email
        /// </summary>
        /// <param name="sender"></param>
        /// <param name="e"></param>
        private void listBox1_SelectedIndexChanged(object sender, EventArgs e)
        {
            try {
                using (var objProvider = new MailProvider()) {
                    var   objTempEmail = (Email)listBox1.SelectedItem;
                    Email objEmail     = objProvider.GetEmailById(objTempEmail.Id);
                    if (objEmail == null)
                    {
                        return;
                    }

                    textBox10.Text    = objEmail.SendingTime.ToString("dd-MM-yyyy ddd HH:mm");
                    richTextBox3.Text = objEmail.Text;
                    textBox9.Text     = objEmail.Header;
                    if (objEmail.Sended)
                    {
                        label18.ForeColor = Color.DarkGreen;
                        label18.Text      = "Sended";
                    }
                    else
                    {
                        label18.ForeColor = Color.DarkOrange;
                        label18.Text      = "Awaits for sending";
                    }
                }
            }
            catch (Exception ex) {
                MessageBox.Show(ex.Message);
            }
        }
示例#5
0
        private void initaliazeProvider()
        {
            //string ProviderStr = "c";
            //if (System.Configuration.ConfigurationManager.AppSettings["MAIL_PROVIDER"] != null &&
            //    System.Configuration.ConfigurationManager.AppSettings["MAIL_PROVIDER"].ToString() != "")
            //    ProviderStr = System.Configuration.ConfigurationManager.AppSettings["MAIL_PROVIDER"].ToString().ToLower();


            string ProviderStr = DocsPaUtils.Configuration.InitConfigurationKeys.GetValue("0", "BE_MAIL_PROVIDER");

            if (String.IsNullOrEmpty(ProviderStr))
            {
                ProviderStr = "c";
            }

            if (ProviderStr.StartsWith("c"))
            {
                provider = MailProvider.Chilkat;
            }
            else if (ProviderStr.StartsWith("m"))
            {
                provider = MailProvider.MailsystemNet;
            }

            logger.Debug("Instanziato provider di posta :" + provider.ToString());
        }
示例#6
0
 public UserManager(GotItDbContext dbContext, RequestAttributes requestAttributes,
                    TokenManager tokenManager, MailProvider mailProvider) : base(dbContext)
 {
     _requestAttributes = requestAttributes;
     _tokenManager      = tokenManager;
     _mailProvider      = mailProvider;
 }
示例#7
0
        /// <summary>
        /// Update method implmentation
        /// </summary>
        public void Update(PSHost host)
        {
            ManagementService.Initialize(host, true);
            MFAConfig    cfg  = ManagementService.Config;
            MailProvider mail = cfg.MailProvider;

            cfg.IsDirty      = IsDirty;
            mail.From        = From;
            mail.UserName    = UserName;
            mail.Password    = Password;
            mail.Host        = Host;
            mail.Port        = Port;
            mail.UseSSL      = UseSSL;
            mail.Company     = Company;
            mail.PinRequired = PinRequired;
            mail.MailOTPContent.Clear();
            foreach (FlatConfigMailFileName itm in MailOTPContent)
            {
                mail.MailOTPContent.Add((SendMailFileName)itm);
            }
            mail.MailAdminContent.Clear();
            foreach (FlatConfigMailFileName itm in MailAdminContent)
            {
                mail.MailAdminContent.Add((SendMailFileName)itm);
            }
            mail.MailKeyContent.Clear();
            foreach (FlatConfigMailFileName itm in MailKeyContent)
            {
                mail.MailKeyContent.Add((SendMailFileName)itm);
            }
            ManagementService.ADFSManager.WriteConfiguration(host);
        }
示例#8
0
        public bool SolicitarAtivacao(Usuario usuario)
        {
            if (usuario == null)
            {
                return(false);
            }

            bool ret = true;

            try
            {
                List <string> emails = new List <string>();
                emails.Add(usuario.Email);


                StringBuilder sb = new StringBuilder();
                sb.AppendLine(string.Format("Prezado(a) {0},", usuario.Nome));
                sb.AppendLine("<br/><br/>");
                sb.AppendLine("Por favor, clique no link abaixo para ativar sua conta.");
                sb.AppendLine("<br/><br/>");
                sb.AppendLine(string.Format("<a href='http://app.portalti.b2w/pcfti/Sistema/Usuario/Ativar/{0}'>http://app.portalti.b2w/pcfti/Sistema/Usuario/Ativar/{0}.</a> ", usuario.UsuarioId));
                sb.AppendLine("<br/><br/>Obrigado");

                ret = MailProvider.EnviarEmail(emails, "PCFTI - Ativação de acesso ao sistema. ", sb.ToString());
            }
            catch
            {
                ret = false;
            }

            return(ret);
        }
示例#9
0
        private void button1_Click(object sender, EventArgs e)
        {
            if (textBox1.Text == String.Empty || textBox2.Text == String.Empty)
            {
                MessageBox.Show("Please, fill all fields");
                return;
            }
            try {
                using (var objProvider = new MailProvider()) {
                    Group objReceiverGroup = objProvider.GetGroupById(iNodeId);
                    if (objReceiverGroup == null)
                    {
                        throw new ArgumentException("Cant find group with current ID: " + iNodeId);
                    }

                    var objReciever = new Receiver();
                    objReciever.Name  = textBox1.Text;
                    objReciever.Email = textBox2.Text;
                    objReciever.Group = objReceiverGroup;

                    objProvider.AddReceiver(objReciever);
                }
                this.Close();
            }
            catch (Exception ex) {
                MessageBox.Show(ex.Message);
            }
        }
示例#10
0
        public void Execute()
        {
            List <Mail> mailList = new List <Mail>();

            foreach (KeyValuePair <int, MailProvider> item in MailProvider.Providers)
            {
                int standByPeriod = 1;

                MailProvider provider = item.Value;

                if (provider.StandbyPeriod > standByPeriod)
                {
                    standByPeriod = provider.StandbyPeriod;
                }

                SendMailList(MailQueue.Fetch(provider));

                Thread.Sleep(standByPeriod * 1000);
            }

            mailList.AddRange(MailQueue.Fetch());

            SendMailList(mailList);

            mailList.AddRange(MailQueue.Fetch());
        }
示例#11
0
        public void MailProviderSettingsTest(MailProvider provider, string host, string port)
        {
            var settings = MailProviderSettings.Get(provider);

            Assert.AreEqual(host, settings.SMTP_HOST);
            Assert.AreEqual(port, settings.SMTP_PORT);
        }
示例#12
0
        /// <summary>
        /// Get Receiver object by Id and Name
        /// </summary>
        /// <param name="iId"></param>
        /// <param name="strName"></param>
        /// <returns></returns>
        /// <summary>
        /// Get Group object by Id and Name
        /// </summary>
        /// <returns></returns>
        /// <summary>
        /// redrawable TreeView
        /// </summary>
        private void UpdateTree()
        {
            //create TreeView
            using (var objProvider = new MailProvider()) {
                Group objRootNode = objProvider.Base.Groups.OrderBy(c => c.Id).FirstOrDefault();
                if (objRootNode == null)
                {
                    return;
                }

                treeView1.Nodes.Clear();

                var objVisualRootNode = new TreeNode {
                    Tag  = objRootNode.Id,
                    Name = objRootNode.Name,
                    Text = objRootNode.Name
                };
                treeView1.Nodes.Add(objVisualRootNode);

                CreateTreeView(objRootNode, objVisualRootNode);
                treeView1.ExpandAll();

                treeView1.SelectedNode = objVisualRootNode;
            }
        }
示例#13
0
        /// <summary>
        /// change receiver info
        /// </summary>
        /// <param name="sender"></param>
        /// <param name="e"></param>
        private void button3_Click(object sender, EventArgs e)
        {
            try {
                using (var objProvider = new MailProvider()) {
                    Receiver objReceiver = objProvider.GetReceiver((int)treeView1.SelectedNode.Tag, treeView1.SelectedNode.Name);
                    if (objReceiver != null)
                    {
                        if (textBox1.Text == String.Empty || textBox2.Text == String.Empty)
                        {
                            throw new ArgumentNullException("Receiver.Name or Receiver.Email");
                        }

                        objReceiver.Name  = textBox1.Text;
                        objReceiver.Email = textBox2.Text;
                        objReceiver.Group = objProvider.GetGroupByName(comboBox2.SelectedItem.ToString());
                        //clear fileds
                        textBox1.Clear();
                        textBox2.Clear();
                    }
                }
                UpdateTree();
            }
            catch (Exception ex) {
                MessageBox.Show(ex.Message);
            }
        }
        /// <summary>
        /// Update method implmentation
        /// </summary>
        public override void Update(PSHost host)
        {
            ManagementService.Initialize(host, true);
            MFAConfig    cfg  = ManagementService.Config;
            MailProvider mail = cfg.MailProvider;

            cfg.IsDirty = true;
            CheckUpdates(host);
            mail.Enabled                     = Enabled;
            mail.EnrollWizard                = EnrollWizard;
            mail.ForceWizard                 = ForceWizard;
            mail.From                        = From;
            mail.UserName                    = UserName;
            mail.Password                    = Password;
            mail.Host                        = Host;
            mail.Port                        = Port;
            mail.UseSSL                      = UseSSL;
            mail.Company                     = Company;
            mail.PinRequired                 = PinRequired;
            mail.Anonymous                   = Anonymous;
            mail.DeliveryNotifications       = DeliveryNotifications;
            mail.FullQualifiedImplementation = FullQualifiedImplementation;
            mail.Parameters.Data             = Parameters;

            mail.AllowedDomains.Clear();
            foreach (string itm in AllowedDomains.Domains)
            {
                mail.AllowedDomains.Add(itm);
            }

            mail.BlockedDomains.Clear();
            foreach (string itm in BlockedDomains.Domains)
            {
                mail.BlockedDomains.Add(itm);
            }

            mail.MailOTPContent.Clear();
            foreach (FlatConfigMailFileName itm in MailOTPContent)
            {
                mail.MailOTPContent.Add((SendMailFileName)itm);
            }
            mail.MailAdminContent.Clear();
            foreach (FlatConfigMailFileName itm in MailAdminContent)
            {
                mail.MailAdminContent.Add((SendMailFileName)itm);
            }
            mail.MailKeyContent.Clear();
            foreach (FlatConfigMailFileName itm in MailKeyContent)
            {
                mail.MailKeyContent.Add((SendMailFileName)itm);
            }
            mail.MailNotifications.Clear();
            foreach (FlatConfigMailFileName itm in MailNotifications)
            {
                mail.MailNotifications.Add((SendMailFileName)itm);
            }

            ManagementService.ADFSManager.WriteConfiguration(host);
        }
示例#15
0
        private MailProvider CreateMailProvider(string mailerName)
        {
            var mailProvider = new MailProvider(mailerName, 300);

            _context.MailProviders.Add(mailProvider);

            return(mailProvider);
        }
示例#16
0
        private MailStat CreateMailStat(MailProvider mailProvider)
        {
            var mailStat = new MailStat(mailProvider, DateTime.Now);

            _context.MailStats.Add(mailStat);

            return(mailStat);
        }
示例#17
0
        public void RecoverPassword(string email, string appLang)
        {
            var user = _db.user.FirstOrDefault(t => t.Email == email);

            if (user == null)
            {
                throw new MyException(Errors.UserNotFound);
            }
            var password = StringTransformationProvider.GeneratePassword();

            user.Password = StringTransformationProvider.Md5(password);
            _db.SaveChanges();
            var tenant = user.tenant.FirstOrDefault();

            if (tenant != null)
            {
                MailProvider.SendMailRecoveryPassword(password, tenant.FirstName,
                                                      tenant.MiddleName, user.Email, appLang);
                return;
            }
            else
            {
                var guide = user.guide.FirstOrDefault();
                if (guide != null)
                {
                    MailProvider.SendMailRecoveryPassword(password, guide.FirstName,
                                                          guide.MiddleName, user.Email, appLang);
                    return;
                }
                else
                {
                    var journalist = user.journalist.FirstOrDefault();
                    if (journalist != null)
                    {
                        MailProvider.SendMailRecoveryPassword(password, journalist.FirstName,
                                                              journalist.MiddleName, user.Email, appLang);
                        return;
                    }
                    else
                    {
                        var editor = user.editor.FirstOrDefault();
                        if (editor != null)
                        {
                            MailProvider.SendMailRecoveryPassword(password, editor.FirstName,
                                                                  editor.MiddleName, user.Email, appLang);
                            return;
                        }
                        else
                        {
                            MailProvider.SendMailRecoveryPassword(password, "",
                                                                  "", user.Email, appLang);
                            return;
                        }
                    }
                }
            }
        }
示例#18
0
        public async Task <IHttpActionResult> GetResetPassword(string UserName)
        {
            User         discuser;
            IdentityUser _user = await UserManager.FindByNameAsync(UserName);

            if (_user == null)
            {
                ModelState.AddModelError("", "UserName Not Found");
                return(BadRequest(ModelState));
            }
            else
            {
                try
                {
                    discuser = await QueryWorker.GetUserByUserName(UserName);
                }
                catch (Exception e)
                {
                    ModelState.AddModelError("", e.Message);
                    return(BadRequest(ModelState));
                }
            }

            if (discuser == null)
            {
                ModelState.AddModelError("", "UserName Not Found");
                return(BadRequest(ModelState));
            }

            //1° modo:

            /*
             * string hashedNewPassword = UserManager.PasswordHasher.HashPassword("prova");
             * UserStore<IdentityUser> store = new UserStore<IdentityUser>(db);
             * await store.SetPasswordHashAsync(_user, hashedNewPassword);
             * await store.UpdateAsync(_user);
             */

            // 2° modo
            //string npwd = Guid.NewGuid().ToString("d").Substring(1, 8);
            string npwd = Membership.GeneratePassword(12, 0);

            UserManager.RemovePassword(_user.Id);
            UserManager.AddPassword(_user.Id, npwd);

            try
            {
                await MailProvider.GetMailprovider().SendForgottenPwdEmail(discuser.Email, npwd);

                return(Ok());
            }
            catch (Exception e)
            {
                ModelState.AddModelError("", e.Message);
                return(BadRequest(ModelState));
            }
        }
示例#19
0
        private async Task <MailStat> GetMailStat(MailProvider mailProvider)
        {
            var mailStat = await _context.MailStats.FirstOrDefaultAsync(ms =>
                                                                        ms.MailproviderId == mailProvider.Id
                                                                        &&
                                                                        ms.Date.Date == DateTime.Now.Date);

            return(mailStat ?? CreateMailStat(mailProvider));
        }
        /// <summary>
        /// Update method implmentation
        /// </summary>
        public override void Load(PSHost host)
        {
            ManagementService.Initialize(host, true);
            MFAConfig    cfg  = ManagementService.Config;
            MailProvider mail = cfg.MailProvider;

            IsDirty                     = cfg.IsDirty;
            Enabled                     = mail.Enabled;
            EnrollWizard                = mail.EnrollWizard;
            ForceWizard                 = mail.ForceWizard;
            From                        = mail.From;
            UserName                    = mail.UserName;
            Password                    = mail.Password;
            Host                        = mail.Host;
            Port                        = mail.Port;
            UseSSL                      = mail.UseSSL;
            Company                     = mail.Company;
            PinRequired                 = mail.PinRequired;
            Anonymous                   = mail.Anonymous;
            DeliveryNotifications       = mail.DeliveryNotifications;
            FullQualifiedImplementation = mail.FullQualifiedImplementation;
            Parameters                  = mail.Parameters.Data;

            AllowedDomains.Clear();
            foreach (string itm in mail.AllowedDomains)
            {
                AllowedDomains.AddDomain(itm);
            }

            BlockedDomains.Clear();
            foreach (string itm in mail.BlockedDomains)
            {
                BlockedDomains.AddDomain(itm);
            }

            MailOTPContent.Clear();
            foreach (SendMailFileName itm in mail.MailOTPContent)
            {
                MailOTPContent.Add((FlatConfigMailFileName)itm);
            }
            MailAdminContent.Clear();
            foreach (SendMailFileName itm in mail.MailAdminContent)
            {
                MailAdminContent.Add((FlatConfigMailFileName)itm);
            }
            MailKeyContent.Clear();
            foreach (SendMailFileName itm in mail.MailKeyContent)
            {
                MailKeyContent.Add((FlatConfigMailFileName)itm);
            }
            MailNotifications.Clear();
            foreach (SendMailFileName itm in mail.MailNotifications)
            {
                MailNotifications.Add((FlatConfigMailFileName)itm);
            }
        }
 /// <summary>
 /// Método que envía correo electrónico
 /// </summary>
 /// <param name="mailToSend">Direccion email de quien envía el correo</param>
 /// <param name="psw">Password de quien envía el correo</param>
 /// <param name="diplayName">Nombre de quien envia el correo</param>
 /// <param name="mailToValidate">Direcciones de email a quienes se les envia el correo</param>
 /// <param name="mailCC">Direcciones de email a quienes se les envia el correo con copia</param>
 /// <param name="subject">Asunto del correo</param>
 /// <param name="body">Texto que se envia el correo</param>
 private void SendMail2(string mailToSend, string psw, string diplayName, string mailToValidate,
                        string mailCC, string subject, string body)
 {
     try
     {
         MailProvider ws = new MailProvider();
         ws.SendEmail2(mailToSend, psw, diplayName, mailToValidate, mailCC, subject, body);
     }
     catch { }
 }
示例#22
0
        /// <summary>
        /// ExportMailTemplates method implementation
        /// </summary>
        public static bool ExportMailTemplates(MFAConfig config, int lcid, Dictionary <string, string> data)
        {
            bool done = false;

            try
            {
                WebAdminClient manager = new WebAdminClient();
                try
                {
                    manager.Initialize();
                    IWebAdminServices client = manager.Open();
                    try
                    {
                        done = client.ExportMailTemplates(GetServers(config), CFGReaderUtilities.GetCryptedConfig(config), lcid, data);
                    }
                    finally
                    {
                        manager.Close(client);
                    }
                }
                finally
                {
                    manager.UnInitialize();
                }

                if (done)
                {
                    char   sep      = Path.DirectorySeparatorChar;
                    string htmlpath = Environment.GetFolderPath(Environment.SpecialFolder.ProgramFiles) + sep + "MFA" + sep + "MailTemplates" + sep + lcid.ToString();

                    MailProvider mailprov = config.MailProvider;
                    if (!mailprov.MailOTPContent.Exists(c => c.LCID.Equals(lcid)))
                    {
                        mailprov.MailOTPContent.Add(new SendMailFileName(lcid, htmlpath + sep + "MailOTPContent.html"));
                    }
                    if (!mailprov.MailKeyContent.Exists(c => c.LCID.Equals(lcid)))
                    {
                        mailprov.MailKeyContent.Add(new SendMailFileName(lcid, htmlpath + sep + "MailKeyContent.html"));
                    }
                    if (!mailprov.MailAdminContent.Exists(c => c.LCID.Equals(lcid)))
                    {
                        mailprov.MailAdminContent.Add(new SendMailFileName(lcid, htmlpath + sep + "MailAdminContent.html"));
                    }
                    if (!mailprov.MailNotifications.Exists(c => c.LCID.Equals(lcid)))
                    {
                        mailprov.MailNotifications.Add(new SendMailFileName(lcid, htmlpath + sep + "MailNotifications.html"));
                    }
                }
                return(done);
            }
            catch
            {
                return(false);
            }
        }
示例#23
0
        /// <summary>
        /// delete group and all child nodes
        /// </summary>
        /// <param name="sender"></param>
        /// <param name="e"></param>
        private void ToolStripMenuItem3_Click(object sender, EventArgs e)
        {
            try {
                using (var objProvider = new MailProvider()) {
                    //get parent  group node
                    Group objParentGroup = objProvider.GetGroup((int)treeView1.SelectedNode.Tag, treeView1.SelectedNode.Name);
                    //get receiver node
                    Receiver objReceiver = objProvider.GetReceiver((int)treeView1.SelectedNode.Tag, treeView1.SelectedNode.Name);

                    //if selected is receiver node
                    if (objReceiver != null)
                    {
                        objProvider.RemoveReceiver(objReceiver);
                    }

                    //if selected is group parent node
                    if (objParentGroup != null)
                    {
                        //get all childs Recievers
                        List <Group> objChildsToDeleteList = objProvider.Base.Groups.
                                                             Where(gr => gr.LeftKey >= objParentGroup.LeftKey && gr.RightKey <= objParentGroup.RightKey).ToList();
                        //delete all childs
                        foreach (var node in objChildsToDeleteList)
                        {
                            List <Receiver> objReceiversList = objProvider.Base.Receivers.Where(r => r.Group.Id == node.Id).ToList();
                            for (int iJ = 0; iJ < objReceiversList.Count; ++iJ)
                            {
                                objProvider.RemoveReceiver(objReceiversList[iJ]);
                            }
                            objProvider.RemoveGroup(node);
                        }

                        //update parent branch
                        List <Group> objParentsList = objProvider.Base.Groups.Where(gr => gr.RightKey > objParentGroup.RightKey && gr.LeftKey < objParentGroup.LeftKey).ToList();
                        foreach (var node in objParentsList)
                        {
                            node.RightKey = node.RightKey - (objParentGroup.RightKey - objParentGroup.LeftKey + 1);
                        }

                        //update other childs
                        List <Group> objChildList = objProvider.Base.Groups.Where(gr => gr.LeftKey > objParentGroup.RightKey).ToList();
                        foreach (var node in objChildList)
                        {
                            node.LeftKey  = node.LeftKey - (objParentGroup.RightKey - objParentGroup.LeftKey + 1);
                            node.RightKey = node.RightKey - (objParentGroup.RightKey - objParentGroup.LeftKey + 1);
                        }
                    }
                }
                UpdateTree();
            }
            catch (Exception ex) {
                MessageBox.Show(ex.Message);
            }
        }
示例#24
0
        private async Task <bool> IsThresholdReached(MailStat mailStat, MailProvider mailProvider)
        {
            if (mailStat.Sent >= mailProvider.DailyThreshold)
            {
                return(false);
            }

            await IncrementMailStat(mailStat);

            return(true);
        }
示例#25
0
        static void Main(string[] args)
        {
            var folders = MailProvider.GetFolderHierarchy();

            foreach (var folder in folders)
            {
                RecursivelyPrintHierarchy(folder);
            }

            Console.Read();
        }
示例#26
0
 public SmtpMailService(MailRegistrationDb registration)
 {
     smtpClient             = new SmtpClient(registration.Host);
     smtpClient.Credentials = new NetworkCredential(registration.UserName, registration.Password);
     if (registration.Port.HasValue)
     {
         smtpClient.Port = registration.Port.Value;
     }
     smtpClient.EnableSsl = registration.IsSSLEnabled;
     provider             = MailProvider.Smtp;
     this.registration    = registration;
 }
示例#27
0
        private void UpdateListBox1()
        {
            using (var objProvider = new MailProvider()) {
                listBox1.Items.Clear();
                Receiver     objReceiver = objProvider.GetReceiver((int)treeView1.SelectedNode.Tag, treeView1.SelectedNode.Name);
                List <Email> objEmails   = objProvider.GetEmailsByReceiverId(objReceiver.Id);

                if (objEmails.Count != 0)
                {
                    listBox1.Items.AddRange(objEmails.ToArray());
                    listBox1.SelectedIndex = 0;
                }
            }
        }
示例#28
0
 private void backgroundWorker1_DoWork(object sender, DoWorkEventArgs e)
 {
     try {
         using (var objProvider = new MailProvider()) {
             List <Email> objEmails = objProvider.Base.Emails.Where(em => em.SendingTime <= DateTime.Now && em.Sended == false).ToList();
             foreach (var email in objEmails)
             {
                 SendEmail(email);
             }
         }
     }
     catch (Exception ex) {
         MessageBox.Show(ex.Message);
     }
 }
示例#29
0
        public UserServiceTests()
        {
            _ctx = Substitute.ForPartsOf <UsersContext>();

            var options = Options.Create <AppSettings>(new AppSettings()
            {
                Secret = "aasdas_afassqyqw"
            });

            var templateProvider = new FileTemplateProvider();

            var mailProvider = new MailProvider(templateProvider);

            _userService = new UserService(options, _ctx, Substitute.For <IMailingService>(), mailProvider);
        }
示例#30
0
        /// <summary>
        /// send Email method
        /// </summary>
        /// <param name="sender"></param>
        /// <param name="e"></param>
        private void button2_Click(object sender, EventArgs e)
        {
            try {
                using (var objProvider = new MailProvider()) {
                    //create Email
                    if (textBox8.Text == String.Empty || richTextBox2.Text == String.Empty)
                    {
                        throw new ArgumentNullException("Fill all fields!");
                    }
                    //if selected node is Group
                    Group    objGroup    = objProvider.GetGroup((int)treeView1.SelectedNode.Tag, treeView1.SelectedNode.Name);
                    Receiver objReceiver = objProvider.GetReceiver((int)treeView1.SelectedNode.Tag, treeView1.SelectedNode.Name);

                    if (objGroup != null)
                    {
                        foreach (var receiver in objGroup.Receivers)
                        {
                            var objEmail = new Email()
                            {
                                Receiver    = receiver,
                                Text        = richTextBox2.Text,
                                Header      = textBox8.Text,
                                SendingTime = DateTime.Now
                            };
                            objProvider.AddEmail(objEmail);
                            SendEmail(objEmail);
                        }
                    }

                    //if receiver
                    if (objReceiver != null)
                    {
                        var objEmail = new Email()
                        {
                            Receiver    = objReceiver,
                            Text        = richTextBox2.Text,
                            Header      = textBox8.Text,
                            SendingTime = DateTime.Now
                        };
                        objProvider.AddEmail(objEmail);
                        SendEmail(objEmail);
                    }
                }
            }
            catch (Exception ex) {
                MessageBox.Show(ex.Message);
            }
        }