Exemple #1
0
        /// <summary>
        /// Отправляет письмо пользователю с новым паролем
        /// </summary>
        /// <param name="toEmail">newEmail-адрес пользователя</param>
        /// <param name="login">Логин пользователя</param>
        /// <param name="clearText">Пароль пользователя</param>
        /// <param name="codeToNewPass">Ключ для генерации нового пароля</param>
        /// <param name="salt">Дополнение к ключу для генерации нового пароля</param>
        /// <param name="emailServer">Сервер с которого нужно отправить письмо</param>
        public static void SendEmailToNewPass(string toEmail, string login, char[] clearText,
                                              string urlToAcceptNewpassword, FromEmailServer emailServer)
        {
            // Отправляет активационный код, логин и пароль пользователю

            string subject = "Генерация нового пароля BlogEngineTK";

            StringBuilder msgBody = new StringBuilder();

            msgBody.Append("Уважаемый " + login + @", вы запросили генерацию нового пароля.
							Пожалуйста перейдите по "                            );
            msgBody.AppendFormat(@"<a href=""http://{0}"">этой ссылке</a> для подтверждения нового пароля.",
                                 urlToAcceptNewpassword);
            msgBody.Append("<br />");
            msgBody.Append("<br />");
            msgBody.AppendFormat("Ваш логин: {0}", login);
            msgBody.Append("<br />");
            msgBody.AppendFormat("Ваш пароль: {0}", new string(clearText));
            msgBody.Append("<br />");
            msgBody.Append("Если Вы не запрашивали генерацию нового пароля, то можете проигнорировать это письмо," +
                           " ваш текущий пароль не будет затронут.");
            msgBody.Append("<br /><br /><br />");
            msgBody.Append("Пожалуйста, не отвечайте на это письмо.");
            msgBody.Append("<br /><hr><br />");
            msgBody.Append("С уважением, команда портала BlogEngineTK");

            switch (emailServer)
            {
            case FromEmailServer.gmail:
                SendEmailViaGmail(toEmail, subject, msgBody.ToString());
                break;
            }

            msgBody.Clear();
        }
Exemple #2
0
        /// <summary>
        /// Отправляет письмо пользователю для потверждения нового newEmail-адреса
        /// </summary>
        /// <param name="toEmail">newEmail-адрес пользователя</param>
        /// <param name="login">Логин пользователя</param>
        /// <param name="clearText">Пароль пользователя</param>
        /// <param name="codeToNewPass">Активационный ключ</param>
        /// <param name="emailServer">Сервер с которого нужно отправить письмо</param>
        public static void SendConfirmEmail(string toEmail, string login, string urlToConfirm, FromEmailServer emailServer)
        {
            // (безопасность хромает, я думаю не стоит менять email считывая его со строки запроса (передающий метод),
            // но нужно успеть в срок сделать)

            string subject = "Подтверждение email-адреса TestOnline";

            StringBuilder msgBody = new StringBuilder();

            msgBody.AppendFormat("Уважаемый {0}, вы изменили свой email-адрес на нашем сайте. Пожалуйста перейдите по ", login);
            msgBody.AppendFormat(@"<a href=""{0}"">этой ссылке</a> для подтверждения своего нового email-адреса.", urlToConfirm);
            msgBody.Append("<br />");
            msgBody.Append("<br />");
            msgBody.Append("Если Вы не регистрировались на нашем сайте, то можете проигнорировать это письмо.");
            msgBody.Append("<br /><br /><br />");
            msgBody.Append("Пожалуйста, не отвечайте на это письмо.");
            msgBody.Append("<br /><hr><br />");
            msgBody.Append("С уважением, команда портала TestOnline");

            switch (emailServer)
            {
            case FromEmailServer.gmail:
                SendEmailViaGmail(toEmail, subject, msgBody.ToString());
                break;
            }

            subject = ""; // я понимаю, что тот текст еще остается до чистки GC, но хотя бы ссылка на него не указывает
            msgBody.Clear();
        }