Example #1
0
        /// <summary>
        /// 发送邮件(仅用于SMTP25或Explicit SSL(587端口)发送,Implicit SSL使用:SendSSLEmailL)
        /// 该方法仅用于测试,使用请用异步调用
        /// </summary>
        /// <param name="account">邮箱名</param>
        /// <param name="passwd">邮箱密码</param>
        /// <param name="server">SMTP服务器域名</param>
        /// <param name="port">SMTP为25,SSL:465,如果使用IMAP则需另设</param>
        /// <param name="mailInfo">邮件内容</param>
        /// <param name="attach">附件物理地址</param>
        /// <returns></returns>
        public static MailState SendEmail(string account, string passwd, string server, MailInfo mailInfo, string[] attach)
        {
            SmtpClient        client     = new SmtpClient(server, 25);
            NetworkCredential credential = new NetworkCredential(account, passwd);

            client.UseDefaultCredentials = true;
            client.EnableSsl             = false;
            client.Credentials           = credential.GetCredential(server, 25, "Basic");
            client.DeliveryMethod        = SmtpDeliveryMethod.Network;
            //--------------------------------------------------
            MailMessage mailMessage = GetMailMessage(mailInfo, account);

            mailMessage.BodyEncoding = Encoding.UTF8;
            mailMessage.IsBodyHtml   = true;
            foreach (string file in attach)//物理路径
            {
                if (string.IsNullOrEmpty(file))
                {
                    continue;
                }
                Attachment item = new Attachment(file);
                mailMessage.Attachments.Add(item);
            }
            client.Send(mailMessage);
            MailState state = MailState.Ok;

            return(state);
        }
Example #2
0
    /// <summary>
    /// 刷新信件item信息
    /// </summary>
    /// <param name="id"></param>
    public void RefreshMailType(List <int> ids, MailState type)
    {
        for (int i = 0; i < ids.Count; i++)
        {
            int id = ids[i];
            if (_mailDataDic.ContainsKey(id))
            {
                MailData mailData = _mailDataDic[id];
                mailData._type = type;
                if (type == MailState.DeleteState)
                {
                    _mailDatas.Remove(mailData);
                    _mailBoxTimeController.CloseCountDown(mailData._mailID);
                }
            }
        }

        List <MailData> mailDatas = new List <MailData>();

        for (int i = 0; i < _mailDatas.Count; i++)
        {
            mailDatas.Add(_mailDataDic[_mailDatas[i]._mailID]);
        }

        GetMailData(mailDatas);
    }
Example #3
0
    /// <summary>
    /// 刷新信件item信息
    /// </summary>
    /// <param name="id"></param>
    public void RefreshMailType(List <MailData> mailDatas, MailState type)
    {
        if (mailDatas == null || mailDatas.Count <= 0)
        {
            return;
        }
        List <MailData> mailDatasNew = new List <MailData>();

        for (int i = 0; i < mailDatas.Count; i++)
        {
            MailData data = mailDatas[i];
            if (_mailDataDic.ContainsKey(data._mailID))
            {
                MailData mailData = _mailDataDic[data._mailID];
                mailData._type = type;

                if (type == MailState.DeleteState)
                {
                    _mailDatas.Remove(mailData);
                    _mailBoxTimeController.CloseCountDown(mailData._mailID);
                }
            }
        }

        for (int i = 0; i < _mailDatas.Count; i++)
        {
            mailDatasNew.Add(_mailDatas[i]);
        }
        GetMailData(mailDatasNew);
    }
        public void RequestSending(MessageWrapper msg, MailState mailState)
        {
            //Methode wird vom Frontend ausgeführt

            string key = mailState.Id;

            lock (tempMailCountLock)
            {
                TempMailCount++;
            }
            MainWindow    mainWindow      = (MainWindow)Application.Current.MainWindow;
            ServerControl myServerControl = (ServerControl)mainWindow.GetServerControl(key);

            //TextBox statusBox = (TextBox) myServerControl.statusBar.Items[0];
            if (mailState.EndlessSending)
            {
                try
                {
                    myServerControl.resToMailPanel1.progressBar.Maximum++;
                }
                catch (Exception ex) { }
            }
            try
            {
                myServerControl.resToMailPanel1.progressBar.Value++;
                myServerControl.resToMailPanel1.txtActMails.Text = myServerControl.resToMailPanel1.progressBar.Value.ToString();
            }
            catch (Exception ex)
            {
                myServerControl.resToMailPanel1.txtActMails.Text = "> " + myServerControl.resToMailPanel1.txtActMails.Text;
            }
        }
        public void UpdateMailSending(MessageWrapper msg, MailState mailState)
        {
            string key = mailState.Id;

            lock (tempMailCountLock)
            {
                TempMailCount++;
            }
            MainWindow    mainWindow      = (MainWindow)Application.Current.MainWindow;
            ServerControl myServerControl = (ServerControl)mainWindow.GetServerControl(key);

            //TextBox statusBox = (TextBox) myServerControl.statusBar.Items[0];
            if (mailState.EndlessSending)
            {
                try
                {
                    myServerControl.resToMailPanel1.progressBar.Maximum++;
                }
                catch (Exception ex) { }
            }
            try
            {
                myServerControl.resToMailPanel1.progressBar.Value++;
                myServerControl.resToMailPanel1.txtActMails.Text = myServerControl.resToMailPanel1.progressBar.Value.ToString();
            }
            catch (Exception ex)
            {
                myServerControl.resToMailPanel1.txtActMails.Text = "> " + myServerControl.resToMailPanel1.txtActMails.Text;
            }

            /*
             * if (!msg.Corrupt)
             * {
             *  if (mailState.CountWholeMailsSend < 300000)
             *  {
             *      myServerControl.mailingOutput.Items.Add(msg.MessagePath);
             *  }
             * }
             */


            //if (mailState.CountWholeMailsSend < 300000)

            if (msg.Corrupt)
            {
                lock (tempErrorMailCountLock)
                {
                    TempErrorMailCount++;
                }
                //string endState = "Sent: " + mailState.MailsSent + " Error: " + mailState.ErrorsWhileSendingMails;
                //myServerControl.mailingOutput.Items.Add(new LogMessage(endState));
                string     logMessage   = TempErrorMailCount + ".Error: " + msg.MessagePath + " " + msg.Ex[msg.Ex.Count - 1].Message.TrimEnd('\r', '\n', '\n');//.Replace(Environment.NewLine, "");
                LogMessage myLogMessage = new LogMessage(logMessage);
                myServerControl.mailingOutput.Items.Add(myLogMessage);
                myServerControl.mailingOutput.SelectedItem = myLogMessage;
                myServerControl.mailingOutput.ScrollIntoView(myLogMessage);
                //Fehler ist fertig geloggt, nun zurücksetzen, vielleicht klappt es ja beim nächsten mal
                msg.Corrupt = false;
            }
        }
        private void SetState(MailState state)
        {
            switch (state)
            {
            case MailState.NewMail:
                _trayIcon.SetIconAsResource(NewMailIcon);
                if (HaveMessagesChanged())
                {
                    ShowToast();
                }
                break;

            case MailState.NoNewMail:
                if (HaveMessagesChanged())
                {
                    _trayIcon.SetIconAsResource(NoNewMailIcon);
                    _toast.Hide();
                }
                break;

            case MailState.Unknown:
                if (HaveMessagesChanged())
                {
                    _trayIcon.SetIconAsResource(ErrorIcon);
                    _toast.Hide();
                }
                break;
            }
        }
Example #7
0
 public void ChangeState(MailState mailState)
 {
     if (MailState != mailState)
     {
         MailState = mailState;
     }
 }
Example #8
0
        /// <summary>
        /// 发送邮件并返回状态信息
        /// </summary>
        /// <returns>状态信息</returns>
        public MailState Send()
        {
            MailConfig mailConfig = ConfigHelper.Get <MailConfig>();
            MailState  mailcode   = ValidMail(mailConfig);

            if (mailcode == MailState.None)
            {
                MimeMessage mailMessage = GetMailMessage(mailConfig);
                try
                {
                    using (var client = new SmtpClient())
                    {
                        //连接到Smtp服务器
                        client.Connect(mailConfig.MailServer, mailConfig.Port, mailConfig.EnabledSsl);
                        //登陆
                        client.Authenticate(mailConfig.MailServerUserName, mailConfig.MailServerPassWord);
                        //发送
                        client.Send(mailMessage);
                        //断开
                        client.Disconnect(true);
                    }
                    mailcode = MailState.Ok;
                }
                catch (SmtpCommandException exception)
                {
                    switch (exception.StatusCode)
                    {
                    case SmtpStatusCode.MailboxNameNotAllowed:
                        mailcode = MailState.UserNameOrPasswordError;
                        break;

                    default:
                        mailcode = MailState.SendFailure;
                        break;
                    }
                    if (exception.InnerException is IOException)
                    {
                        mailcode = MailState.AttachmentSizeLimit;
                    }
                    else if (exception.InnerException is WebException)
                    {
                        if (exception.InnerException.InnerException == null)
                        {
                            mailcode = MailState.SmtpServerNotFind;
                        }
                        else if (exception.InnerException.InnerException is SocketException)
                        {
                            mailcode = MailState.PortError;
                        }
                    }
                    else
                    {
                        mailcode = MailState.NonsupportSsl;
                    }
                }
            }
            this.Msg = GetMailStateInfo(mailcode);
            return(mailcode);
        }
Example #9
0
 public void OnBeforeMailSent(MessageWrapper mail, MailState mailState)
 {
     IServer.BeforeMailsentHandler myEvent = BeforeMailsentEvent;
     if (myEvent != null)
     {
         myEvent(mail, mailState);
     }
 }
Example #10
0
 public void OnRequestSentFailed(MessageWrapper mail, MailState mailState)
 {
     IServer.RequestSendFailedHandler myEvent = RequestSendFailedEvent;
     if (myEvent != null)
     {
         myEvent(mail, mailState);
     }
 }
        private void SetTrayTooltip(MailState state)
        {
            _trayIcon.TooltipMessage = state == MailState.Unknown ? Strings.Error
                                          : _client.NewMessages.Count == 0 ? Strings.NoNewMail
                                          : _client.NewMessages.Count == 1 ? Strings.SingleNewMail
                                          : string.Format(Strings.MultipleNewMail, _client.NewMessages.Count);

            _trayIcon.TooltipMessage += Environment.NewLine + Strings.TooltipEnd;
        }
Example #12
0
    public void setDelivered()
    {
        status = MailState.Delivered;

        if (MAIL_DEBUG)
        {
            Debug.Log("Mail: mail with ID " + mailID + " was delivered");
        }
    }
Example #13
0
    public void setPicked()
    {
        status = MailState.Picked;

        if (MAIL_DEBUG)
        {
            Debug.Log("Mail: mail with ID " + mailID + " was picked up");
        }
    }
Example #14
0
    void setWaiting()
    {
        status = MailState.Waiting;

        if (MAIL_DEBUG)
        {
            Debug.Log("Mail: mail with ID " + mailID + " is waiting to be picked up");
        }
    }
Example #15
0
    //设置所有的战报为已读状态
    void ChangFightStateRead()
    {
        MailState state = MailReveicer.Instance.mailState;

        if (state == MailState.newFight || state == MailState.AllNew)
        {
            //Debug.Log("SendFightAllReadRequest");
            SendFightAllReadRequest();
        }
    }
Example #16
0
 public MailItem(string from, string to, string subject, string body, IAttachment attachment, MailState mailState)
 {
     ID         = Guid.NewGuid();
     From       = from;
     To         = to;
     Subject    = subject;
     Body       = body;
     MailState  = mailState;
     Attachment = attachment;
 }
Example #17
0
 public void initialize(string mailIDVal, string fromHouseIDVal, string toHouseIDVal,
                        int daysToReadVal, List <string> textVal)
 {
     mailID      = mailIDVal;
     fromHouseID = fromHouseIDVal;
     toHouseID   = toHouseIDVal;
     daysToRead  = daysToReadVal;
     text        = textVal;
     status      = MailState.None;
 }
        public void BeforeMailSending(MessageWrapper msg, MailState mailState)
        {
            string key = mailState.Id;

            MainWindow    mainWindow      = (MainWindow)Application.Current.MainWindow;
            ServerControl myServerControl = (ServerControl)mainWindow.GetServerControl(key);
            TextBox       statusBox       = (TextBox)myServerControl.statusBar.Items[0];

            statusBox.Text = msg.MessagePath;
        }
 public void ServerImpl_MailsendEvent(MessageWrapper msg, MailState mailState)
 {
     /*
      * lock (mailsPlusSemaphore)
      * {
      *  TempMailCount++;
      *
      *
      * }
      */
     Dispatcher.BeginInvoke(new UpdateMailSendingCallback(UpdateMailSending), msg, mailState);
 }
 public void ServerImpl_RequestSendFailedEvent(MessageWrapper msg, MailState mailState)
 {
     /*
      * lock (mailsPlusSemaphore)
      * {
      *  TempMailCount++;
      *
      *
      * }
      */
     Dispatcher.BeginInvoke(new RequestSendFailedCallback(RequestSendFailed), msg, mailState);
 }
        public void UpdateSendMailsEnd(MailState mailState)
        {
            string        key             = mailState.Id;
            MainWindow    mainWindow      = (MainWindow)Application.Current.MainWindow;
            ServerControl myServerControl = (ServerControl)mainWindow.GetServerControl(key);

            lock (threadsEndedSemaphore)
            {
                m_ThreadsEnded++;


                if (m_ThreadsEnded >= m_connections)
                {
                    //Alle Threads beendet
                    ServerStatus serverStatus = Singleton <ServerSendManager> .Instance.GetCorrectServer(mailState.Id);

                    serverStatus.EndTime = DateTime.Now;
                    TimeSpan sendDuration = serverStatus.EndTime.Subtract(serverStatus.StartTime);



                    string     endState    = "Sent: " + mailState.MailsSent + " Error: " + mailState.ErrorsWhileSendingMails + " Started: " + serverStatus.StartTime.ToString(@"HH\:mm\:ss") + " Duration: " + sendDuration.ToString(@"dd\.hh\:mm\:ss\.fffffff");
                    LogMessage myLogMessge = new LogMessage(endState);
                    myServerControl.mailingOutput.Items.Add(myLogMessge);
                    myServerControl.mailingOutput.SelectedItem = myLogMessge;
                    myServerControl.mailingOutput.ScrollIntoView(myLogMessge);

                    if (mailState.Ex.Count > 0)
                    {
                        foreach (Exception ex in mailState.Ex)
                        {
                            LogMessage myLogMessgeError = new LogMessage(mailState.Ex[0].Message);
                            myServerControl.mailingOutput.Items.Add(myLogMessgeError);
                            myServerControl.mailingOutput.SelectedItem = myLogMessgeError;
                            myServerControl.mailingOutput.ScrollIntoView(myLogMessgeError);
                        }
                    }
                    myServerControl.startMailPanel1.startButton.Content = "Start";
                    myServerControl.resToMailPanel1.IsEnabled           = true;
                    myServerControl.mailsPanel.IsEnabled = true;
                    myServerControl.run = false;
                    myServerControl.startMailPanel1.startButton.IsEnabled = true;

                    if (!Singleton <ServerSendManager> .Instance.SetRunEnded(mailState.Id))
                    {
                        Log.logger.Error("Run ended couldn't been set in ServerStatus");
                    }
                    m_ThreadsEnded = 0;
                }
            }
        }
Example #22
0
        public static string GetMailStateInfo(MailState mailcode)
        {
            switch (mailcode)
            {
            case MailState.NoMailToAddress:
                return("缺少收件人地址");

            case MailState.NoSubject:
                return("缺少邮件标题");

            case MailState.FileNotFind:
                return("附件文件没找到");

            case MailState.MailConfigIsNullOrEmpty:
                return("邮件参数配置不全");

            case MailState.SendFailure:
                return("邮件发送失败");

            case MailState.ConfigFileIsWriteOnly:
                return("无法读取邮件参数配置文件");

            case MailState.SaveFailure:
                return("文件保存失败");

            case MailState.SmtpServerNotFind:
                return("邮件服务器不存在");

            case MailState.UserNameOrPasswordError:
                return("邮件服务器用户名和密码验证没通过");

            case MailState.AttachmentSizeLimit:
                return("附件大小超出限制");

            case MailState.MustIssueStartTlsFirst:
                return("邮件服务器仅接受TLS连接,可以设置支持SSL加密解决");

            case MailState.NonsupportSsl:
                return("邮件服务器不支持SSL加密");

            case MailState.PortError:
                return("邮件服务器端口错误");

            case MailState.Ok:
                return("邮件发送成功");
            }
            return("没有返回信息");
        }
Example #23
0
        /// <summary>
        /// 得到邮件状态对应的文本信息
        /// </summary>
        /// <param name="mailcode">自定义邮件状态</param>
        /// <returns>邮件状态信息</returns>
        public static string GetMailStateInfo(MailState mailcode)
        {
            switch (mailcode)
            {
            case MailState.NoMailToAddress:
                return("没有可发送的信箱地址");

            case MailState.NoSubject:
                return("没有邮件题标");

            case MailState.FileNotFind:
                return("找不到要上传的文件");

            case MailState.MailConfigIsNullOrEmpty:
                return("邮箱配置错误");

            case MailState.SendFailure:
                return("发送不成功");

            case MailState.ConfigFileIsWriteOnly:
                return("配置文件只读");

            case MailState.SaveFailure:
                return("保存不成功");

            case MailState.SmtpServerNotFind:
                return("找不到指定的SMTP服务器");

            case MailState.UserNameOrPasswordError:
                return("用户名或密码错误");

            case MailState.AttachmentSizeLimit:
                return("附件容量受到限制");

            case MailState.MustIssueStartTlsFirst:
                return("SMTP 服务器要求安全连接(SSL)或客户端未通过身份验证。");

            case MailState.NonsupportSsl:
                return("服务器不支持安全连接");

            case MailState.PortError:
                return("不能建立连接,或者SMTP端口设置有错误");

            case MailState.Ok:
                return("邮件发送成功");
            }
            return("未知的错误");
        }
Example #24
0
        public static string GetMailStateInfo(MailState mailcode)
        {
            switch (mailcode)
            {
                case MailState.NoMailToAddress:
                    return "缺少收件人地址";

                case MailState.NoSubject:
                    return "缺少邮件标题";

                case MailState.FileNotFind:
                    return "附件文件没找到";

                case MailState.MailConfigIsNullOrEmpty:
                    return "邮件参数配置不全";

                case MailState.SendFailure:
                    return "邮件发送失败";

                case MailState.ConfigFileIsWriteOnly:
                    return "无法读取邮件参数配置文件";

                case MailState.SaveFailure:
                    return "文件保存失败";

                case MailState.SmtpServerNotFind:
                    return "邮件服务器不存在";

                case MailState.UserNameOrPasswordError:
                    return "邮件服务器用户名和密码验证没通过";

                case MailState.AttachmentSizeLimit:
                    return "附件大小超出限制";

                case MailState.MustIssueStartTlsFirst:
                    return "邮件服务器仅接受TLS连接,可以设置支持SSL加密解决";

                case MailState.NonsupportSsl:
                    return "邮件服务器不支持SSL加密";

                case MailState.PortError:
                    return "邮件服务器端口错误";

                case MailState.Ok:
                    return "邮件发送成功";
            }
            return "没有返回信息";
        }
        public void UpdateMaxMailsSending(MailState mailState)
        {
            string key = mailState.Id;


            //MainWindow mainWindow = (MainWindow)Application.Current.MainWindow;
            //ServerControl myServerControl = (ServerControl)mainWindow.GetServerControl(key);
            // myServerControl.resToMailPanel1.txtActMails.Text = "0";
            try
            {
                //myServerControl.resToMailPanel1.progressBar.Maximum = mailState.WholeMailsToSend;
            }
            catch (Exception ex)
            {
            }
            //myServerControl.resToMailPanel1.lblWholeMails.Text = mailState.WholeMailsToSend.ToString();
            //SetBindings(key);
        }
Example #26
0
        private static MailState ValidInfo(MailInfo mailInfo, MailConfig mailSettings)
        {
            MailState none = MailState.None;

            if (string.IsNullOrEmpty(mailSettings.MailFrom) || string.IsNullOrEmpty(mailSettings.MailServer))
            {
                return(MailState.MailConfigIsNullOrEmpty);
            }
            if (mailInfo.ToAddress == null)
            {
                return(MailState.NoMailToAddress);
            }
            if (string.IsNullOrEmpty(mailInfo.Subject))
            {
                return(MailState.NoSubject);
            }
            return(none);
        }
Example #27
0
 public void  SetNewSgin(MailState state)
 {
     newFight.enabled   = false;
     newMessage.enabled = false;
     if (state == MailState.newFight)
     {
         newFight.enabled = true;
     }
     else if (state == MailState.newMsg)
     {
         newMessage.enabled = true;
     }
     else if (state == MailState.AllNew)
     {
         newFight.enabled   = true;
         newMessage.enabled = true;
     }
 }
        public void RequestSendFailed(MessageWrapper msg, MailState mailState)
        {
            //Methode wird vom Frontend ausgeführt

            string key = mailState.Id;

            lock (tempMailCountLock)
            {
                TempMailCount++;
            }
            MainWindow    mainWindow      = (MainWindow)Application.Current.MainWindow;
            ServerControl myServerControl = (ServerControl)mainWindow.GetServerControl(key);
            //string logMessage = msg.MessagePath;
            LogMessage myLogMessage = new LogMessage(msg.MessagePath);

            myServerControl.mailingOutput.Items.Add(myLogMessage);
            myServerControl.mailingOutput.SelectedItem = myLogMessage;
            myServerControl.mailingOutput.ScrollIntoView(myLogMessage);
        }
Example #29
0
        private void SendEMail(string email)
        {
            string str;
            IList <MailAddress> list     = new List <MailAddress>();
            MailState           none     = MailState.None;
            MailInfo            mailInfo = new MailInfo();

            mailInfo.MailBody   = base.MessageBody;
            mailInfo.Subject    = base.MessageTitle;
            mailInfo.IsBodyHtml = true;
            if (this.m_SendType == SendType.SendToContacter)
            {
                str = "收货人";
            }
            else
            {
                str = "会员";
            }
            if (!string.IsNullOrEmpty(email) && DataValidator.IsEmail(email))
            {
                list.Add(new MailAddress(email));
                mailInfo.MailToAddressList = list;
                none = SendMail.Send(mailInfo);
                if (none == MailState.Ok)
                {
                    base.SuccessMsg.Append("<br>已经向" + str + "发送了一封Email,通知他");
                    base.SuccessMsg.Append(base.OperationMsg);
                    base.SuccessMsg.Append("!");
                }
                else
                {
                    string mailStateInfo = SendMail.GetMailStateInfo(none);
                    base.ErrorMsg.Append("<br>");
                    base.ErrorMsg.Append(mailStateInfo);
                    base.ErrorMsg.Append(",向" + str + "发送邮件失败!");
                }
            }
            else
            {
                base.ErrorMsg.Append("<br>邮件地址为空或无效邮件地址,向" + str + "发送邮件失败!");
            }
        }
Example #30
0
    /// <summary>
    /// 初始化
    /// </summary>
    /// <param name="data"></param>
    public void Initial(CSMailStruct data)
    {
        if (data.ConfigId != 0)
        {
            MailDefine mailDefine = StaticData.configExcel.GetMailByMailId(data.ConfigId);
            if (mailDefine != null)
            {
                _mailName    = StaticData.GetMultilingual(mailDefine.Title);
                _mailContent = StaticData.GetMultilingual(mailDefine.Message);
                _subhead     = StaticData.GetMultilingual(mailDefine.Subtitle);
            }
            else
            {
                _mailName    = "获取不到配置数据,邮件id:" + data.MailId;
                _mailContent = "获取不到配置数据,邮件配置id:" + data.ConfigId;
                _subhead     = "获取不到副标题";
            }
        }
        else
        {
            _mailName    = StaticData.GetMultilingual(data.Title);
            _mailContent = StaticData.GetMultilingual(data.Message);
            _subhead     = StaticData.GetMultilingual(data.SubheadID);;
        }
        _mailID = data.MailId;

        _timestamp = data.DisabledTime;

        _addressor = data.Addresser;
        _type      = (MailState)data.State;
        if (data.HaveAccessory == false)
        {
            _isHaveAccessory = false;
        }
        else
        {
            _isHaveAccessory = data.HaveAccessory;
        }
    }
Example #31
0
        /// <summary>
        /// 验证邮件配置信息并返回邮件状态信息
        /// </summary>
        /// <param name="mailSettings">邮件配置文件对象</param>
        /// <returns>邮件状态信息</returns>
        private MailState ValidMail(MailConfig mailSettings)
        {
            MailState none = MailState.None;

            if (string.IsNullOrEmpty(mailSettings.MailFrom) || string.IsNullOrEmpty(mailSettings.MailServer))
            {
                return(MailState.MailConfigIsNullOrEmpty);
            }
            if (this.MailToAddressList == null)
            {
                return(MailState.NoMailToAddress);
            }
            if (string.IsNullOrEmpty(this.Subject))
            {
                return(MailState.NoSubject);
            }
            if (!string.IsNullOrEmpty(this.AttachmentFilePath) && !System.IO.File.Exists(this.AttachmentFilePath))
            {
                none = MailState.FileNotFind;
            }
            return(none);
        }
 //---------------------------------------------------------------------
 // 响应邮件已读且领取所有附件
 public override void onReadMailAndRecvAttachments(
     IMProtocolResult result, string mail_guid, MailState new_mail_state, List<string> list_attachment)
 {
 }
 //---------------------------------------------------------------------
 // 响应邮件已读
 public override void onReadMail(IMProtocolResult result, string mail_guid, MailState new_mail_state)
 {
 }
Example #34
0
 //---------------------------------------------------------------------
 // 响应邮件已读
 public abstract void onReadMail(IMProtocolResult result, string mail_guid, MailState new_mail_state);