public void ProcessRequest(HttpContext context)
        {
            // 取得唯一键与数据库中的所存储的键相比较.
            string key = context.Request.QueryString["k"];

            if (!string.IsNullOrEmpty(key))
            {
                using (EmailAddressValidationDataContext service =
                    new EmailAddressValidationDataContext())
                {
                    tblEmailValidation EValidation =
                        service.tblEmailValidations.Where(
                        t => t.ValidateKey.Trim() == key).FirstOrDefault();
                    if (EValidation != null)
                    {

                        // 通过验证后更新记录.
                        EValidation.IsValidated = true;
                        service.SubmitChanges();

                        // 我们可以定制返回的值并输出.
                        // 这里只是简单的输出信息.
                        context.Response.Write("恭喜! 你的邮箱地址: " +
                            EValidation.EmailAddress + "已经验证成功!");
                    }
                    else
                    {
                        context.Response.Write("请先提交你的邮箱地址.");
                    }
                }
            }
        }
Exemplo n.º 2
0
 // This method is used to re-send the Confirmation Email.
 public void ReSendValidationEmail(string address)
 {
     using (EmailAddressValidationDataContext context =
                new EmailAddressValidationDataContext())
     {
         tblEmailValidation eval = context.tblEmailValidations.Where(
             t => t.EmailAddress == address).FirstOrDefault();
         if (eval != null)
         {
             SendValidationEmail(address, eval.ValidateKey);
         }
     }
 }
Exemplo n.º 3
0
        // 此方法用来重发确认邮件.
        public void ReSendValidationEmail(string address)
        {
            using (EmailAddressValidationDataContext context =
                    new EmailAddressValidationDataContext())
            {

                tblEmailValidation eval = context.tblEmailValidations.Where(
                            t => t.EmailAddress == address).FirstOrDefault();
                if (eval != null)
                {
                    SendValidationEmail(address, eval.ValidateKey);
                }
            }
        }
Exemplo n.º 4
0
        // This method used to sending confirmation Email.
        // We use a simple database table to store the information about the
        // Email addresses which are ready for validation.
        public ValidateEmailResult StartToValidateEmail(string emailaddress)
        {
            // Use Linq to SQL to process the database queries.
            using (EmailAddressValidationDataContext context =
                       new EmailAddressValidationDataContext())
            {
                // Check whether the email address has already been recorded
                // into the database.
                tblEmailValidation eval = context.tblEmailValidations.Where(
                    t => t.EmailAddress == emailaddress).FirstOrDefault();

                if (eval != null)
                {
                    // If yes, return the process of the validation.
                    if (eval.IsValidated)
                    {
                        return(ValidateEmailResult.EmailValidated);
                    }
                    else
                    {
                        return(ValidateEmailResult.EmailValidating);
                    }
                }

                // Generate a unique key to validate the address.
                string querykey = Guid.NewGuid().ToString().Replace("-", "");

                // Send the confirmation Email.
                SendValidationEmail(emailaddress, querykey);

                // If not, create a new record to the database.
                context.tblEmailValidations.InsertOnSubmit(new tblEmailValidation()
                {
                    EmailAddress        = emailaddress,
                    IsValidated         = false,
                    IsSendCheckEmail    = false,
                    ValidatingStartTime = DateTime.Now,
                    ValidateKey         = querykey
                });
                context.SubmitChanges();

                return(ValidateEmailResult.EmailStartToValidate);
            }
        }
Exemplo n.º 5
0
        // 这个方法用于发送确认邮件.
        // 我们使用一个简单的数据库表来存放待验证的邮箱地址信息.
        public ValidateEmailResult StartToValidateEmail(string emailaddress)
        {
            // 使用Linq to SQL来访问数据库.
            using (EmailAddressValidationDataContext context =
                       new EmailAddressValidationDataContext())
            {
                // 检查邮箱地址在数据库是否已经有相同的.
                tblEmailValidation eval = context.tblEmailValidations.Where(
                    t => t.EmailAddress == emailaddress).FirstOrDefault();

                if (eval != null)
                {
                    // 如果是,返回验证处理的结果.
                    if (eval.IsValidated)
                    {
                        return(ValidateEmailResult.EmailValidated);
                    }
                    else
                    {
                        return(ValidateEmailResult.EmailValidating);
                    }
                }

                // 生成一个唯一键来验证地址.
                string querykey = Guid.NewGuid().ToString().Replace("-", "");

                // 发送确认邮件.
                SendValidationEmail(emailaddress, querykey);

                // 如果不是,在数据库中创建一个新的记录.
                context.tblEmailValidations.InsertOnSubmit(new tblEmailValidation()
                {
                    EmailAddress        = emailaddress,
                    IsValidated         = false,
                    IsSendCheckEmail    = false,
                    ValidatingStartTime = DateTime.Now,
                    ValidateKey         = querykey
                });
                context.SubmitChanges();

                return(ValidateEmailResult.EmailStartToValidate);
            }
        }
Exemplo n.º 6
0
        // 这个方法用于发送确认邮件.
        // 我们使用一个简单的数据库表来存放待验证的邮箱地址信息.
        public ValidateEmailResult StartToValidateEmail(string emailaddress)
        {
            // 使用Linq to SQL来访问数据库.
            using (EmailAddressValidationDataContext context =
                new EmailAddressValidationDataContext())
            {

                // 检查邮箱地址在数据库是否已经有相同的.
                tblEmailValidation eval = context.tblEmailValidations.Where(
                    t => t.EmailAddress == emailaddress).FirstOrDefault();

                if (eval != null)
                {

                    // 如果是,返回验证处理的结果.
                    if (eval.IsValidated)
                    {
                        return ValidateEmailResult.EmailValidated;
                    }
                    else
                    {
                        return ValidateEmailResult.EmailValidating;
                    }
                }

                // 生成一个唯一键来验证地址.
                string querykey = Guid.NewGuid().ToString().Replace("-", "");

                // 发送确认邮件.
                SendValidationEmail(emailaddress, querykey);

                // 如果不是,在数据库中创建一个新的记录.
                context.tblEmailValidations.InsertOnSubmit(new tblEmailValidation()
                {
                    EmailAddress = emailaddress,
                    IsValidated = false,
                    IsSendCheckEmail = false,
                    ValidatingStartTime = DateTime.Now,
                    ValidateKey = querykey
                });
                context.SubmitChanges();

                return ValidateEmailResult.EmailStartToValidate;

            }
        }