示例#1
0
        public string PostMails(MailData mails)
        {
            var result        = true;
            var failedMessage = "";

            try
            {
                MailSender.Default.Send("***YOUR MAIL***@gmail.com", mails.Recipients, mails.Subject, mails.Body);
            }
            catch (SmtpException e)
            {
                result        = false;
                failedMessage = e.Message;
            }
            Mail mail = new Mail()
            {
                Body = mails.Body, Subject = mails.Subject, SendingDate = DateTime.Now, Result = result, FailedMessage = failedMessage
            };

            db.Mails.Add(mail);
            foreach (var recipient in mails.Recipients)
            {
                db.SentMails.Add(new SentMail()
                {
                    Recipient = recipient, Mail = mail
                });
            }

            db.SaveChanges();
            if (result)
            {
                return("Message successfully sended");
            }
            return("Message not sended. " + failedMessage);
        }
示例#2
0
        public bool CheckMailContentByMailId(int mailId)
        {
            if (mailList == null || mailList.Count < 1)
            {
                return(false);
            }
            MailData mdb = null;

            foreach (var item in mailList)
            {
                if (item.Key == mailId)
                {
                    if (null == item.Value.mailContent)
                    {
                        return(false);
                    }
                    mdb = item.Value;
                    break;
                }
            }

            EventCenter.Broadcast((Int32)GameEventEnum.GameEvent_UpdateMailInfo, mdb);

            return(true);
        }
    public static void sendMail(MailData mail)
    {
        SmtpClient client = new SmtpClient(mail.SMTP.Domain);

        client.Port = mail.SMTP.Port;

        client.EnableSsl      = mail.SMTP.EnableSsl;
        client.Timeout        = mail.SMTP.Timeout;
        client.DeliveryMethod = Enum.GetValues(typeof(SmtpDeliveryMethod))
                                .Cast <SmtpDeliveryMethod>()
                                .SingleOrDefault(o => o.ToString() == mail.SMTP.DeliveryMethod);
        client.UseDefaultCredentials = mail.SMTP.UseDefaultCredentials;
        client.Credentials           = new NetworkCredential(mail.SMTP.UserName, mail.SMTP.Password);

        MailMessage msg = new MailMessage();

        foreach (var item in mail.Message.To)
        {
            msg.To.Add(new MailAddress(item));
        }
        foreach (var item in mail.Message.CC)
        {
            msg.CC.Add(new MailAddress(item));
        }

        msg.From       = new MailAddress(mail.Message.From);
        msg.Subject    = mail.Message.Subject;
        msg.Body       = mail.Message.Body;
        msg.IsBodyHtml = mail.Message.IsBodyHtml;

        client.Send(msg);
    }
示例#4
0
    public void sendMailByGoogle(MailData mailData)
    {
        string smtpServer = "smtp.gmail.com";
        int    smtpPort   = 587;
        string username   = "******";
        string password   = "******";

        MailMessage mailMessage = new MailMessage();

        mailMessage.From = new MailAddress(mailData.senderAddress);
        mailMessage.To.Add(new MailAddress(mailData.receiverAddress));

        mailMessage.Subject         = mailData.subject;
        mailMessage.SubjectEncoding = Encoding.UTF8;

        ContentType   mimeType  = new ContentType("text/html");
        AlternateView alternate = AlternateView.CreateAlternateViewFromString(mailData.message, mimeType);

        mailMessage.AlternateViews.Add(alternate);

        SmtpClient smtpClient = new SmtpClient(smtpServer, smtpPort);

        smtpClient.Credentials = new System.Net.NetworkCredential(username, password);
        smtpClient.EnableSsl   = true;

        smtpClient.Send(mailMessage);
    }
示例#5
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);
    }
示例#6
0
        public void Test_ReceiveGiftNoPlace()
        {
            TestHelpers.Instance.WorldConfiguration.BackpackSize = 0;
            var item = _item.Create(1);
            var mail = new MailData
            {
                ItemInstance = (ItemInstanceDto)item,
                MailDto      = new MailDto
                {
                    ItemInstanceId = item.Id
                }
            };

            _itemInstanceDao.Setup(o => o.FirstOrDefault(It.IsAny <Expression <Func <IItemInstanceDto, bool> > >()))
            .Returns(item);
            _mailHttpClient.Setup(s => s.GetGift(1, _session.Character.CharacterId, false)).Returns(mail);
            _pclPacketHandler.Execute(new PclPacket
            {
                Type   = 4,
                GiftId = 1
            }, _session);
            var packet = (ParcelPacket)_session.LastPackets.FirstOrDefault(s => s is ParcelPacket);

            Assert.IsTrue(packet.Type == 5);
        }
示例#7
0
    //分享钻石
    public void FenXiangRqs(SocketModel socketModel)
    {
        if (socketModel.GetCommand() == 18)
        {
            List <int> list = socketModel.GetData();
            int        fk   = list[0];
            GameInfo.Instance.setUserFk(fk);
            GameEvent.DoMsgTipEvent("分享钻石成功!");

            List <string> mList = socketModel.GetMessage();
            MailData      md    = new MailData();
            md.setDataTime(mList[0]);
            md.setFk(int.Parse(mList[1]));
            md.setGid(int.Parse(mList[2]));
            md.setStype(int.Parse(mList[3]));
            GameInfo.Instance.mailList.Insert(0, md);
        }
        else if (socketModel.GetCommand() == 17)
        {
            GameEvent.DoMsgTipEvent("用户不存在!");
        }
        else
        {
            GameEvent.DoMsgTipEvent("未知错误!");
        }
    }
    private void GetReward(MailData mailData)
    {
        this.rewardModelList = mailData.Mail_AwardList;
        Singleton <MailView> .Instance.GetRewardResult(this.rewardModelList);

        Singleton <MenuBottomBarView> .Instance.CheckHeroState();
    }
示例#9
0
        public async Task <IActionResult> IncommingMailAsync([FromBody] MailData data)
        {
            if (!ModelState.IsValid)
            {
                return(BadRequest());
            }

            var session = Broadcaster.Instance.GetCharacter(s => s.Name == data.ReceiverName);

            if (session == null)
            {
                throw new InvalidOperationException();
            }

            if (data.ItemInstance != null)
            {
                await session.SendPacketAsync(session.GenerateSay(
                                                  string.Format(GameLanguage.Instance.GetMessageFromKey(LanguageKey.ITEM_GIFTED, session.AccountLanguage),
                                                                data.ItemInstance.Amount), SayColorType.Green)).ConfigureAwait(false);
            }

            await session.GenerateMailAsync(new[] { data }).ConfigureAwait(false);

            return(Ok());
        }
示例#10
0
        public ActionResult Contact([Bind(Include = "ime,email,naslov,poruka")]
                                    MailData podaci)
        {
            podaci        = new MailData();
            podaci.ime    = String.Format("{0}", Request.Form["name"]);
            podaci.email  = String.Format("{0}", Request.Form["email"]);
            podaci.naslov = String.Format("{0}", Request.Form["subject"]);
            podaci.poruka = String.Format("{0}", Request.Form["message"]);
            if (ModelState.IsValid)
            {
                MailMessage mail       = new MailMessage();
                SmtpClient  SmtpServer = new SmtpClient("smtp.gmail.com");
                mail.From    = new MailAddress(podaci.email);
                mail.Sender  = new MailAddress(podaci.email);
                mail.ReplyTo = new MailAddress(podaci.email);
                mail.To.Add("*****@*****.**");
                mail.Subject = podaci.naslov;
                mail.Body    = podaci.poruka;
                SmtpServer.UseDefaultCredentials = false;
                SmtpServer.Port        = 587;
                SmtpServer.Credentials = new System.Net.NetworkCredential("*****@*****.**", "Kristal1$");
                SmtpServer.EnableSsl   = true;

                SmtpServer.Send(mail);
            }

            return(View());
        }
        public async Task <DistributorData> Compose(
            MailData mailData,
            MorestachioDocumentInfo parsedTemplate,
            CompiledExpression compiledAddressExpression,
            CompiledExpression compiledSubjectExpression,
            CompiledExpression compiledNameExpression,
            CompiledExpression compiledFromAddressExpression,
            CompiledExpression compiledFromNameExpression)
        {
            var context = new ContextObject(parsedTemplate?.ParserOptions ?? new ParserOptions(), ".", null, mailData);

            mailData.MailInfo.ToName = compiledNameExpression != null
                                ? (await compiledNameExpression(context, new ScopeData())).Value.ToString()
                                : null;
            mailData.MailInfo.ToAddress = compiledAddressExpression != null
                                ? (await compiledAddressExpression(context, new ScopeData())).Value.ToString()
                                : null;
            mailData.MailInfo.FromAddress = compiledFromAddressExpression != null
                                ? (await compiledFromAddressExpression(context, new ScopeData())).Value.ToString()
                                : null;
            mailData.MailInfo.FromName = compiledFromNameExpression != null
                                ? (await compiledFromNameExpression(context, new ScopeData())).Value.ToString()
                                : null;
            mailData.MailInfo.Subject = compiledSubjectExpression != null
                                ? (await compiledSubjectExpression(context, new ScopeData())).Value.ToString()
                                : null;

            return(new DistributorData(mailData.MailInfo,
                                       parsedTemplate != null ? (await parsedTemplate.CreateAsync(mailData)) : null));
        }
示例#12
0
        private List <MailData> SortList(List <MailData> mailDataList)
        {
            if (mailDataList == null)
            {
                return(new List <MailData>());
            }
            if (mailDataList.Count <= 1)
            {
                return(mailDataList);
            }
            int num;

            for (int i = mailDataList.Count - 1; i > 0; i = num)
            {
                num = 0;
                for (int j = 0; j < i; j++)
                {
                    if (mailDataList[j].Time.CompareTo(mailDataList[j + 1].Time) < 0)
                    {
                        num = j;
                        MailData value = mailDataList[j];
                        mailDataList[j]     = mailDataList[j + 1];
                        mailDataList[j + 1] = value;
                    }
                }
            }
            return(mailDataList);
        }
示例#13
0
        public bool SendMessage(EmailModel model)
        {
            var mailData = new MailData();

            mailData.ToEmail   = new MailAddress(model.To);
            mailData.FromEmail = new MailAddress(model.From);
            mailData.BccEmail  = new MailAddress(model.From);

            try
            {
                mailData.Subject = model.Subject;
                mailData.Body    = model.Body;
                // mailData.AttachmentData = AddAttachmentList(item).GetAwaiter().GetResult();

                SendMail(mailData);
            }
            catch (Exception ex)
            {
                //TODO: Logging
                Console.WriteLine(ex);
                var messageExc = ex.Message;
                if (ex.InnerException != null)
                {
                    messageExc += ex.InnerException;
                    throw new Exception(messageExc);
                }

                throw new Exception(messageExc);
            }

            return(true);
        }
示例#14
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);
    }
示例#15
0
    /// <summary>
    /// 领取邮件成功
    /// </summary>
    public void onTakeMail(int index)
    {
        if (_mails == null)
        {
            me.warnLog("领取邮件成功时,没有邮件列表");
            return;
        }

        MailData data = _mails.get(index);

        if (data == null)
        {
            me.warnLog("领取邮件成功时,找不到邮件");
            return;
        }

        data.rewarded = true;
        me.dispatch(GameEventType.RewardOneMail, index);
        if (!data.readed)
        {
            data.readed = true;

            _newNum--;
            me.dispatch(GameEventType.RefreshNewMailNum);
        }

        me.dispatch(GameEventType.RefreshOneMail, index);
    }
        public JsonResult SendEmail(object json)
        {
            MailModel mail = new MailModel(json.ToString());
            MailData  md   = new MailData();

            md.MailTo      = mail.MailTo;
            md.MailSubject = mail.MailSubject;
            md.MailBody    = mail.MailBody;
            MailBusiness mb         = new MailBusiness(md);
            JsonResult   jsonReturn = new JsonResult();

            try
            {
                mb.SendEmail();
                jsonReturn.Data = true;
            }
            catch
            {
                jsonReturn.Data = false;
            }
            //string jsonString = JsonConvert.SerializeObject(am.GetAccountModels(dt));
            //jsonReturn.Data = "mail sending ...";
            jsonReturn.JsonRequestBehavior = JsonRequestBehavior.AllowGet;
            jsonReturn.ContentType         = "application/json";
            return(jsonReturn);
        }
示例#17
0
        public static void Send(MailData mailData, MailConfiguration mailConfiguration)
        {
            Log.Logger = new LoggerConfiguration()
                         .MinimumLevel.Debug()
                         .WriteTo.Console()
                         .WriteTo.File("logs\\Mail.txt", rollingInterval: RollingInterval.Month)
                         .CreateLogger();

            MailMessage message = new MailMessage(mailConfiguration.Address, mailData.To)
            {
                Subject = mailData.Subject,
                Body    = mailData.Body
            };

            if (mailData.AttachmentStream != null)
            {
                Attachment attachment = new Attachment(mailData.AttachmentStream, MediaTypeNames.Application.Octet);
                message.Attachments.Add(attachment);
            }

            try
            {
                SmtpClient client = new SmtpClient(mailConfiguration.Server)
                {
                    Credentials = new NetworkCredential(mailConfiguration.LoginUser, mailConfiguration.GetPasswordDecrypted())
                };
                client.Send(message);
                message.Attachments.Dispose();
            }
            catch (Exception ex)
            {
                Log.Error($"Exception occured while sending mail.", ex);
            }
        }
示例#18
0
    protected void Page_Load(object sender, EventArgs e)
    {
        string strCommentId = Request.QueryString["commentId"];
        strCommentId = Server.UrlDecode(strCommentId);
        strCommentId = strCommentId.Replace('$', '+');
        strCommentId = Tools.Decrypt(strCommentId, true);
        strCommentId = strCommentId.Split('.')[0];

        int commentId = 0;
        int.TryParse(strCommentId, out commentId);

        string mapPathHtmls = System.Configuration.ConfigurationManager.AppSettings["PhysicalPath"] + @"\htmls";
        string template = mapPathHtmls + "\\MailReply.htm";
        MailData data = new MailData();

        PostAroundServiceClient client = new PostAroundServiceClient();

        Comment currComment = client.GetCommentByID(commentId);
        MyMessage mainMessage = client.GetMessageById(currComment.messageID, "", "", 0, 0, 0);
        User senderUser = client.GetUserByID(currComment.userID);
        client.Close();

        postHeader = mainMessage.title;
        postId = currComment.messageID;
        date = DateTime.Now.ToString("d MMMM, yyyy", System.Globalization.CultureInfo.CreateSpecificCulture("en-US"));
        message = currComment.body;
        senderFName = senderUser.firstName;
        senderFullName = senderUser.firstName + " " + senderUser.lastName;
        senderImage = senderUser.avatarImageUrl;
    }
示例#19
0
        public async Task <Response> Execute(string emailAddress)
        {
            var user = await _userService.FindByEmailAsync(emailAddress);

            if (user == null)
            {
                System.Net.HttpStatusCode statusCode = System.Net.HttpStatusCode.Unauthorized;
                return(new Response(statusCode, null, null));
            }

            var token  = _tokenHandler.CreatePasswordResetToken(user);
            var apiKey = Environment.GetEnvironmentVariable("Testology_sendgrid_key");
            var client = new SendGridClient(apiKey);
            var from   = new EmailAddress("*****@*****.**", "Ashley");
            // var from = new EmailAddress("*****@*****.**", "Ashley");
            var to             = new EmailAddress(emailAddress, "usuario de Testology");
            var templateData   = new MailData();
            var frontendDomain = _configuration.GetValue <string>("FrontendDomain");

            templateData.PasswordChangeUrl = frontendDomain + "/sesion/nuevo-pass/" + token;
            var msg      = MailHelper.CreateSingleTemplateEmail(from, to, "d-4bbc02bd9fd743bda97189fa9f4161f7", templateData);
            var response = await client.SendEmailAsync(msg);

            return(response);
        }
示例#20
0
        public ActionResult SendEmails(CustomNotify model)
        {
            if (Session["UserID"] != null)
            {
                TittleUserServices service = new TittleUserServices();
                List <string>      emails  = null;
                if (!string.IsNullOrEmpty(model.To))
                {
                    emails = model.To.Split('|').ToList();
                }
                else
                {
                    emails = service.GetAllUsersEmail();
                }

                //loop through users and send emails
                foreach (string email in emails)
                {
                    MailData mail = new MailData();
                    mail.Body    = model.Content;
                    mail.Subject = model.Subject;
                    mail.To      = email;
                    MailService.SendEmail(mail);
                }

                return(Json(new
                {
                    message = "success"
                }, JsonRequestBehavior.AllowGet));
            }
            return(Json(new
            {
                message = "error"
            }, JsonRequestBehavior.AllowGet));
        }
示例#21
0
        public async Task Test_ReceiveGiftNoPlaceAsync()
        {
            TestHelpers.Instance.WorldConfiguration.BackpackSize = 0;
            var item = _item !.Create(1);
            var mail = new MailData
            {
                ItemInstance = (ItemInstanceDto)item,
                MailDto      = new MailDto
                {
                    ItemInstanceId = item.Id
                }
            };

            _itemInstanceDao !.Setup(o => o.FirstOrDefaultAsync(It.IsAny <Expression <Func <IItemInstanceDto?, bool> > >()))
            .ReturnsAsync(item);
            _mailHttpClient !.Setup(s => s.GetGiftAsync(1, _session !.Character.CharacterId, false)).ReturnsAsync(mail);
            await _pclPacketHandler !.ExecuteAsync(new PclPacket
            {
                Type   = 4,
                GiftId = 1
            }, _session !).ConfigureAwait(false);
            var packet = (ParcelPacket?)_session !.LastPackets.FirstOrDefault(s => s is ParcelPacket);

            Assert.IsTrue(packet?.Type == 5);
        }
示例#22
0
        public void send(MailData email)
        {
            try
            {
                using (System.Net.Mail.SmtpClient client = new System.Net.Mail.SmtpClient())
                {
                    client.Host = "192.168.144.14";
                    client.Port = 25;
                    client.UseDefaultCredentials = true;

                    using (MailMessage mail = new MailMessage())
                    {
                        mail.Subject    = email.subject;
                        mail.Body       = email.content;
                        mail.From       = new MailAddress("*****@*****.**");
                        mail.IsBodyHtml = true;
                        mail.To.Add(email.to);
                        client.Send(mail);
                    }
                }
                email.setState(1);
            }
            catch (Exception e)
            {
                email.setState(2);
                Error.Log(e.ToString(), "EmailSender");
            }
        }
示例#23
0
    public void sendMailByYahoo(MailData mailData)
    {
        string smtpServer = "smtp.mail.yahoo.com";
        int    smtpPort   = 25;
        string username   = "******";
        string password   = "******";

        MailMessage mailMessage = new MailMessage();

        mailMessage.From = new MailAddress(mailData.senderAddress);
        mailMessage.To.Add(new MailAddress(mailData.receiverAddress));

        mailMessage.Subject         = mailData.subject;
        mailMessage.SubjectEncoding = Encoding.UTF8;

        mailMessage.Headers.Add("MIME-Version", "1.0");
        mailMessage.Headers.Add("X-Mailer", "Microsoft.NET Framework 4.5 System.Net");
        mailMessage.Headers.Add("X-MimeOLE", "Microsoft.NET Framework 4.5 System.Net.Mime");

        ContentType   mimeType  = new ContentType("text/html");
        AlternateView alternate = AlternateView.CreateAlternateViewFromString(mailData.message, mimeType);

        mailMessage.AlternateViews.Add(alternate);

        SmtpClient smtpClient = new SmtpClient(smtpServer, smtpPort);

        smtpClient.Credentials = new System.Net.NetworkCredential(username, password);
        smtpClient.EnableSsl   = false;

        smtpClient.Send(mailMessage);
    }
示例#24
0
    /** 删除邮件 */
    private void toDeleteMail(int index)
    {
        if (_mails == null)
        {
            me.warnLog("删除邮件时,没有邮件列表");
            return;
        }

        MailData data = _mails.remove(index);

        if (data == null)
        {
            return;
        }

        toRemoveRedPoint(data);

        if (!data.readed)
        {
            _newNum--;
            me.dispatch(GameEventType.RefreshNewMailNum);
        }

        MailData[] values = _mails.getValues();

        for (int i = index, len = _mails.size(); i < len; i++)
        {
            values[i].index = i;
        }

        me.dispatch(GameEventType.DeleteOneMail, index);
    }
示例#25
0
        public static void Run([QueueTrigger("messages", Connection = "AzureWebJobsStorage")]QueueMessage myQueueItem, TraceWriter log, ExecutionContext context)
        {
            var dbContext = OrderDbContext.GetInstance(Environment.GetEnvironmentVariable("OrderDbConnection"));
            var blobService = new BlobStorageService(Environment.GetEnvironmentVariable("BlobStorageUri"),
                Environment.GetEnvironmentVariable("BlobStorageAccount"),
                Environment.GetEnvironmentVariable("BlobStorageKey")
                );

            var order = dbContext.Order.Include(o => o.Person).FirstOrDefault(o => o.Id == myQueueItem.Order && o.PersonID == myQueueItem.Person);

            var mailData = new MailData
            {
                PersonName = $"{order.Person.FirstName} {order.Person.LastName}",
                Email = order.Person.Email,
                OrderNumber = order.OrderNumber,
                Status = ((OrderStatus)myQueueItem.Status).ToString(),
                EmailTemplate = blobService.GetEmailTemplateContents(Environment.GetEnvironmentVariable("EmailTemplateContainerName"),
                    Environment.GetEnvironmentVariable("EmailTemplateBlobName"))
            };

            var senGridService = new EmailService(Environment.GetEnvironmentVariable("SendGridApiKey"), Environment.GetEnvironmentVariable("FromEmail"));
            senGridService.SendEmail(mailData);

            log.Info($"C# Queue trigger function processed: {myQueueItem}");
        }
示例#26
0
    /// <summary>
    /// 标记某邮件已读
    /// </summary>
    public void mailReaded(int index)
    {
        MailData data = _mails.get(index);

        if (data == null)
        {
            me.warnLog("标记某邮件已读时,找不到邮件");
            return;
        }

        if (data.readed)
        {
            me.warnLog("标记某邮件已读时,邮件已读");
            return;
        }

        toRemoveRedPoint(data);

        data.readed = true;
        _newNum--;
        me.dispatch(GameEventType.RefreshNewMailNum);
        me.dispatch(GameEventType.RefreshOneMail, index);

        MailReadedRequest.create(index, data.instanceID).send();
    }
示例#27
0
        public ActionResult Export(MailData data)
        {
            //create pdf
            var pdfBinary = Convert.FromBase64String(data.Attachment);
            var dir       = Server.MapPath("~/DataDump");

            if (!Directory.Exists(dir))
            {
                Directory.CreateDirectory(dir);
            }

            var fileName = dir + "\\PDFnMail-" + DateTime.Now.ToString("yyyyMMdd-HHMMss") + ".pdf";

            // write content to the pdf
            using (var fs = new FileStream(fileName, FileMode.Create))
                using (var writer = new BinaryWriter(fs))
                {
                    writer.Write(pdfBinary, 0, pdfBinary.Length);
                    writer.Close();
                }

            //Send mail
            var status = SendMail(fileName, data.To);

            //Delete file from file system
            System.IO.File.Delete(fileName);

            //Return result to client
            return(Json(status ? new { result = "success" } : new { result = "failed" }));
        }
示例#28
0
    /// <summary>
    /// 领取邮件
    /// </summary>
    public void takeMail(int index)
    {
        MailData data = _mails.get(index);

        if (data == null)
        {
            me.warnLog("领取邮件时,找不到邮件");
            return;
        }

        if (data.rewarded || data.itemList == null)
        {
            me.warnLog("领取邮件时,已经领取过或者没有奖励");
            return;
        }

        toRemoveRedPoint(data);

        if (!data.readed)
        {
            data.readed = true;
            _newNum--;
            me.dispatch(GameEventType.RefreshNewMailNum);
            me.dispatch(GameEventType.RefreshOneMail, index);
        }

        TakeMailRequest.create(index, data.instanceID).send();
    }
示例#29
0
    /// <summary>
    /// 数据插入数据表后面
    /// </summary>
    public void InsertDataBack(LuaTable dataTable)
    {
        List <ItemData> newdatalist = new List <ItemData>();

        for (int i = 1; i <= dataTable.Length; i++)//LUA表的排序是从1开始
        {
            LuaTable mdataTable = dataTable[i] as LuaTable;
            //print("寄件人:" + mdata["SendUserName"] + "----标题:" + mdata["titleContent"]);
            string   _id      = Convert.ToString(mdataTable["id"]);
            string   title    = Convert.ToString(mdataTable["title"]);
            string   sender   = Convert.ToString(mdataTable["sender"]);
            int      receiver = Convert.ToInt32(mdataTable["receiver"]);
            string   content  = Convert.ToString(mdataTable["content"]);
            LuaTable rewards  = mdataTable["rewards"] as LuaTable;
            int      time     = Convert.ToInt32(mdataTable["time"]);
            string   way      = Convert.ToString(mdataTable["way"]);
            int      _new     = Convert.ToInt32(mdataTable["new"]);
            int      autoDel  = Convert.ToInt32(mdataTable["autoDel"]);


            ItemData mdata = new MailData(_id, title, sender, receiver, content, rewards, time, way, _new, autoDel);
            MailData d     = mdata as MailData;
            newdatalist.Add(mdata);
            //print("邮件ID:"+ d._id+"状态:"+d._new + "是否含有附件:"+d.isHaveFujian + "是否自动删除:"+d.autoDel);
        }

        datasList = DataSorting(newdatalist);
        print("排序后的邮件信息");
        foreach (ItemData data in datasList)
        {
            MailData d = data as MailData;
            print("邮件ID:" + d._id + "状态:" + d._new + "是否含有附件:" + d.isHaveFujian + "是否自动删除:" + d.autoDel);
        }
    }
示例#30
0
    /// <summary>
    /// 读取字节流(完整版)
    /// </summary>
    protected override void toReadBytesFull(BytesReadStream stream)
    {
        base.toReadBytesFull(stream);

        stream.startReadObj();

        BaseData dataT = stream.readDataFullNotNull();

        if (dataT != null)
        {
            if (dataT is MailData)
            {
                this.data = (MailData)dataT;
            }
            else
            {
                this.data = new MailData();
                if (!(dataT.GetType().IsAssignableFrom(typeof(MailData))))
                {
                    stream.throwTypeReadError(typeof(MailData), dataT.GetType());
                }
                this.data.shadowCopy(dataT);
            }
        }
        else
        {
            this.data = null;
        }

        stream.endReadObj();
    }
示例#31
0
        public void NotifyIncommingMail(int channelId, MailData mailRequest)
        {
            using var client = Connect(channelId);
            var content = new StringContent(JsonConvert.SerializeObject(mailRequest), Encoding.Default,
                                            "application/json");

            client.PostAsync(new Uri($"{client.BaseAddress}{ApiUrl}"), content).Wait();
        }
        private static MailData RenderTemplateInternal(MailTemplate template, IEnumerable<KeyValuePair<string, object>> data)
        {
            var engine = new VelocityEngine();
            engine.Init();

            var context = GetContext(data);

            var result = new MailData
                {
                    Subject = EvaluateTemplate(engine, context, template.Subject),
                    Body = EvaluateTemplate(engine, context, template.Content)
                };
            return result;
        }
示例#33
0
   void Mailer(String FromMail, String pwd)
 {
     MailServer objMail = new MailServer();
     MailData objmaildata = new MailData();
     objmaildata.from = "*****@*****.**";
     objmaildata.fromName = "KOD ROYAL CARD TEAM";
     //objmaildata.to = "*****@*****.**";
     objmaildata.to = FromMail.ToString();
     objmaildata.toName = "Royal Card Forgot Password: Mail";
     objmaildata.subject = "Royal Card Forgot Password Mail";
     string BodyMaggage = "<p> Email Id: " + FromMail.ToString() + "</p>"
         + "<p> New Password: "******"</p>"
         + "<p>Regards</p><p>KOD ROYAL CARD TEAM</p>"
         ;
     objmaildata.bodyMessage = BodyMaggage;
     objMail.sendMail_Net(objmaildata);
 }
示例#34
0
          void HTMLMailer(String FromMail, String pwd, String WebId)
          {
              MailServer objMail = new MailServer();
              MailData objmaildata = new MailData();
              objmaildata.from = "*****@*****.**";
              objmaildata.fromName = "KOD ROYAL CARD TEAM";

              objmaildata.to = FromMail.ToString();
              objmaildata.toName = "Royal Card Forgot Password: Mail";
              objmaildata.subject = "Royal Card Forgot Password Mail";
              string BodyMaggage = "<div style='height:770px; width:727px; background:url(http://royalty.kingdomofdreams.in/Skins/images/Emailer2.jpg) no-repeat;'>"
                  + "<div style='text-align:center; padding:260px 290px 50px 65px; font-family:Palatino Linotype, Century Gothic, Arial; font-weight:bold; font-size:14px;'>"
                  + "<p>Your holiness " + WebId.ToString() + ",</p>"
                   + "<p>Your Password is : " + pwd.ToString() + "</p>"
                  + "</div></div>"
                  ;
              objmaildata.bodyMessage = BodyMaggage;
              objMail.SendMailKOD(objmaildata);

          } 
示例#35
0
    protected void Page_Load(object sender, EventArgs e)
    {
        //try
        //{
        string mapPathHtmls = System.Configuration.ConfigurationManager.AppSettings["PhysicalPath"] + @"\htmls";
        string template = mapPathHtmls + "\\MailReply.htm";
        MailData data = new MailData();
        data.Date = "29 Jan 1983";
        data.SenderFullName = "Yaniv Aharon";
        data.Message = "Hello World";
        data.SenderFname = "Yaniv";
        data.MsgID = 192;
        data.UnsubscribeCode = "yaniv";
        data.SenderImage = "https://graph.facebook.com/567517451/picture";

        Mails.ReplyMailComposer mail = new Mails.ReplyMailComposer(data, template, "New Comment to your post around !");
        string body = mail.Compose();
        string title = mail.Title();
        //Tools.SendMailMessage("*****@*****.**", "*****@*****.**", null, null, title, body);
        //}
        //catch (Exception ex) { Response.Write(ex.InnerException); Response.End(); }
    }
示例#36
0
 public static bool IsReadMailFlag(MailData mailData)
 {
     return mailData.Read && mailData.AffixType.Count == 0;
 }
示例#37
0
 public static void OnTakeMailAffixReward(MailData data)
 {
     if (!GameAnalytics.IsValide())
     {
         return;
     }
     int num = 0;
     for (int i = 0; i < data.AffixType.Count; i++)
     {
         if (data.AffixType[i] == 2)
         {
             num = data.AffixValue1[i];
         }
     }
     if (num > 0)
     {
         TDGAVirtualCurrency.OnReward((double)num, data.Title);
     }
 }
示例#38
0
        /// <summary>
        /// send batch mail
        /// </summary>
        /// <param name="databaseName">databaseName</param>
        /// <param name="mailData">mailData</param>
        /// <returns></returns>
        public String sendBatchMail(String contactDatabaseId,String workspaceId, String directEmailId,MailData mailData, DateTime scheduleAt)
        {
            logger.Debug("************send Batch Mail***************");
            String result = OK_RESULT;
            try
            {
                if (String.IsNullOrEmpty(contactDatabaseId))
                {
                    return "No database ";
                }
                if (mailData == null || mailData.ContactJsonList == null || mailData.ContactJsonList.Count <= 0)
                {
                    return "No Contact";
                }     

                //const string pattern = "\\{.+?\\}";
                //List<string> tempList = Regex.Matches(mailData.mailBody, pattern).Cast<Match>().Select(a => a.Value).ToList();
                //foreach (string str in tempList)
                //{
                //    mailData.mailBody = mailData.mailBody.Replace(str, str.ToLower());
                //}
                ////查找<A的html标记,如果里面没有title属性,则增加这个属性.
                //mailData.mailBody = Util.addTitleInAFlagHtml(mailData.mailBody);


                String sequence = DateTime.Now.ToString("yyyyMMddhhmmss");
                ContactGroupAction contactGroupAction = new ContactGroupAction(client, userName, password, oWebProxy);               

                String contactGroupId = contactGroupAction.createContactGroup(contactDatabaseId, "月度佣金" + sequence, "monthly_fee" + sequence);

                String importId= this.importContact(contactDatabaseId, contactGroupId, mailData);

                Thread.Sleep(5 * 1000);
                while (true)
                {
                    ImportContactAction importContactAction = new ImportContactAction(client, userName, password, oWebProxy);
                    importStatus status = importContactAction.getImportStatus(importId);

                    if (status.Equals(importStatus.ENDED))
                    {
                        logger.InfoFormat("import contact File  successfully");
                        break;
                    }
                    if (status.Equals(importStatus.STOPPED) || status.Equals(importStatus.ABORTED))
                    {
                        logger.InfoFormat("fail to import contact File  as import status is " + status.ToString());
                         throw new Exception("fail to import contact File  as import status is " + status.ToString());
                      
                        //break;
                    }
                    logger.InfoFormat("Checking the import status, and current import status is " + status.ToString() );
                    Thread.Sleep(5 * 1000);
                }

              
                PublishingAction publishingAction = new PublishingAction(client, userName, password, oWebProxy);
                String publishId = publishingAction.publishingEmail(contactGroupId, directEmailId, scheduleAt);

                logger.Debug("publishId=" + publishId);
                result = "OK:"+publishId;

            }
            catch (Exception ex)
            {
                result = ex.Message;
                logger.Debug("error happen in send mail, error is " + result);
            }
            logger.Debug("************end sendMail ************");
            return result;
        }
示例#39
0
 public MailItemData(MailData aInfo)
 {
     this.mMailData = aInfo;
 }
        /// <summary>
        /// 4.1.1.5
        /// </summary>
        /// <returns></returns>
        private Response Reset()
        {
            _mailFrom = null;
            _recipientTo = null;
            _message = null;

            return new Response { Code = "250", Text = "OK" };
        }
示例#41
0
        public bool sendMail_Net(MailData aMail, bool asyncSend)
        {
            try
            {
                MailMessage oMsg = new MailMessage();
                oMsg.From = new MailAddress(aMail.from, aMail.fromName);
                oMsg.To.Add(new MailAddress(aMail.to, aMail.toName));
                if (aMail.tocc != null)
                    oMsg.CC.Add(aMail.tocc);
                oMsg.Subject = aMail.subject;
                if (aMail.subject.Contains("Royal Card"))
                {
                    Attachment mail = new Attachment("C:\\inetpub\\wwwroot\\TicketLive\\images\\Benefit Grid.jpg");
                    oMsg.Attachments.Add(mail);
                }
                oMsg.SubjectEncoding = System.Text.Encoding.UTF8;
                oMsg.Body = aMail.bodyMessage;
                oMsg.BodyEncoding = System.Text.Encoding.UTF8;
                oMsg.IsBodyHtml = true;

                oMsg.Priority = MailPriority.High;

                SmtpClient oSmtp = new SmtpClient(aMail.smtpServer);
                oSmtp.Port = 587;
                oSmtp.UseDefaultCredentials = false;
                NetworkCredential oCredential = new NetworkCredential(aMail.fromUID, aMail.fromPwd);
                oSmtp.Credentials = oCredential;
                oSmtp.EnableSsl = true;

                if (check_EMail_Address(aMail.to) == true)
                {
                    if (true == asyncSend)
                    {
                        // Set the method that is called back when the send operation ends.
                        oSmtp.SendCompleted += new
                        SendCompletedEventHandler(SendCompletedCallback);
                        // The userState can be any object that allows your callback 
                        // method to identify this send operation.
                        // For this example, the userToken is a string constant.
                        string userState = "test message1";
                        oSmtp.SendAsync(oMsg, userState);

                    }
                    else
                    {
                        oSmtp.Send(oMsg);
                    }
                }
                else
                {
                    Microsoft.Practices.EnterpriseLibrary.Logging.Logger.Write("Invalid email address." + aMail.to);
                    return false;
                }
            }
            catch (SmtpException ex)
            {
                Microsoft.Practices.EnterpriseLibrary.Logging.Logger.Write("Exception thrown while sending email. Exception: " + ex.Message);
                return false;
            }
            return true;
        }
示例#42
0
 public void ShowMailDetailInfoLayer(MailData mailData)
 {
     this.mMailDetailInfoLayer.SetMailData(mailData);
     this.mMailDetailInfoLayer.EnableMailDetailInfo(true);
 }
示例#43
0
 public void SetMailRead(MailData mail)
 {
     if (mail == null || mail.Read)
     {
         return;
     }
     mail.Read = true;
     this.mailUpdate = true;
 }
示例#44
0
 private static bool IsDeletedMail(MailData data)
 {
     return data.MailID == 0u;
 }
示例#45
0
        /// <summary>
        /// send batch mail
        /// </summary>
        /// <param name="databaseName">databaseName</param>
        /// <param name="mailData">mailData</param>
        /// <returns></returns>
        public String sendBatchMail(String databaseName, MailData mailData)
        {
            logger.Debug("************send Batch Mail***************");
            String result = OK_RESULT;
            try
            {
                if (String.IsNullOrEmpty(databaseName))
                {
                    return "No database Name";
                }
                if (mailData == null || mailData.ContactJsonList == null || mailData.ContactJsonList.Count <= 0)
                {
                    return "No Contact";
                }
                ContactDatabaseAction contactDatabaseAction = new ContactDatabaseAction(client, userName, password, oWebProxy);
                String contactDatabaseId = contactDatabaseAction.createContactDatabase(databaseName);


                WorkspaceAction workspaceAction = new WorkspaceAction(client, userName, password, oWebProxy);
                String workspaceId = workspaceAction.createWorkspace(contactDatabaseId, databaseName);

                ContactDatabaseFieldAction contactDatabaseFieldAction = new ContactDatabaseFieldAction(client, userName, password, oWebProxy);
                Hashtable ht = contactDatabaseFieldAction.getContactDatabaseFields(contactDatabaseId);

                String toEmailFieldId; //Properties.Settings.Default.toEmailFieldId;// "MTExMzYxMTEfCGWCBaFKyA";
                if (ht[EMAIL] != null)
                {
                    toEmailFieldId = ht[EMAIL].ToString();
                }
                else
                {
                    return "Database:" + databaseName + " is not exist";
                }

                const string pattern = "\\{.+?\\}";
                List<string> tempList = Regex.Matches(mailData.mailBody, pattern).Cast<Match>().Select(a => a.Value).ToList();
                foreach (string str in tempList)
                {
                    mailData.mailBody = mailData.mailBody.Replace(str, str.ToLower());
                }
                //查找<A的html标记,如果里面没有title属性,则增加这个属性.
                mailData.mailBody = Util.addTitleInAFlagHtml(mailData.mailBody);


                String sequence = DateTime.Now.ToString("yyyyMMddhhmmss");
                ContactGroupAction contactGroupAction = new ContactGroupAction(client, userName, password, oWebProxy);

                // ContactGroup[] temp = contactGroupAction.getContactGroup(contactDatabaseId);

                String contactGroupId = contactGroupAction.createContactGroup(contactDatabaseId, "Mail Group" + sequence, "mail_group" + sequence);

                this.importContact(contactDatabaseId, contactGroupId, mailData);

                DirectEmailTypeAction directEmailTypeAction = new DirectEmailTypeAction(client, userName, password, oWebProxy);
                String directEmailTypeId = directEmailTypeAction.createDirectEmailType(workspaceId, "Email Type for" + databaseName, "mail_type_" + databaseName, mailData.fromAddress, mailData.sender, toEmailFieldId);

                DirectEmailAction directEmailAction = new DirectEmailAction(client, userName, password, oWebProxy);
                String directEmailId = directEmailAction.createDirectEmail(directEmailTypeId, "Mail" + sequence, "mail" + sequence, mailData.subject, "Send mail", mailData.sender, mailData.fromAddress, mailData.mailBody);

                PublishingAction publishingAction = new PublishingAction(client, userName, password, oWebProxy);
                String publishId = publishingAction.publishingEmail(contactGroupId, directEmailId, DateTime.Now);

                logger.Debug("publishId=" + publishId);

            }
            catch (Exception ex)
            {
                result = ex.Message;
                logger.Debug("error happen in send mail, error is " + result);

            }
            logger.Debug("************end sendMail ************");
            return result;
        }
示例#46
0
        /// <summary>
        /// Import contact to database
        /// </summary>
        /// <param name="contactDatabaseId">contact database id</param>
        /// <param name="contactGroupId">contact group id</param>
        /// <param name="mailData">mail data</param>
        private String importContact(String contactDatabaseId, String contactGroupId, MailData mailData)
        {
            if (logger.IsDebugEnabled)
            {
                logger.Debug("importContact:contactDatabaseId=" + contactDatabaseId);
            }

             String result = OK_RESULT;
             ContactDatabaseFieldAction contactDatabaseFieldAction = new ContactDatabaseFieldAction(client, userName, password, oWebProxy);
            Hashtable contactFieldTable = contactDatabaseFieldAction.getContactDatabaseFields(contactDatabaseId);

            cn.tripolis.dialogue.import.ImportContactsRequest request = new cn.tripolis.dialogue.import.ImportContactsRequest();
            try
            {
                //Prepare contact CSV
                StringBuilder sb = new StringBuilder();
                //String[] contactFieldNames = null;
                int index = 0;
                foreach (String contactList in mailData.ContactJsonList)
                {
                    String[] contactFields = contactList.Split(',');
                    //init the CSV header
                    if (index == 0)
                    {

                        // contactFieldNames = new String[contactFields.Length];
                        foreach (String field in contactFields)
                        {
                            String fielName = field.Split(new[] { "#" }, StringSplitOptions.None)[0];
                            //add contact filed to table
                            if (contactFieldTable != null && !contactFieldTable.ContainsKey(fielName.ToLower()))
                            {
                                contactDatabaseFieldAction.addContactField(contactDatabaseId, fielName, "");

                            }
                            sb.Append("\"").Append(fielName).Append("\"").Append(";");
                        }
                        sb.Remove(sb.Length - 1, 1);
                        sb.Append("\n");
                    }
                    foreach (String field in contactFields)
                    {

                        sb.Append("\"").Append(field.Split(new[] { "#" }, StringSplitOptions.None)[1]).Append("\"").Append(";");

                    }

                    sb.Remove(sb.Length - 1, 1);

                    sb.Append("\n");
                    index++;
                }

                request.reportReceiverAddress = mailData.replyAddress;
                request.importMode = cn.tripolis.dialogue.import.importMode.SYNCHRONIZE_GROUP;
                request.contactGroupIds = new[] { contactGroupId };
                request.extension = cn.tripolis.dialogue.import.fileExtension.CSV;
                request.fileName = "Contacts.csv";
                request.importFile = System.Text.Encoding.UTF8.GetBytes(sb.ToString());//System.IO.File.ReadAllBytes("../../Contacts_new.csv");
                cn.tripolis.dialogue.import.ImportIDResponse response = importService.importContacts(request);
                result = response.importId;

            }
            catch (System.Web.Services.Protocols.SoapException ex)
            {
                if (logger.IsDebugEnabled)
                {
                    logger.Debug("error happens in get contact database fields, error is" + ex.Detail.InnerXml);
                }
                throw new Exception(ex.Detail.InnerXml);
            }
            return result;
        }
        private Response DataReceived(string data)
        {
            ExpectedTerminator = "\r\n";
            _dataFollows = false;

            _message = new MailData { RawData = data };

            string mailbox = _recipientTo[0];

            if (mailbox.IndexOf('@') >= 0)
            {
                mailbox = mailbox.Substring(0, _recipientTo[0].IndexOf('@'));
            }

            string dir = Path.Combine(".", "mail", mailbox, "tmp");

            if (!Directory.Exists(dir))
                Directory.CreateDirectory(dir);

            var epoch = ((long)(DateTime.UtcNow - new DateTime(1970, 1, 1, 0, 0, 0, DateTimeKind.Utc)).TotalMilliseconds).ToString("D20");

            var tempFileName = Path.Combine(dir, string.Concat(epoch, "-", Guid.NewGuid(), ".txt"));

            using (StreamWriter s = File.CreateText(tempFileName))
            {
                s.Write(_message.RawData);
            }

            dir = Path.Combine(new FileInfo(tempFileName).Directory.Parent.FullName, "new");

            if (!Directory.Exists(dir))
                Directory.CreateDirectory(dir);

            var permFileName = Path.Combine(dir, string.Concat(epoch, "-", Guid.NewGuid(), ".txt"));

            File.Move(tempFileName, permFileName);

            return new Response { Code = "250", Text = "OK" };
        }
示例#48
0
 public void SetMailData(MailData mailData)
 {
     this.mMailData = mailData;
 }