Ejemplo n.º 1
0
        public ApiResponse SendLeadAutoReply(LeadToSendAutoEmailModel data, UserProfile user, string apiKey = "", string tokenJson = "")
        {
            data.MergeVariants();
            //hệ thống
            if (data.SendFromType == 0)
            {
                _replyMail = new MailAddress(data.ReplyTo, data.SendName);
                GmailSvc svc = new GmailSvc(EmailSendType.Lead_AutoReply, _replyMail.DisplayName);
                var      res = svc.SendMail(data.Title, data.BodyHtml, new MailAddress(data.Email, data.FullName), _replyMail);
                return(res);
            }
            else // cá nhân
            {
                data.ToIntegrationEmail();

                Random rnd  = new Random();
                int    idx  = data.FromEmailList.Count > 0? rnd.Next(0, data.FromEmailList.Count - 1):0;
                var    u    = data.FromEmailList[idx];
                var    from = new MailAddress(u.Email, u.Name);

                GmailPersonalSvc svc = new GmailPersonalSvc(apiKey, tokenJson);
                var res = svc.SendMail(data.Title, data.BodyHtml, new MailAddress(data.Email, data.FullName), from);
                if (res.Code != System.Net.HttpStatusCode.OK)
                {
                    string content = $"Kiểm tra lại tích hợp gmail của email {u.Email} trên punnel của bạn còn hiệu lực gửi email không";
                    new EmailUtils(new EmailToModel()
                    {
                        Email     = user.Email,
                        FullName  = user.FullName,
                        AvatarUrl = user.Avatar
                    }).SendNotify_AutoReplyError(content);
                }
                return(res);
            }
        }
Ejemplo n.º 2
0
        public Integration Gmail_Auth(string userId, string email = "", string accId = "")
        {
            Integration      result = new Integration();
            GmailPersonalSvc task   = new GmailPersonalSvc(accId);
            var res = task.Auth();

            if (res.Code == System.Net.HttpStatusCode.OK)
            {
                var token_json = res.Data.ToString();
                //save info
                var info = new Integration()
                {
                    Id                = Guid.NewGuid(),
                    SiteId            = (int)IntegrationType.Gmail,
                    AccId             = email,
                    Email             = email,
                    ApiKey            = accId,
                    UserId            = userId,
                    LastConnectedDate = DateTime.Now,
                    TokenJson         = token_json
                };
                IU(info, userId);
                result = info;
            }
            else
            {
                throw new BusinessException("Không thể kết nối Gmail");
            }
            return(result);
        }
Ejemplo n.º 3
0
        public void Gmail_SendMail(string userId, string accId)
        {
            var apiSite = _dbSet.AsNoTracking().FirstOrDefault(x => x.UserId == userId && x.AccId == accId);

            if (apiSite == null)
            {
                return;
            }

            GmailPersonalSvc task = new GmailPersonalSvc(apiSite.ApiKey, apiSite.TokenJson);
            //var res = task.SendMail("test email gmail api", "chao lam, test thu xem sao nhe",new System.Net.Mail.MailAddress("*****@*****.**","Lam Nguyen"), new System.Net.Mail.MailAddress(apiSite.Email, "Hung Lam"));
            //if(res.Code!= System.Net.HttpStatusCode.OK)
            //{
            //    throw new BusinessException(res.Message);
            //}
        }