internal static void HandlePasswordChangeRequest(Mobile m, string newPassword)
        {
            if (_AuthList.ContainsKey(m.Serial))
            {
                m.SendMessage("You already have a transaction awaiting authentication, please check your email.");
                return;
            }

            string key = CreateKey();

            ChangeRequest      request = new ChangeRequest(m, RequestType.Password, key, newPassword);
            ChangeRequestTimer timer   = new ChangeRequestTimer(m);

            _AuthList.Add(m.Serial, request);
            _Timers.Add(m.Serial, timer);

            timer.Start();

            SendMailMessage(CreateMailMessage(m, RequestType.Password, key, ((Account)m.Account).GetTag("EMAIL")), m);
            //m.SendMessage("A email has been sent to the supplied address.  Please read the email for further instructions.");
        }
        internal static void HandleEmailEntry(Mobile m, string email)
        {
            if (_AuthList.ContainsKey(m.Serial))
            {
                m.SendMessage("You already have a transaction awaiting authentication, please check your email.");
                return;
            }

            string key = CreateKey();

            ChangeRequest      request = new ChangeRequest(m, RequestType.Email, key, email);
            ChangeRequestTimer timer   = new ChangeRequestTimer(m);

            _AuthList.Add(m.Serial, request);
            _Timers.Add(m.Serial, timer);

            timer.Start();

            MailMessage mail = CreateMailMessage(m, request.RequestType, key, email);

            SendMailMessage(mail, m);
            m.SendMessage("A email has been sent to the supplied address. Please read the email for further instructions.");
        }