Как сделать отключить или невидимая ссылка электронной почты при нажатии, также, как я могу использовать общий SMTP-сервер? - PullRequest
1 голос
/ 29 марта 2012

Я пробовал некоторые коды, но после отправки на почтовый аккаунт всегда активен, как он может стать пассивной ссылкой.

                   string UName = GetNewValidationCode();
                    // Now lets create an email message
                    SmtpClient SmtpServer = new SmtpClient("smtp.live.com");

        var mail = new MailMessage();
        mail.From = new MailAddress("bilkentliaslan@windowslive.com");
        mail.To.Add(TextBox6.Text);
        mail.Subject = "Registration";
        mail.IsBodyHtml = true;
        string htmlBody;
        htmlBody = string.Format("Thank you for creating an account with YourDomain.com</ br>"+"Please click the below link to activate your account <br />"+"<a href='http://localhost:2386/ActivateUser.aspx?userName{0}&Id={1}'>Activate {0} </a>", UName, user_name);
        mail.Body = htmlBody;

        SmtpServer.Port = 587;
        SmtpServer.UseDefaultCredentials = false;
        SmtpServer.Credentials = new System.Net.NetworkCredential("bilkentliaslan@windowslive.com", "my password");
        SmtpServer.EnableSsl = true;
        SmtpServer.Send(mail);

                    // Redirecto to What ever page
                    Response.Redirect("Login.aspx");

1 Ответ

1 голос
/ 29 марта 2012

Сохраните таблицу, в которой хранятся идентификаторы ожидания, т. Е. Идентификаторы, о которых вы отправили электронное письмо, но которые еще не активированы.

Затем в коде вашего ActivateUser.aspx (фактическивнутренний код, который затем вызывает эта страница), проверьте, существует ли строка, выполните работу по активации пользователя, а затем удалите строку из таблицы.Если затем пользователь снова перейдет по тому же URL-адресу, строка не будет там, и пользователь не будет (повторно) активирован.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...