⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 mobilemailcommandhelper.cs

📁 破解的飞信源代码
💻 CS
📖 第 1 页 / 共 2 页
字号:
namespace Imps.Client.Core
{
    using Imps.Client.Base;
    using Imps.Client.Utils;
    using Imps.Utils;
    using System;
    using System.Collections.Generic;
    using System.IO;
    using System.Net;
    using System.Text;
    using System.Threading;
    using System.Xml;

    public static class MobileMailCommandHelper
    {
        public const int DefaultMailCheckInterval = 0x708;
        public const string GetAliasListSubmit = "<getalias><c>{0}</c><sids><sid id =\"{1}\"></sids></getalias>";
        public const string GetContactsMobileAlias = "/pc/GetAliasList.aspx";
        public const string GetMobileMailBoxBindInfoUri = "/pc/MobileMailBoxBindInfo.aspx?mobile_no={0}";
        public const string GetUnReadMailNumUri = "/pc/GetUnReadMailNum.aspx";
        public const string SendBindRequestUri = "/pc/SendBingRequest.aspx";
        public const string SendCancelBindRequestUri = "/pc/SendCancelBingRequest.aspx";
        public const string SendEmailUri = "/pc/SendEmail.aspx?sid={0}&c={1}";
        internal static User tmpUser;

        public static bool CheckMailStatus(User user)
        {
            if (user.MobileMailInfo.Mail_Status.get_HasValue())
            {
                int? nullable2 = user.MobileMailInfo.Mail_Status;
                if (!((nullable2.GetValueOrDefault() == 1) && nullable2.get_HasValue()))
                {
                    return true;
                }
            }
            return false;
        }

        public static bool GetAliasList(ContactCollection contacts, User user)
        {
            bool flag;
            if (user == null)
            {
                return false;
            }
            string emailAdapter = user.Configuration.SystemSetting.ServerUriSetting.EmailAdapter;
            if (emailAdapter.EndsWith("/"))
            {
                emailAdapter = emailAdapter.Substring(0, emailAdapter.Length - 1);
            }
            string url = emailAdapter + "/pc/GetAliasList.aspx";
            try
            {
                HttpWebRequest request = ConnectionFactory.CreateHttpWebRequest(url, user, true, true);
                using (Stream w = request.GetRequestStream())
                {
                    using (XmlTextWriter writer = new XmlTextWriter(w, Encoding.ASCII))
                    {
                        writer.WriteString("sids=");
                        string text = string.Empty;
                        lock (contacts.SyncRoot)
                        {
                            using (IEnumerator<Contact> enumerator = contacts.GetEnumerator())
                            {
                                while (enumerator.MoveNext())
                                {
                                    Contact contact = enumerator.get_Current();
                                    if (text == string.Empty)
                                    {
                                        text = contact.Uri.Id;
                                    }
                                    else
                                    {
                                        text = text + "," + contact.Uri.Id;
                                    }
                                }
                            }
                        }
                        writer.WriteString(text);
                    }
                }
                Encoding.UTF8.GetBytes(url);
                request.ContentType = "application/x-www-form-urlencoded; charset= utf-8";
                using (HttpWebResponse response = ((HttpWebResponse) request.GetResponse()))
                {
                    string xml;
                    Convert.ToInt32(response.StatusCode);
                    using (Stream stream = response.GetResponseStream())
                    {
                        StreamReader reader = new StreamReader(stream);
                        xml = reader.ReadToEnd();
                        reader.Close();
                    }
                    XmlDocument document = new XmlDocument();
                    document.LoadXml(xml);
                    XmlNode node = document.DocumentElement.SelectSingleNode("aliasesList");
                    if (node != null)
                    {
                        foreach (XmlNode node2 in node.SelectNodes("item"))
                        {
                            int? nullable = XmlHelper.ReadXmlAttributeInt32(node2, "sid");
                            if (nullable.get_HasValue())
                            {
                                string contactSet = XmlHelper.ReadXmlAttributeString(node2, "alias");
                                if (!string.IsNullOrEmpty(contactSet))
                                {
                                    Contact contact2 = contacts.FindContactBySid(nullable.get_Value());
                                    if (contact2 != null)
                                    {
                                        contact2.PersonalInfo.MobileMailAlias = new ContactInfoItem<string>(contactSet);
                                    }
                                }
                            }
                        }
                        return true;
                    }
                    flag = false;
                }
            }
            catch (WebException exception)
            {
                ClientLogger.WriteGeneral("获取手机邮箱联系人昵称", exception.Message + "\r\nUrl: " + url, 10);
                flag = false;
            }
            catch (Exception exception2)
            {
                ClientLogger.WriteGeneral("获取手机邮箱联系人昵称", exception2.Message + "\r\nUrl: " + url, 10);
                flag = false;
            }
            return flag;
        }

        public static int GetCheckMailInterval()
        {
            return 0x708;
        }

        public static bool GetMobileMailBoxBindInfo(User user)
        {
            if (user == null)
            {
                return false;
            }
            bool? isInRunningProvince = user.MobileMailInfo.IsInRunningProvince;
            if (!isInRunningProvince.GetValueOrDefault() && isInRunningProvince.get_HasValue())
            {
                return false;
            }
            string emailAdapter = user.Configuration.SystemSetting.ServerUriSetting.EmailAdapter;
            if (emailAdapter.EndsWith("/"))
            {
                emailAdapter = emailAdapter.Substring(0, emailAdapter.Length - 1);
            }
            string url = string.Format("/pc/MobileMailBoxBindInfo.aspx?mobile_no={0}", user.MobileNo);
            try
            {
                url = emailAdapter + url;
                using (HttpWebResponse response = ((HttpWebResponse) ConnectionFactory.CreateHttpWebRequest(url, user, false, true).GetResponse()))
                {
                    if (response.StatusCode == HttpStatusCode.PartialContent)
                    {
                        user.MobileMailInfo.IsInRunningProvince = false;
                        user.MobileMailInfo.OnValueChange();
                        return true;
                    }
                    using (Stream inStream = response.GetResponseStream())
                    {
                        XmlDocument document = new XmlDocument();
                        document.Load(inStream);
                        XmlNode node = document.DocumentElement.SelectSingleNode("result");
                        if (node != null)
                        {
                            user.MobileMailInfo.Alias = XmlHelper.ReadXmlAttributeString(node, "alias");
                            user.MobileMailInfo.Postfix = XmlHelper.ReadXmlAttributeString(node, "postfix");
                            user.MobileMailInfo.Mail_Status = XmlHelper.ReadXmlAttributeInt32(node, "mail_status");
                            user.MobileMailInfo.Alias_Status = XmlHelper.ReadXmlAttributeInt32(node, "alias_status");
                            user.MobileMailInfo.Binding_Status = XmlHelper.ReadXmlAttributeInt32(node, "binding_status");
                            user.MobileMailInfo.Binding_direction = XmlHelper.ReadXmlAttributeInt32(node, "binding_direction");
                            if (user.MobileMailInfo.Alias == string.Empty)
                            {
                                user.MobileMailInfo.Alias = user.Sid.ToString();
                            }
                            user.MobileMailInfo.IsInRunningProvince = true;
                            user.MobileMailInfo.OnValueChange();
                            return true;
                        }
                    }
                }
            }
            catch (WebException exception)
            {
                ClientLogger.WriteGeneral("获取手机邮箱信息", exception.Message + "\r\nUrl: " + url, 10);
                int num = Convert.ToInt32(((HttpWebResponse) exception.Response).StatusCode);
                switch (num)
                {
                    case 400:
                    case 0x191:
                    case 500:
                        goto Label_0287;
                }
                string text3 = "获取手机邮箱信息,未知错误" + num.ToString();
            }
            catch (Exception exception2)
            {
                ClientLogger.WriteGeneral("获取手机邮箱信息", exception2.Message + "\r\nUrl: " + url, 10);
            }
        Label_0287:
            return false;
        }

        public static bool GetUnReadMailNum(User user)
        {
            if (user == null)
            {

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -